标签: openvpn

ssh 进入连接到 VPN 服务的服务器

我有一个虚拟专用服务器,我想在我的服务器连接到 VPN 服务时运行网络服务器

当与我的提供商的 VPN 连接未启动时,我可以使用此服务器、ssh、scp、http 等做任何我想做的事情。

一旦 openvpn 运行并连接到提供商的 VPN 服务,服务器就无法通过任何方式访问,当然这是有充分理由的

图片是这样的:

           My VPS                             ------------
         +----------------+                  /            \
         |                |                 /   Internet  /       101.11.12.13
         |        50.1.2.3|-----------------\   cloud    /----<--- me@myhome
         |                |                  /           \
         |     10.80.70.60|                 /             \
         +----------------+                 \              \
                        :                    \_____________/
                        :                           :
                        :                           :
                        :                           :
                        :                           :
                  +------------------+              :
                  |     10.80.70.61  |              :
                  |               \  |              :
                  |                \ |              :
                  | 175.41.42.43:1197|..............:
                  |   175.41.42.43:yy|   
                  |       .....      |
                  |   175.41.42.43:xx|
                  +------------------+



Legend                  
------ Line No VPN …
Run Code Online (Sandbox Code Playgroud)

ssh ssh-tunneling openvpn tunneling

37
推荐指数
2
解决办法
6万
查看次数

如何拒绝 OpenVPN 服务器推送的路由?

当我通过 Internet 建立到我们公司 OpenVPN 服务器的 OpenVPN 客户端连接时,它会推送几个静态路由。不幸的是,这些路由在我的本地网络环境中破坏了一些连接,因为它们与我自己的路由相冲突。我如何拒绝这些路线?

networking routing openvpn

35
推荐指数
2
解决办法
5万
查看次数

将 OpenVPN 与 systemd 结合使用

好的,所以我一直在网上搜索此问题的解决方案,但似乎没有任何答案对我有用。希望有人可以帮助我。我只是想配置 OpenVPN 客户端。

我正在跑步CrunchBang Linux 3.2.0-4-amd64 Debian 3.2.60-1+deb7u1 x86_64 GNU/Linux,我刚刚切换到使用systemd. 转换进行得足够顺利,但现在我无法使用 systemd 启动我的 OpenVPN 客户端,我尝试按照这些配置教程进行操作,但没有任何效果。

我可以从命令行使用openvpn /etc/openvpn/vpn.conf. 所以我知道配置文件很好,它与 sysvinit 一起工作得很好,所以我并不感到惊讶。然后我尝试只做一个状态,systemctl status openvpn@vpn.service结果是:

$ sudo systemctl status openvpn@vpn.service
  openvpn@vpn.service
Loaded: error (Reason: No such file or directory)
Active: inactive (dead)
Run Code Online (Sandbox Code Playgroud)

我意识到我需要为服务做一些设置。我想被提示输入密码,所以我按照本指南创建了一个openvpn@.servicein /etc/systemd/system/. 但是重新启动 OpenVPN 服务仍然不会提示输入密码。

$ sudo service openvpn restart
[ ok ] Restarting openvpn (via systemctl): openvpn.service.
Run Code Online (Sandbox Code Playgroud)

Fedora 教程完成了创建符号链接的步骤,但不会在演练中创建任何 .service 文件。

我错过了什么片段?我需要创建一个 openvpn@vpn.service 吗?如果是这样,我应该把它放在哪里?我觉得这不应该这么困难,但我似乎找不到任何适合我的解决方案。我很乐意提供更多需要的信息。

解决方案

-rw-r--r-- …
Run Code Online (Sandbox Code Playgroud)

debian configuration systemd openvpn

28
推荐指数
4
解决办法
11万
查看次数

端口转发到 VPN 客户端?

我遇到了一些难题,但找到解决方案的运气并不好。现在我(遗憾地)通过 Verizon 3G 连接到网络。他们过滤所有传入的流量,所以我不可能打开端口来接受连接。

我目前在 linode.com 上有一台 Linux 虚拟机,我想到要安装pptpd并尝试进行一些iptables端口转发。我已经pptpd安装,我的家用机器连接愉快。也就是说,这里有一些一般信息:

服务器 (Debian) WAN IP: xxxx on eth0 - pptpd IP: yyy1 on ppp0 - 客户端 VPN IP: yyy100

为了验证我没有发疯,我尝试了一些从服务器到客户端开放端口的连接,并且客户端确实通过 VPN IP 接受了这些连接。

我想要完成的是:

Internet -> WAN IP:Port -> 转发到客户端 VPN IP:Port

例如,如果我在我的客户端上打开了 6000 端口,那么一个人可以远程登录到 xxxx:6000,服务器会捕获它并将其转发到 192.168.3.100:6000。

我已经尝试了至少 20 种不同的 Google 搜索iptables配置,但都没有奏效。有没有人有任何想法,或者甚至是我可能不知道的完全不同的方法?这里的目标是通过可怕的防火墙连接侦听,最好是 TCP 和 UDP 流量。

iptables vpn port-forwarding openvpn

24
推荐指数
1
解决办法
6万
查看次数

OpenVPN:将路由推送到具有不同网关的客户端

我希望我的 OpenVPN 服务器将路由推送到具有不同默认网关的客户端。

具体来说,我的 OpenVPN 服务器的内部 IP 地址为10.0.0.1,我希望它推送10.10.10.1/24使用网关的路由10.0.0.2

是否可以通过在服务器配置文件中指定推送路由来做到这一点?

routing openvpn

24
推荐指数
1
解决办法
17万
查看次数

如何在openvpn中定义DNS服务器?

我用静态密钥设置了一个openvpn服务器(由于国家网关的DPI,证书模式不可用),但连接后我无法成功自动更改DNS。我在互联网和 SE 上搜索,每个人都建议使用dhcp-option.

我试图将此行添加到 client.ovpn

dhcp-option DNS 8.8.8.8
Run Code Online (Sandbox Code Playgroud)

没有效果。我试图在服务器配置中添加这一行

push "dhcp-option DNS 8.8.8.8"
Run Code Online (Sandbox Code Playgroud)

两者都没有任何影响。

事实上,根据手册,

--dhcp-option 类型 [参数]

设置扩展的 TAP-Win32 TCP/IP 属性,必须与 --ip-win32 dynamic 或 --ip-win32 自适应一起使用。

但是我的客户端是 Mac 机器,服务器 Linux。有什么解决办法吗?

dns openvpn

21
推荐指数
2
解决办法
8万
查看次数

openvpn[]: 选项错误: 在 [CMD-LINE]:1: 打开配置文件时出错

当试图 service openvpn start

Oct 12 14:02:01 ccushing1 openvpn[9091]: Options error: In [CMD-LINE]:1: Error opening configuration file: devnet-client-vm.conf
Run Code Online (Sandbox Code Playgroud)

跑步openvpn devnet-client-vm.conf效果很好。为什么openvpn无法启动?我该如何解决?

selinux centos openvpn

17
推荐指数
3
解决办法
7万
查看次数

仅通过 OpenVPN 为特定网络命名空间提供所有流量

我正在尝试建立一个 VPN(使用 OpenVPN),以便所有流量,只有流量,去往/来自特定进程,通过 VPN;其他进程应该继续直接使用物理设备。我的理解是,在 Linux 中执行此操作的方法是使用网络命名空间。

如果我正常使用 OpenVPN(即通过 VPN 从客户端汇集所有流量),它工作正常。具体来说,我像这样启动 OpenVPN:

# openvpn --config destination.ovpn --auth-user-pass credentials.txt
Run Code Online (Sandbox Code Playgroud)

(destination.ovpn 的编辑版本在这个问题的末尾。)

我被困在下一步,编写将隧道设备限制为命名空间的脚本。我试过了:

  1. 将隧道设备直接放在命名空间中

    # ip netns add tns0
    # ip link set dev tun0 netns tns0
    # ip netns exec tns0 ( ... commands to bring up tun0 as usual ... )
    
    Run Code Online (Sandbox Code Playgroud)

    这些命令成功执行,但在命名空间内产生的流量(例如 with ip netns exec tns0 traceroute -n 8.8.8.8)落入了一个黑洞。

  2. 假设“您[仍然]只能将虚拟以太网(veth)接口分配给网络命名空间”(如果属实,将获得今年最荒谬的不必要的API限制奖),创建一个veth对和一个网桥,以及将 veth 对的一端放在命名空间中。这甚至不会让地面上的流量下降:它不会让我将隧道放入桥中![编辑:这似乎是因为只能将分接头设备放入网桥。与无法将任意设备放入网络命名空间不同,这实际上是有道理的,网桥是以太网层的概念;不幸的是,我的 VPN 提供商不支持 Tap 模式下的 OpenVPN,所以我需要一个解决方法。]

    # ip addr add …
    Run Code Online (Sandbox Code Playgroud)

linux vpn openvpn network-namespaces

17
推荐指数
2
解决办法
7998
查看次数

从命令行将 VPN 配置文件导入 NetworkManager

可以.ovpn通过 GUI 工具将文件导入NetworkManager nm-connection-editor(右键单击nm-applet并单击Edit connections):Add-> Import a saved VPN configuration...

我的目标是做同样的事情,但通过命令行使用nm-cli. 有可能吗?

command-line networkmanager vpn openvpn nmcli

16
推荐指数
2
解决办法
3万
查看次数

Ubuntu Server 16.04 - OpenVPN 似乎无法启动,没有写入日志

我按照以下指南how-to-set-up-an-openvpn-server-on-ubuntu在 Ubuntu 服务器 16.04 上安装和 oepnvpn

当我启动 openVPN 服务器时:service openvpn start看起来它已经启动了,但是即使我激活了日志选项,我也没有写入日志文件。

status /var/log/openvpn-status.log
log  /var/log/openvpn.log    
Run Code Online (Sandbox Code Playgroud)

任何提示我可以尝试什么?

  • 如何检查进程/服务是否真的在运行?
  • 如何确定服务是否每次都崩溃?
  • 知道为什么日志文件没有被写入吗?

启动服务时的输出

root@Diabolo:/etc/openvpn# service openvpn stop
root@Diabolo:/etc/openvpn# service openvpn start
root@Diabolo:/etc/openvpn# service openvpn status
openvpn.service - OpenVPN service
Loaded: loaded (/lib/systemd/system/openvpn.service; enabled; vendor preset: enabled)
Active: active (exited) since Sat 2016-06-25 19:04:12 CEST; 3s ago
Process: 3956 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 3956 (code=exited, status=0/SUCCESS)
Jun 25 19:04:12 Diabolo systemd[1]: Starting OpenVPN service...
Jun 25 19:04:12 Diabolo systemd[1]: …
Run Code Online (Sandbox Code Playgroud)

ubuntu syslog openvpn

16
推荐指数
2
解决办法
4万
查看次数