关于 centos 7系统,iptables透明网桥实现
首先建立网桥:(使用bridge) 示例 桥接eth0 与 eth1 网口
/sbin/modprobe bridge /usr/sbin/brctl addbr br0 /sbin/ifup eth0 /sbin/ifup eth1 /usr/sbin/brctl addif br0 eth0 /usr/sbin/brctl addif br0 eth1 /sbin/ip link set br0 up
桥接成功后需要DROP掉iptables的FORWARD链:
使用命令:
iptables -P FORWARD DROP
由于网桥工作于数据链路层,在iptables没有开启 bridge-nf时,数据会直接经过网桥转发,结果就是对FORWARD的设置失效;
centos默认不开启 bridge-nf
启动bridge-nf方式:编辑文件vim /etc/sysctl.conf 添加:
net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-arptables = 1
进行该配置后,执行命令
/sbin/sysctl -p
iptables对于网桥的操作开始生效。