修复云网线bug

事实上, 我在将昨天研制的云网线部署到服务器上后, 发现服务器的网桥在转发带有IP分组的以太网帧时, 有时会将这些IP分组的源地址修改为服务器的IP地址。经过反复实验, 我发现这些带有IP分组的以太网帧确实匹配到了iptables的某个MASQUERADE规则。后经查阅资料, 我了解到, 内核在加载了br_netfilter模块后, 确实会在转发网桥中的以太网帧时也匹配iptables, 可能是服务器上别的服务需要。在我的使用场景下, 我需要关闭这个功能, 可以通过如下方式来实现, 特此记录:

可以通过修改sysctl.conf来关闭, 但会影响服务器其他服务:

net.bridge.bridge-nf-call-arptables=0
net.bridge.bridge-nf-call-ip6tables=0
net.bridge.bridge-nf-call-iptables=0

也可以通过给iptablesip6tables增加如下规则来实现:

-t raw -A PREROUTING -i 网桥设备名称 -j NOTRACK
-t nat -A PREROUTING -i 网桥设备名称 -j RETURN
-t nat -A POSTROUTING -o 网桥设备名称 -j RETURN

发表评论

注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)

本文链接:https://twd2.me/archives/17400QrCode