如何使openvpn与docker工作
我最近安装了隐私VPN,事实certificate,启用openvpn打破docker。
当我尝试运行docker-compose up
以下错误
ERROR: could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network
禁用vpn修复了这个问题(但是我宁愿不禁用它)。 有没有办法让这两个和平共处? 我使用debian jessie,我的openvpn有以下版本的string
OpenVPN 2.3.4 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Jun 26 2017
很多人通过禁用openvpn来“解决”这个问题,所以我特别要求如何让这两个工作同时进行。
参考文献:
- https://stackoverflow.com/a/45377351/7918
- https://stackoverflow.com/a/42499393/7918
如果这有什么区别,我的VPN提供商是: https : //www.ovpn.com/这里是(有点编辑)configuration文件:
client dev tun proto udp remote host port remote-random mute-replay-warnings replay-window 256 push "dhcp-option DNS 46.227.67.134" push "dhcp-option DNS 192.165.9.158" remote-cert-tls server cipher aes-256-cbc pull nobind reneg-sec 432000 resolv-retry infinite comp-lzo verb 1 persist-key persist-tun auth-user-pass /etc/openvpn/credentials ca ovpn-ca.crt tls-auth ovpn-tls.key 1
解决scheme(TL; DR;)
使用以下内容创build/etc/openvpn/fix-routes.sh
脚本:
#!/bin/sh echo "Adding default route to $route_vpn_gateway with /0 mask..." ip route add default via $route_vpn_gateway echo "Removing /1 routes..." ip route del 0.0.0.0/1 via $route_vpn_gateway ip route del 128.0.0.0/1 via $route_vpn_gateway
将可执行位添加到文件: chmod o+x /etc/openvpn/fix-routes.sh
。 将此文件的所有者更改为root: chown root:root /etc/openvpn/fix-routes.sh
。
添加到您的configuration下面两行:
script-security 2 route-up /etc/openvpn/fix-routes.sh
说明
Openvpn为以下networking添加路由: 0.0.0.0/1
和128.0.0.0/1
(这些路由覆盖整个IP范围),而且128.0.0.0/1
无法findIP地址范围来创build自己的专用networking。
您需要添加一条默认路由(通过openvpn路由所有路由)并禁用这两条特定路由。 fix-routes
脚本做到这一点。
这个脚本是在openvpn添加自己的路由之后调用的。 要执行脚本,您需要将script-security
设置为2
,从而允许从openvpn上下文执行bash脚本。
谢谢
我想感谢github上这个评论的作者 ,也感谢ovpn的支持 。
- Tomcat 7在Debian启动时失败,但继续在后台工作
- 在Docker容器中的Cronjobs如何让他们运行?
- docker服务启动永远在Debian上激活
- 在docker中不能启动tomcat:“权限被拒绝”
- 在Debian上的Docker错误FATA
- Terraform,Docker,Debian 8
- W:文件大小/var/lib/apt/lists/http.debian.net_debian_dists_jessie_main_binary-amd64_Packages.gz不是服务器报告的内容9101219 9117278
- 如何在Docker中为debian创build声音设备?
- 更改了docker映像安装目录,但提示错误“无法打开文件夹…没有应用程序注册为处理此文件”错误