New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
V2ray透明代理主机上部署docker,容器无法访问网络的问题 #71
Comments
那试试通过 iptabels 将 172.17.0.0/24 RETURN 怎么样。 |
这个问题我暂时找到如下解决方案:主要问题发生在配置了旁路由的情况。比如主路由地址是192.168.1.1,旁路由地址是198.168.1.2。一般旁路由的网关会设置成主路由的192.168.1.1。为保证旁路有中的docker能访问外网那么就需要加入如下规则到V2RAY的chain中 |
后续跟进研究了一下:一般是把网络上机器的网关设置成装了v2ray的旁路由ip就可以了。而旁路由上若运行了docker,则这个docker自己就创建了一个172.18.0.0的桥接网络,所有docker app都挂在这个桥接网络上,可以理解成运行在网络上的独立一群机器。所以,只要保证docker中的app的网关指向旁路由的ip既可以解决问题。但事实上所有docker app的网关均为旁路由自己设定的主路由的ip。现在要做的,就是想办法把docker桥接网的默认网关换成旁路有自己的ip就可以了。暂时还没找到解决办法,后续跟进 |
@shaohao |
这个我没想到过啊。。。有时间回去试一下。我正好也是旁路有docker遇到这样的问题。 |
今天把docker应用和v2ray运行在同一台机器(或虚拟机)的问题彻底解决了。 |
iptables -t mangle -A V2RAY -s 172.17.0.0/16 -j RETURN |
由于此教程里用v2ray实现透明代理的配置是我遇到过的最全面最详细的,所以在此再发一个issue。
大家都知道docker非常流行且实用,在运行v2ray透明代理的linux主机上部署几个docker愿望是不可避免的。
然而,实现起来却困难重重。
我相信其他人也遇到过这种情况,问题表现在:
透明代理正常运行,局域网里的设备可访问docker容器,但是docker容器无法访问外网。
我是在用docker部署RSSHub时遇到此问题。
我觉得问题出在
ip route add local 0.0.0.0/0 dev lo table 100
及
iptables的V2RAY_MASK链上,
docker使用172.17.0.0/24,貌似会在loop里死循环。
The text was updated successfully, but these errors were encountered: