一、法兰绒之SNAT规划优化作用
<代码>解决两宿主机容器之间的透明访问,如不进行优化,容器之间的访问,日志记录为宿主机的IP地址。代码>
1,宿主机访问172.7.22.2的nginx容器情况h5>
2172 .7.22.2查看nginx访问日志h5>
3,进入172.7.21.2的容器访问172.7.22.2的nginx容器,查看日志h5>
4,再次查看172.7.22.2的nginx访问日志h5>
5,解决问题:当容器172.7.21.2访问172.7.22.2的nginx容器时,展示的日志应为172.7.21.2 h5> 二,解决方法
<代码> 1,安装iptables-services组件
(root@test-nodes1 ~) # yum - y iptables-services安装
(root@test-nodes1 ~) # systemctl iptables开始
(root@test-nodes1 ~) # systemctl启用iptables
从/etc/systemd/system/basic.target.wants/iptables创建符号链接。/usr/lib/systemd/system/iptables.service服务。
-----------------------------------------------------------------------------------------------
2,把以下iptable记录的伪装转向删除
(root@test-nodes1 ~) # iptables-save | grep - i postrouting)
:POSTROUTING接受[68:4098]
:KUBE-POSTROUTING -(0时)
——POSTROUTING - m的评论——“kubernetes POSTROUTING)规则”- j KUBE-POSTROUTING置评
——POSTROUTING - s 172.7.21.0/24 !- o docker0 - j化装#删除此条
——KUBE-POSTROUTING - m评论,评论“kubernetes服务交通要求SNAT”马克,马克0 x4000/0x4000 - m - j化妆舞会
-----------------------------------------------------------------------------------------------
3,删除该记录
(root@test-nodes1 ~) # iptables - t nat - d POSTROUTING - s 172.7.21.0/24 !- o docker0 - j化妆舞会
-----------------------------------------------------------------------------------------------
4、插入一条新的记录(排除对172.7.0.0/16网络访问的伪装)
(root@test-nodes1 ~) # iptables - t nat -我POSTROUTING - s 172.7.21.0/24 !- d 172.7.0.0/16 !- o docker0 - j化妆舞会
-----------------------------------------------------------------------------------------------
5、查看是否生效
(root@test-nodes1 ~) # iptables-save | grep - i postrouting)
:POSTROUTING接受[13:814]
:KUBE-POSTROUTING -(0时)
——POSTROUTING - s 172.7.21.0/24 !- d 172.7.0.0/16 !- o docker0 - j化妆舞会
——POSTROUTING - m的评论——“kubernetes POSTROUTING)规则”- j KUBE-POSTROUTING置评
——KUBE-POSTROUTING - m评论,评论“kubernetes服务交通要求SNAT”马克,马克0 x4000/0x4000 - m - j化妆舞会
-----------------------------------------------------------------------------------------------
6,删除iptables上所有拒绝拒绝规则
(root@test-nodes1 ~) # iptables-save | grep -我拒绝
——输入- j拒绝——reject-with icmp-host-prohibited
——向前- j拒绝——reject-with icmp-host-prohibited
(root@test-nodes1 ~) # iptables - d - t过滤器输入- j拒绝——reject-with icmp-host-prohibited
(root@test-nodes1 ~) # iptables - t向前过滤器- d - j拒绝——reject-with icmp-host-prohibited
(root@test-nodes1 ~) # iptables-save | grep -我拒绝
-----------------------------------------------------------------------------------------------
7日,保存iptables规则
(root@test-nodes1 ~) # iptables-save比;/etc/sysconfig/iptables
代码>
三、验证结果
1,通过容器172.7.21.2访问172.7.22.2 h5>
2,查看172.7.22.2的容器日志h5>