如何通过手动设置的网桥(主接口不受 NetworkManager 管理)使用 VPN?

如何通过手动设置的网桥(主接口不受 NetworkManager 管理)使用 VPN?

我已经设置了一个网桥,用来将我桌面上的 KVM 虚拟机连接到我的家庭网络;我通过创建网桥以手动方式完成此操作/etc/network/interfaces(这是按照书上的方法完成的,以获得最佳网络性能,我们在公司的虚拟化服务器上​​使用它)。

然而,这意味着 NetworkManager 不再管理 eth0 接口,并且拒绝建立 VPN 连接。

如果我能找到一个可以代替 NM 连接的应用程序,那就不会让我那么烦恼了。但是,唉,我什么也没找到!有一个叫做 的软件包kvpnc,被描述为 VPN 客户端的 GUI,但它一直崩溃。据我所知,没有任何其他可用的 VPN GUI。

其他人也遇到了类似的问题:网桥-不破坏网络管理器 但那家伙最终还是回到了 NM,并设置了路由而不是桥接,而不是寻找替代的 VPN 客户端。

有任何想法吗?

编辑:忘了提及我目前正在使用 PPTP 并且将来可能需要 OpenVPN。

答案1

好吧,这就是我得到的结果大约问题:

1.删​​除网络管理器

sudo apt-get remove network-manager

注意:请阅读本文末尾的免责声明

2.在命令行上设置pptp

我们将使用一个方便的工具来pptpsetup为我们设置所有需要的配置文件。

跑步:
sudo pptpsetup --create $your-connection --server se.rv.er.ip --username $pptp-username --encrypt

代替 :
- $your-connection 为新连接的简称
- se.rv.er.ip 替换为您要连接的服务器的 IP
- $pptp-username 为连接用户的用户名

首先会要求您输入 sudo 密码,然后 pptpsetup 会要求您输入 PPTP 连接的密码。输入密码,然后按回车键。注意不要混淆。这将创建所有必要的配置文件。如果您不想使用服务器推送给您的默认路由,请添加nodefaultroute一行/etc/ppp/peers/$connection-name

3. 手动启动和停止连接

sudo pon your-connection
连接,以及

sudo poff your-connection
断开连接。

4.如果要自动添加和删除自定义路线:

创建两个脚本,如下所示:
(将它们放在您的主文件夹中的某个位置,如果您记得备份的话,/root 也是可以的)

pptp-on.sh:

#!/bin/bash
# This script connects us using pre-configured PPTP VPN,
# and then adds all the routes we specify here.

pon your-connection
a=$?

sleep 5

# add routes
if [ $a == 0 ]; then
        # whatever routes you need
        route add -net 192.168.1.0 netmask 255.255.255.0 dev ppp0
        echo "Connected"
fi

exit $a

pptp-off.sh:

#!/bin/bash

poff your-connection

a=$?

# delete routes
if [ $a == 0 ]; then
        #specify whatever routes you have here
        route del -net 192.168.1.0 netmask 255.255.255.0 dev ppp0
        echo "Disconnected"
fi

exit $a

它们必须由 root 拥有:sudo chown root:root pptp-on.sh pptp-off.sh。使它们可执行:将sudo chmod +x pptp-on.sh pptp-off.sh
它们命名为适合您的任何名称,这样您就会知道它们的用途。

5. 创建桌面启动器

我希望有桌面启动器,只需单击即可,而不是每次连接和断开连接时手动运行脚本。为此,我创建了两个分别运行gksudo /path/to/pptp-on.sh和的桌面启动器gksudo /path/to/pptp-off.sh。我使用了 Marian Lux-es创建启动器可从 Ubuntu 软件中心获取。Google 上了解如何操作,我不会在这里写这个(因为我很懒)。

就是这样。您可以根据需要拥有任意数量的不同连接,所有连接都可以通过启动器轻松打开和关闭。只需为每个附加连接重复所有步骤即可。

但请注意,正如所说,这不是修复,而是一个解决方案。修复将在 NM 获得对网络桥接的内置支持时进行,如果我没有看错的话,这已经在 13.04 中完成了。这只是针对像我这样的人,他们计划尽可能长时间地使用 12.04(我试过 12.10,但遇到了大问题,例如与我的 ATI 显卡不兼容、大量错误等),或者至少到下一个 LTS 版本或迁移到更新的硬件。

相关内容