如何设置docker squid容器和主机以将请求从容器主机路由到Internet?

问题描述 投票:0回答:1

现在,我有一个运行鱿鱼的Docker容器正在侦听一系列端口。我使用以下命令运行它,以便将端口范围也发布到主机。

docker run -ti -v /var/log/squid:/var/log/squid -p 3133-3168:3133-3168 my_image/squid_test4 -name squid

我正在尝试进行设置,以便客户端可以在上述端口范围内的端口上访问容器主机,并且仍然可以访问Internet。

从容器主机,我可以运行curl -x http://172.17.x.x:3134 http://ipinfo.io并毫无问题。每当我尝试在客户端上使用主机ip(即curl -x http://host_ip:3134 http://ipinfo.io)时,它就会挂起并超时。我可以看到该请求通过tcpdump到达了主机,但未返回任何内容。

[当我在主机上运行netstat -tlpn时,我会看到条目说docker正在侦听我指定的端口范围。当我在客户端上执行telnet host_ip 3134之类的操作时,它会连接并告诉我那里正在监听。

我需要在主机上设置iptables PREROUTE NAT来将流量转发到那些端口,还是可以在主机上使用类似HA代理的功能并将鱿鱼容器设置为后端?有点卡在这里...

docker networking proxy squid
1个回答
0
投票

啊,简单检查,发现iptables / ufw没有运行。但是,当我执行iptables -Liptables-save时,它们会显示当前的内存规则。现在重新启动UFW一切都很好...现在我感觉很蠢。

© www.soinside.com 2019 - 2024. All rights reserved.