首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带iptable的双向转发桥

带iptable的双向转发桥
EN

Unix & Linux用户
提问于 2019-11-27 05:24:25
回答 2查看 3.8K关注 0票数 1

我有linux盒。它有两个接口(eth0,eth1)。

eth0是向上的,eth1是向下的连接。

eth0,eth1连接每个开关(S/W0,s/w1)。

s/w0正在上网,s/w1与一台笔记本电脑相连。

我要eth0,eth1双向转发,就像桥一样。

但不使用brctl,只使用iptables。

因此,如果iptables规则集是正确的,那么笔记本电脑应该启用互联网。

我试过这个规则,但没用。

代码语言:javascript
运行
复制
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

我很感谢你的帮助。

编辑。

我的网络如下所示。

代码语言:javascript
运行
复制
internet - router - switch0 - eth0:linuxBox:eth1 - switch1 - laptop 

如下图所示,使用brctl制作桥时,膝上型计算机可以使用互联网。

代码语言:javascript
运行
复制
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
brctl stp br0 off
ifconfig br0 up

我的目标是使iptable规则取代brctl。

EN

回答 2

Unix & Linux用户

发布于 2019-11-27 07:19:21

你应该指定你想要的。网桥不需要NAT,而Internet不像以太网那样工作。

如果您希望有一个带有Nat的internet网关,并根据您的Linux路由表转发您的包,那么您的iptables路由看起来很好。您只需要确保在该机器上启用IP转发,并且笔记本电脑的默认网关设置为linux的eth1地址。

所以在你更新之后:你不需要一座桥。网关就足够了。

  1. 确保linux的接口位于不同的子网中。或者,在它的路由表中确保它通过网关internet路由器在eth0上拥有默认路由,并且本地网络的其他流量(例如,您的笔记本电脑在其中)是用eth1发送的。

2 .在笔记本电脑上进行静态IP配置,其IP位于与eth1相同的网络中,默认路由器设置为接口地址(如果为eth1 )。或者在Linux机器上配置一个dhcp服务器。

  1. 确保在您的Linux机器上启用了IP转发。
票数 1
EN

Unix & Linux用户

发布于 2019-11-27 08:46:45

你可以试试

代码语言:javascript
运行
复制
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表规则。

代码语言:javascript
运行
复制
iptables-save
iptables-save > /etc/sysconfig/iptables
systemctl restart iptables.service

然后打开iptables文件并编辑规则,将这些规则移动到拒绝规则之上

代码语言:javascript
运行
复制
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
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/554349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档