SNAT的作用是什么?怎么解决nginx容器的访问问题

  

SNAT的作用是什么?怎么解决nginx容器的访问问题?这些问题可能是我们日常工作会见到的。通过这些问题,希望你能收获更多。下面是揭开这些问题的详细内容。

一、SNAT规划优化作用

 <代码>解决两宿主机容器之间的透明访问,如不进行优化,容器之间的访问,日志记录为宿主机的IP地址。 
1,宿主机访问172.7.22.2的nginx容器情况

 SNAT的作用是什么?怎么解决nginx容器的访问问题

2172 .7.22.2查看nginx访问日志

 SNAT的作用是什么?怎么解决nginx容器的访问问题

3,进入172.7.21.2的容器访问172.7.22.2的nginx容器,查看日志

 SNAT的作用是什么?怎么解决nginx容器的访问问题

4,再次查看172.7.22.2的nginx访问日志

 SNAT的作用是什么?怎么解决nginx容器的访问问题

5,解决问题:当容器172.7.21.2访问172.7.22.2的nginx容器时,展示的日志应为172.7.21.2

二,解决方法

 <代码> 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 rules"- j KUBE-POSTROUTING
  ——POSTROUTING - s 172.7.21.0/24 !- o docker0 - j化妆舞会,,,#删除此条
  ——KUBE-POSTROUTING - m评论,评论“kubernetes服务交通要求SNAT"- m马克,马克0 x4000/0x4000 - 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 rules"- j KUBE-POSTROUTING
  ——KUBE-POSTROUTING - m评论,评论“kubernetes服务交通要求SNAT"- m马克,马克0 x4000/0x4000 - 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

 SNAT的作用是什么?怎么解决nginx容器的访问问题

2,查看172.7.22.2的容器日志

 SNAT的作用是什么?怎么解决nginx容器的访问问题

备注:test-nodes需要有相同的操作

上文描述的就是SNAT的使用以及访问nginx容器报错的解决问题,具体使用情况还需要大家自己动手实验使用过才能领会。如果想了解更多相关内容,欢迎关注行业资讯频道!

SNAT的作用是什么?怎么解决nginx容器的访问问题