我可以通过“iptables”获取真实的用户IP:false是否启用?
我用户"iptables": false
泊坞合守护进程configuration中的"iptables": false
选项:
/etc/docker/daemon.json: { "iptables": false }
我用选项运行服务--publish mode=host
, --mode=global
--publish mode=host
--mode=global
类似于这种方法 。
但是,当我在我的应用程序中获得X-Real-IP
头时,它的值是172.18.0.1
但不是真正的用户IP。
当我启动没有"iptables": false
Docker守护进程时"iptables": false
/etc/docker/daemon.json
"iptables": false
都工作正常,我得到真正的用户IP。
但是我需要设置"iptables": false
以保留Docker对iptables的更改。
是否有可能获得真正的用户IP与"iptables": false
在Docker守护进程configuration"iptables": false
?
请参阅Docker在没有"iptables": true
情况下创build的规则"iptables": true
并将其复制为"iptables": false
(这是默认值)。
这些规则尤其需要伪装IP:
iptables -t nat -A POSTROUTING -m addrtype --src-type LOCAL -o docker0 -j MASQUERADE
iptables -t nat -s 172.18.0.0/16 ! -o docker0 -j MASQUERADE