k8s-部署-16-flannel之SNAT规则优化
1、备注安装部署完flannel之后需要优化SNAT规则
1.1、安装iptables并开机自启动
~]# yum install iptables-services -y
~]# systemctl start iptables
~]# systemctl enable iptables
1.2、查看postrouting的规则
~]# iptables-save | grep -i postrouting
1.3、删除运算节点上相应的SNAT规则,并添加相应的规则
# 删除172.7.14.0/24 为此主机上运行的pod网段
~]# iptables -t nat -D POSTROUTING -s 172.7.14.0/24 ! -o docker0 -j MASQUERADE
# 添加172.7.14.0/24 为此主机上运行的pod网段
iptables -t nat -I POSTROUTING -s 172.7.14.0/24 ! -d 172.7.0.0/16 ! -o docker0 -j MASQUERADE
# 上述规则的意思是:10.4.7.21主机上,来源是172.7.14.0/24段的docker的ip,目标ip不是172.7.0.0/16段,网络发包不从docker0桥设备上出站的,才进行SNAT转换,pod之间看到的是真实的pod ip
# 查看相应的规则
~]# iptables-save |grep -i postrouting
# 保存相应的规则
~]# iptables-save > /etc/sysconfig/iptables
~]# service iptables saved # 建议使用这个命令来保存iptables 的规则
1.4、删除 filter表上的两个规则
# 查看reject 表上的规则
~]# iptables-save | grep -i reject
# 删除相应的规则
~]# iptables -t filter -D INPUT -j REJECT --reject-with icmp-host-prohibited
~]# iptables -t filter -D FORWARD -j REJECT --reject-with icmp-host-prohibited
~]# iptables-save > /etc/sysconfig/iptables
~]# service iptables save