繁体   English   中英

我可以使用“ iptables”获取真实的用户ip:启用false吗?

[英]Can I obtain real user ip with “iptables”: false enabled?

我在docker daemon配置中使用了"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更改。

是否可以使用"iptables": false获取真实的用户ip "iptables": false在Docker守护程序配置中为"iptables": false

请查看Docker创建的不带"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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2023 STACKOOM.COM