我陷入了一个问题,我找不到解决scheme。 我有两个网卡的Linux电脑。 第一个nic(eth1)连接到公共ip(可能是switch或者其他东西,并不是真正主要的),所以eth1连接到wan,而另一个eth0连接到交换机并使其成为lan。 组态:
eth1 ip地址88.200.1xx.xxx // xxx是安全原因eth0 ip地址192.168.1.1
wan ——> [eth1(linux PC)eth0] <—-> [switch] <—-> [eth1(PC1)]
现在我想连接这两个networking,所以PC1可以访问Linux PC和WAN。 我想我知道该怎么做,但是我不能把它弄清楚。 这是我试过的:
我该怎么做,我正在尝试使用Linux路由命令,但是我被卡住了。 请帮忙。
如果在Linux上有两个网卡,两个网卡都configuration了IP,则不需要添加从一个networking到另一个networking的路由。 这将自动完成。
在WAN NIC上添加默认网关地址。 不要在LAN NIC的configuration中这样做。
然后在内核中启用转发:
echo 1 >> /proc/sys/net/ipv4/ip_forward
要使其在启动时自动设置此值,请在/etc/sysctl.conf取消注释此行
#net.ipv4.ip_forward=1
然后在iptables中设置一些规则来执行NAT和转发:
# Always accept loopback traffic iptables -A INPUT -i lo -j ACCEPT # We allow traffic from the LAN side iptables -A INPUT -i eth0 -j ACCEPT ###################################################################### # # ROUTING # ###################################################################### # eth0 is LAN # eth1 is WAN # Allow established connections iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # Masquerade. iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE # fowarding iptables -A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT # Allow outgoing connections from the LAN side. iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
应该这样做。
您只能有一个默认网关,所以只能设置一个。
要通过其他接口路由stream量,您需要设置持久静态路由并将其绑定到该接口。