SNAT的作用是什么?怎么解决nginx容器的访问问题
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,SNAT的作用是什么?怎么解决nginx容器的访问问题?这些问题可能是我们日常工作会见到的。通过这些问题,希望你能收获更多。下面是揭开这些问题的详细内容。一、SNAT规划优化作用解决两宿主机容器之间的
千家信息网最后更新 2025年02月03日SNAT的作用是什么?怎么解决nginx容器的访问问题
SNAT的作用是什么?怎么解决nginx容器的访问问题?这些问题可能是我们日常工作会见到的。通过这些问题,希望你能收获更多。下面是揭开这些问题的详细内容。
一、SNAT规划优化作用
解决两宿主机容器之间的透明访问,如不进行优化,容器之间的访问,日志记录为宿主机的IP地址。
1、宿主机访问172.7.22.2的nginx容器情况
2、172.7.22.2查看nginx访问日志
3、进入172.7.21.2的容器访问172.7.22.2的nginx容器,查看日志
4、再次查看172.7.22.2的nginx访问日志
5、解决问题:当容器172.7.21.2访问172.7.22.2的nginx容器时,展示的日志应为172.7.21.2
二、解决方法
1、安装iptables-services组件[root@test-nodes1 ~]# yum -y install iptables-services[root@test-nodes1 ~]# systemctl start iptables[root@test-nodes1 ~]# systemctl enable iptablesCreated symlink from /etc/systemd/system/basic.target.wants/iptables.service to /usr/lib/systemd/system/iptables.service.-----------------------------------------------------------------------------------------------2、把以下iptable记录的伪装转向删除[root@test-nodes1 ~]# iptables-save |grep -i postrouting:POSTROUTING ACCEPT [68:4098]:KUBE-POSTROUTING - [0:0]-A POSTROUTING -m comment --comment "kubernetes postrouting rules" -j KUBE-POSTROUTING-A POSTROUTING -s 172.7.21.0/24 ! -o docker0 -j MASQUERADE #删除此条-A KUBE-POSTROUTING -m comment --comment "kubernetes service traffic requiring SNAT" -m mark --mark 0x4000/0x4000 -j MASQUERADE-----------------------------------------------------------------------------------------------3、删除该记录[root@test-nodes1 ~]# iptables -t nat -D POSTROUTING -s 172.7.21.0/24 ! -o docker0 -j MASQUERADE-----------------------------------------------------------------------------------------------4、插入一条新的记录(排除对172.7.0.0/16网络访问的伪装)[root@test-nodes1 ~]# iptables -t nat -I POSTROUTING -s 172.7.21.0/24 ! -d 172.7.0.0/16 ! -o docker0 -j MASQUERADE-----------------------------------------------------------------------------------------------5、查看是否生效[root@test-nodes1 ~]# iptables-save |grep -i postrouting:POSTROUTING ACCEPT [13:814]:KUBE-POSTROUTING - [0:0]-A POSTROUTING -s 172.7.21.0/24 ! -d 172.7.0.0/16 ! -o docker0 -j MASQUERADE-A POSTROUTING -m comment --comment "kubernetes postrouting rules" -j KUBE-POSTROUTING-A KUBE-POSTROUTING -m comment --comment "kubernetes service traffic requiring SNAT" -m mark --mark 0x4000/0x4000 -j MASQUERADE-----------------------------------------------------------------------------------------------6、删除iptables上所有reject拒绝规则[root@test-nodes1 ~]# iptables-save | grep -i reject-A INPUT -j REJECT --reject-with icmp-host-prohibited-A FORWARD -j REJECT --reject-with icmp-host-prohibited[root@test-nodes1 ~]# iptables -t filter -D INPUT -j REJECT --reject-with icmp-host-prohibited[root@test-nodes1 ~]# iptables -t filter -D FORWARD -j REJECT --reject-with icmp-host-prohibited[root@test-nodes1 ~]# iptables-save | grep -i reject-----------------------------------------------------------------------------------------------7、保存iptables规则[root@test-nodes1 ~]# iptables-save > /etc/sysconfig/iptables
三、验证结果
1、通过容器172.7.21.2访问172.7.22.2
2、查看172.7.22.2的容器日志
备注:test-nodes需要有相同的操作
上文描述的就是SNAT的使用以及访问nginx容器报错的解决问题,具体使用情况还需要大家自己动手实验使用过才能领会。如果想了解更多相关内容,欢迎关注行业资讯频道!
容器
问题
日志
宿主
宿主机
作用
之间
内容
情况
更多
规则
相同
上文
再次
地址
备注
就是
工作会
方法
组件
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
金风科技软件开发助理工程师薪酬
网络安全技术防护工作总结
数据库查询招收学生的学院
嘉兴工控软件开发
阿里液冷服务器供货商
建快递单数据库表
语音网络技术
生物识别算网络安全吗
网络安全教育竞赛
为什么金融公司有服务器
mysql数据库共享
企业的网络安全培训
使用数据库和使用文件缓存的区别
jsp 点单导入数据库
数据库功能选择哪些
吉林省翰霖网络技术公司
王者荣耀服务器炸裂各主播回放
珠海软件开发公司排行榜
网络安全合肥学校
开通会员连接不上苹果x服务器
tomcat8连接数据库
.net 数据库连接文件
保存股票数据到数据库
深圳市百安居互联网科技
移动分销软件开发
海图数据库建设
服务器管理员怎么解除
数据库如何创建关联表
软件开发在国际上什么水平
北京三七零网络技术有限公司