首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux:三个默认网关?

Linux:三个默认网关?
EN

Server Fault用户
提问于 2012-12-05 12:18:45
回答 3查看 2.6K关注 0票数 2

我的服务器有三个默认网关,怎么可能呢?不应该有一个默认的gw吗?

我有三个NIC,每个附属于一个单独的子网:

代码语言:javascript
复制
server1:~#  route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.5.0.0        *               255.255.255.224 U     0      0        0 eth3
localnet        *               255.255.255.224 U     0      0        0 eth0
192.168.8.0     *               255.255.255.192 U     0      0        0 eth1
default         10.5.0.1        0.0.0.0         UG    0      0        0 eth3
default         192.168.8.1     0.0.0.0         UG    0      0        0 eth1
default         10.1.0.1        0.0.0.0         UG    0      0        0 eth0

有时,我不能在互联网上点击一个主机,有时我可以。我想要的是通过一个特定的网卡发送到因特网的流量(0.0.0.0)。我可以将0.0.0.0和默认gw的路由添加到eth0-3接口之一吗?它会破坏我的联系吗?

我正在使用Debian,这里是我的/etc/网络/接口:

代码语言:javascript
复制
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet static
    address 10.1.0.4
    netmask 255.255.255.224
    network 10.1.0.0
    broadcast 10.1.0.31
    gateway 10.1.0.1

allow-hotplug eth1
iface eth1 inet static
        address 192.168.8.4
        netmask 255.255.255.192
        network 192.168.8.0
        broadcast 192.168.8.63
        gateway 192.168.8.1

allow-hotplug eth3
iface eth3 inet static
        address 10.5.0.4
        netmask 255.255.255.224
        network 10.5.0.0
        broadcast 10.5.0.31
        gateway 10.5.0.1
EN

回答 3

Server Fault用户

回答已采纳

发布于 2012-12-05 12:31:42

从技术上讲,您可以拥有任意数量的默认网关,但在默认情况下,这没有多大意义,因为您的流量将有点不可预测。如果您使用策略路由,则有多个网关是有意义的;例如,如果您连接到两个不同的提供程序,并且希望您的服务器在主机所使用的同一个接口上对每个远程主机进行应答,您可以在多默认网关环境中使用iproute2包来完成这一任务。

如果您想拥有一个默认网关,只需从/etc/网络/接口中的所有接口中删除' gateway‘语句,除了一个默认网关所在的接口。当然,重新启动。

票数 4
EN

Server Fault用户

发布于 2012-12-05 12:30:47

您在接口文件上配置了所有网关。只留下你真正需要的门户。

Linux支持多个网关。但取决于你想做什么。

  1. 您可以选择在每个gw上配置不同的度量,它将像故障转移一样工作。
  2. 可以使用基于iproute2的源路由和内核策略路由。
  3. 您可以使用BGP来平衡您的流量。

这是您的选项,但是如果您只需要1GW,那么从您的接口文件中删除另外两个(删除从网关xxx.yyy.zzzz.wwww开始的行,只留下您需要的网关)。

票数 5
EN

Server Fault用户

发布于 2014-06-10 08:51:29

根据这些网关中实际连接到internet的数量,您可能需要2个或更多的“默认”网关。

选择优先级的关键是“度量”参数。

unix.SE上的描述了此过程以及如何将其包含在接口文件中。

重要部分:

代码语言:javascript
复制
iface eth0 inet static
...    
post-up route add default gw 192.168.1.1 metric 1
pre-down route del default gw 192.168.1.1


iface eth1 inet static
...
post-up route add default gw 192.168.2.1 metric 2
pre-down route del default gw 192.168.2.1

因此,一旦您与网关的连接下降(无论出于何种原因),它将切换到另一个网关。

显然,即使不设置度量,您也可以更改至少一些通信量,通过您选择的接口进行路由,您应该检查程序的手册页以确定您是如何做到这一点的。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/455273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档