我已经设置了一个网桥,用来将我桌面上的 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 版本或迁移到更新的硬件。