在Debian接口文件中添加两个默认网关


10

这是我的接口文件:

auto eth0
iface eth0 inet static
   address 192.168.1.10
   netmask 255.255.255.0
   gateway 192.168.1.1

auto eth1
iface eth1 inet static
   address 192.168.2.10
   netmask 255.255.255.0
   gateway 192.168.2.1

如果重新启动网络守护程序,则会出现此错误:eth1 is not up。我想要两个默认网关来实现此处所接受问题的答案中提到的内容。这是我的路由表应为:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
default         192.168.2.1     0.0.0.0         UG    0      0        0 eth1
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
192.168.2.0     *               255.255.255.0   U     0      0        0 eth1

我通过使用ifconfigroute add default gw命令获得了上表。但是我想用/etc/network/interfaces文件来做。我该怎么做?

更新1:

iface eth0 inet static
    address 192.168.1.10
    netmask 255.255.255.0
    up ip route del 192.168.1.0/24
    post-up ip route add 192.168.1.0/24 dev eth0 metric 1
    up route add default gw 192.168.1.1 metric 1

1
只要您不在乎您的流量如何。在Solaris和早期Linux版本上,此操作以循环方式完成
Karlson

您的接口文件看起来正确。通常,DHCP在今天更加方便,这就是我在这种情况下使用的。您可以在DHCP服务器的设置中为特定的MAC地址设置一个设置的IP地址。
Casualunixer 2012年

附带一提,NetworkManager最近添加了对路由指标的更广泛支持。它会自动处理它们,也可以手动设置它们。这可能是一种更方便的方法,或者您可能要对工具提出功能请求。
PavelŠimerda'1

另外,您可能想添加有关为什么要完全拥有两条默认路线的详细信息。我只能猜测两条具有不同度量标准的路由将无法按您期望的那样工作。
PavelŠimerda'15

interfaces文件允许设置指标。无需使用上载和下载手动添加路线
Goswin von Brederlow

Answers:


10

这个/ etc / network / interfaces在2.6.32-40 Ubuntu 10.04 LTS上对我有用:

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
    address 192.168.1.10
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.254
    post-up route add default gw 192.168.1.1 metric 1
    pre-down route del default gw 192.168.1.1

auto eth1
iface eth1 inet static
    address 192.168.2.10
    netmask 255.255.255.0
    network 192.168.2.0
    broadcast 192.168.2.254
    post-up route add default gw 192.168.2.1 metric 2
    pre-down route del default gw 192.168.2.1

我有两条默认路线:

root@gamla:/etc/network# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
0.0.0.0         192.168.1.1     0.0.0.0         UG    1      0        0 eth0
0.0.0.0         192.168.2.1     0.0.0.0         UG    2      0        0 eth1

注意指标。我明白你的问题吗?


与之关联的网络和网关eth0应该首先使用,因为它是主要的网络和网关。什么是输出netstat -anr或只是route命令在你的设置?
nixnotwin 2012年

我进行了编辑,添加了度量参数以获取所需的路线顺序。我的系统还有许多其他接口,我可以从输出中进行编辑,并且接口名称不是ethX,因此我不能100%地确定我的解决方案对您有用。试试看,让我知道结果。
Eli Rosencruft'4

添加默认网关的指标即可。但是,如何为路由添加度量?我的路由表有一个B类子网,应该在另一个B类子网之前。metric 3从debian ifmetric软件包指定对我不起作用。
nixnotwin 2012年

1
内核存储度量,但不使用它进行路由。要使用该指标,您需要运行路由守护程序,例如quagga(是斑马)或bird。
Eli Rosencruft'4

1
@EliRosencruft您可以引用参考plz吗?
drAlberT
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.