当前位置: 首页 > 面试题库 >

如何使OpenVPN与Docker配合使用

傅树
2023-03-14
问题内容

我最近安装了隐私vpn,事实证明启用的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具有以下版本字符串

 OpenVPN 2.3.4 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Jun 26 2017

很多人通过禁用openvpn来“解决”此问题,因此我专门询问如何使这两个工具同时工作。

如果这有什么不同,我的vpn提供程序是:https :
//www.ovpn.com/,这里是(有些编辑)配置文件:

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

问题答案:

创建/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

通过以下两行将其添加到您的配置中:

 script-security 2
 route-up  /etc/openvpn/fix-routes.sh

说明

Openvpn添加了以下网络的路由:0.0.0.0/1128.0.0.0/1(这些路由覆盖整个IP范围),而docker无法找到IP地址范围来创建自己的专用网络。

您需要添加默认路由(通过openvpn路由所有路由)并禁用这两个特定路由。fix-routes脚本可以做到这一点。

openvpn添加自己的路由后,将调用此脚本。要执行脚本,您需要设置script-security2允许从openvpn上下文执行bash脚本。

谢谢

我要感谢github上此评论的作者,也感谢ovpn的支持。



 类似资料:
  • 我最近安装了privacy vpn,结果发现启用的openvpn会破坏Docker。 当我尝试运行时,我得到以下错误 禁用vpn可以解决这个问题(不过,我宁愿不禁用它)。有没有办法使这两者和平共处?我使用debian jessie,我的openvpn有以下版本字符串 null

  • 我正在尝试使JavaFX与VSCODE一起使用,但是遇到了此错误; 我安装了最新的 java“openjdk 17.0.1 2021-10-19”,并且使用的是最新的 javaFx17.0.1。我添加了所有引用库并添加了 vmArgs 路径文件。 我使用的是基本型号macbookpro m1。 这是我的vmArgs路径: 这是javafx lib文件夹中的内容:

  • 我无法将Tosca扩展用于Chrome。当我安装扩展并尝试使用Tosca运行扫描时,它会显示以下消息 当我按下Yes(是)按钮时,它显示以下错误 无法解决此问题。此外,扩展从浏览器中消失,我不得不再次安装它。 谢啦

  • 我正在使用Jersey Guice,需要配置一个自定义的< code>ExceptionMapper 我的模块看起来像这样: 这是我的:

  • 如何让Maven插件与Sonar Scanner配合使用? 我正在RHEL 7.5上运行以下程序: 纱线版本:Hadoop 3.1.0 mvn——版本:ApacheMaven 3.5.3 SonarQube 7.1 节点-v:v9。5 npm-v:5.6.0 我带着pom去这个目录。xml文件:/opt/sonaqube/web/META-INF/maven/org。声纳来源。声纳网络 我运行以下

  • 我用Docker(使用Laradock)创建了一个全新的数字海洋服务器,使我的Laravel网站运行良好。 现在,我想使用Deployer自动化部署。 我想我唯一的问题是我不能让Deployer运行