网络管理员中断手动路由

网络管理员中断手动路由

我有 Ubuntu 13.10,Saucy Salamander x64 作为 VirtualBox 中的客户机运行(Windows 7 作为主机)。

我写这个是/etc/network/interfaces因为我需要添加大量永久的、手动的静态路由:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet dhcp
    up ip -force -b /etc/network/eth1-routes

eth1-routes包含几行如下格式的行:

route add 10.0.0.0/8 via 172.x.x.x dev eth1

172.x.x.xVBox NAT 给我的网关在哪里。

通过运行,netstat -nr看起来我的所有手动路由都已成功添加,包括通过 到达两个 DNS 服务器的路由172.x.x.x

但是,网络管理器显示两个设备都“未受管理”。如果我设置/etc/NetworkManager/NetworkManager.conf managed=true,网络管理器会再次工作,但我的路由会丢失。所以我目前的折衷方案是设置managed=false并注释掉eth0中的行/etc/network/interfaces

有没有办法可以管理设备并仍执行如上所述的手动路线?

答案1

网络管理器管理自己的静态路由 - 打开网络管理器并选择“有线连接 1”。选择编辑。选择 IPv4 选项卡。此页面底部有一个“路由”按钮。您可以在此处添加它们。完成后,NM 会在其 /etc/NetworkManager/system-connections/ 目录中以 root 权限写入名为“有线连接 1”的文件

示例如下

ls -l /etc/NetworkManager/system-connections/
total 4.0K
-rw------- 1 root root 216 Aug 26 10:38 Wired connection 1

sudo cat /etc/NetworkManager/system-connections/Wired\ connection\ 1

[802-3-ethernet]
mac-address=A:Real:Mac:Add:re:ss

[connection]
id=Wired connection 1
uuid=df4491fc-0981-4071-82ae-04c7b2d6d9fc
type=802-3-ethernet

[ipv6]
method=auto

[ipv4]
method=auto
route1=10.2.2.0/24,10.1.1.68,1

其中 10.2.2.0 是目标网络,10.1.1.68 是网关。

答案2

网络管理器无法识别您在 中写入的语句/etc/network/interfaces

因此,您可以将脚本添加eth1-routes为 Network Manager 的调度程序脚本/etc/network/if-up.d/。每次接口启动时,它都会运行。也许您必须在脚本中编写一个“if 子句”,以便在eth1启动时仅添加路由。如下所示:

if [ "$IFACE" == "eth1" ]; then
  route add ...
  route add ...
fi

答案3

如果您想向 Ubuntu 添加一条持续重启且不使用默认接口作为网关的路由,那么您可能需要向特定接口的 NetworkManager 配置文件中添加一条路由语句。

添加路线到/etc/NetworkManager/system-connections/“连接名称”通过将路由语句添加到配置文件中(假设为 IPv4)来配置配置文件。路由有四个部分;“第一个是目标 IPv4 网络或地址(网络字节顺序),第二个是目标网络或地址前缀(1 - 32),第三个是下一跳(网络字节顺序)(如果有),第四个是路由度量”

[ipv4]
method=auto
route1=172.16.0.0/16,192.168.3.1,1

这相当于使用以下路由语句设置路由:

route add -net 172.16.0.0 netmask 255.255.0.0 gw 192.168.3.1

路由键名在 NetmorkManager 开发者文档的表 12 中定义。请参阅以下 URL 了解更多信息:https://developer.gnome.org/NetworkManager/0.9/ref-settings.html

相关内容