linux - Docker 在管理员添加的规则之上插入 iptable 后路由规则
问题描述
我必须在 NAT 表 POSTROUTING 链中添加一些 iptable 条目,以允许 docker 容器通过主机(to_source)的不同源地址/源接口访问互联网。
一切正常。
前任:
target prot opt source destination
SNAT all -- 100.100.8.0/22 10.1.2.3 to:100.64.0.5
但是,当 docker 服务重新启动时,它会在我的条目顶部插入 MASQUERADE 规则,因此我上面的修复被屏蔽了。Docker 容器现在无法访问互联网。
前任:
target prot opt source destination
MASQUERADE all -- 100.100.8.0/22 0.0.0.0/0
SNAT all -- 100.100.8.0/22 10.1.2.3 to:100.64.0.5
无论如何,即使在 docker 重新启动后,我的 POSTROUTING 规则也始终保持在链的顶端?
解决方案
您可以添加--iptables=false
到您的 docker 守护程序启动选项,以阻止它对 iptables 规则进行更改。
参考: https ://docs.docker.com/engine/reference/commandline/dockerd/
推荐阅读
- go - 拆分后如何将数组转换为嵌套的json对象
- sql-server - 为什么 SQL Server 代理作业无休止地运行?
- python-3.x - 创建 json 有效负载的更好方法
- angularjs - 我们如何在隔离范围函数中传递变量
- java - Firebase:使用 google 登录的当前用户的 updatePhoneNumber
- jenkins - jenkins 多分支管道中的分支索引触发额外构建,该构建已由 poll SCM 构建
- python - python检查字符串是否仅来自盐字符
- java - 自定义最大化、最小化按钮
- angular - carouselExampleIndicators 角度 4 中的错误
- linux - 在 linux shell 脚本中传递参数和使用命名参数时避免位置引用