我有linux盒。它有两个接口(eth0,eth1)。
eth0是向上的,eth1是向下的连接。
eth0,eth1连接每个开关(S/W0,s/w1)。
s/w0正在上网,s/w1与一台笔记本电脑相连。
我要eth0,eth1双向转发,就像桥一样。
但不使用brctl,只使用iptables。
因此,如果iptables规则集是正确的,那么笔记本电脑应该启用互联网。
我试过这个规则,但没用。
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
我很感谢你的帮助。
编辑。
我的网络如下所示。
internet - router - switch0 - eth0:linuxBox:eth1 - switch1 - laptop
如下图所示,使用brctl制作桥时,膝上型计算机可以使用互联网。
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
brctl stp br0 off
ifconfig br0 up
我的目标是使iptable规则取代brctl。
发布于 2019-11-27 07:19:21
你应该指定你想要的。网桥不需要NAT,而Internet不像以太网那样工作。
如果您希望有一个带有Nat的internet网关,并根据您的Linux路由表转发您的包,那么您的iptables路由看起来很好。您只需要确保在该机器上启用IP转发,并且笔记本电脑的默认网关设置为linux的eth1地址。
所以在你更新之后:你不需要一座桥。网关就足够了。
2 .在笔记本电脑上进行静态IP配置,其IP位于与eth1相同的网络中,默认路由器设置为接口地址(如果为eth1 )。或者在Linux机器上配置一个dhcp服务器。
发布于 2019-11-27 08:46:45
你可以试试
iptables –t nat –A POSTROUTING –o eth0 –j MASQUERADE
iptables –A FORWARD –i eth0 –o eth1 –m state --state RELATED,ESTABLISHED –j ACCEPT
iptables –A FORWARD –i eth1 –o eth0 –j ACCEPT
然后保存ip表规则。
iptables-save
iptables-save > /etc/sysconfig/iptables
systemctl restart iptables.service
然后打开iptables文件并编辑规则,将这些规则移动到拒绝规则之上
iptables –A FORWARD –i eth0 –o eth1 –m state --state RELATED,ESTABLISHED –j ACCEPT
iptables –A FORWARD –i eth1 –o eth0 –j ACCEPT
A FORWARD -o vibr0 -j REJECT --reject-with icmp-port-unreachable
A FORWARD -i vibr0 -j REJECT --reject-with icmp-port-unreachable
https://unix.stackexchange.com/questions/554349
复制相似问题