同一接口但在不同子网上的第二个IP地址


10

在CentOS 5.7 64位中,一个接口(例如eth0)(别名接口配置)在另一个子网中是否可以有另一个IP地址?

这是eth0的原始配置

more etc/sysconfig/network-scripts/ifcfg-eth0
# Broadcom Corporation NetXtreme BCM5721 Gigabit Ethernet PCI Express
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.91.255
HWADDR=00:1D:09:FE:DA:04
IPADDR=192.168.91.250
NETMASK=255.255.255.0
NETWORK=192.168.91.0
ONBOOT=yes

这是eth0:0的配置

more etc/sysconfig/network-scripts/ifcfg-eth0:0
# Broadcom Corporation NetXtreme BCM5721 Gigabit Ethernet PCI Express
DEVICE=eth0:0
BOOTPROTO=static
BROADCAST=10.10.191.255
DNS1=10.10.15.161
DNS2=10.10.18.36
GATEWAY=10.10.191.254
HWADDR=00:1D:09:FE:DA:04
IPADDR=10.10.191.210
NETMASK=255.255.255.0
NETWORK=10.39.191.0
ONPARENT=yes

由于存在两个不同的网关,resolv.conf文件应如何更改?需要其他更改吗?

Answers:


4

是否可以在另一个子网的一个接口(例如eth0)上使用另一个IP地址(别名接口配置)?

当然,没有什么可以阻止您这样做。网络接口将看到其他两个子网的广播,但是除非您的网络非常繁忙,否则这可能不会有太大的不同。

由于存在两个不同的网关,resolv.conf文件应如何更改?需要其他更改吗?

您不能有2个默认网关。从这些接口之一中删除网关。拥有2个这样的东西根本无济于事。将仅使用其中一个网关。

DNS解析(resolv.conf)实际上与您的路由配置无关。在Linux上,DNS解析是系统范围的,实际上与接口配置完全无关。只需在您的resolv.conf中放置几个​​有效的DNS服务器。如果您需要更高级的功能来将请求发送到不同的上游服务器,则可能需要安装DNSMasq之类的东西。


我想知道,是否需要为每个ifcfg-eth0指定一个网关,为每个ifcfg-eth0:0指定一个网关?[因为每个人都应该位于不同的子网中?
fptstl 2012年

2

如前所述,在一个网络上拥有两个不同的子网是没有错的,并且只要您连接到两个网络的同一交换机/交换机组并且没有对其应用任何VLAN规则或任何其他安全性,它就可以工作区域。

无论您有多少个IP地址/子网,都始终只有一个默认网关。当IP地址与路由表中的任何其他路由都不匹配时,将使用默认网关。因此,在您的示例中,对于不属于192.168.91.0/24或10.10.191.0/24网络的每个请求,都将重定向到默认网关。

但是,如果您愿意,您仍然可以添加手动路线。假设您有第三个专用网络10.10.200.0/24,可通过10.10.191.0/24访问。您需要添加一条静态路由:

ip route add 10.10.200.0/24 via 10.10.191.254 dev eth0:0

Resolv.conf与网关无关,用于DNS resolvs。有一个读到这里了解更多信息。


0

通常,/ etc / resolv.conf文件是DNS相关选项(名称服务器,搜索域,ecc)的配置文件。在基于Red Hat的发行版中,我建议您创建两个文件:

/ etc / sysconfic / network-script / route-eth0
/ etc / sysconfic / network-script / route-eth0:0(我从未见过)

在每个接口中,您都可以定义特定接口的所有路由选项。

这是不正确的。尽管在RHEL / CentOS系统上可以处理多个文件中的以太网接口是可以接受的,但是路由的处理方式却有所不同。特定接口的路由必须集中放置在该接口的单个​​文件中。换句话说,如果您需要eth0:1,eth0:2和eth0:3的自定义路由,则必须将它们全部放在以下位置:

/etc/sysconfig/network-script/route-eth0

不能将:1附加到文件名中。

先前的答案建议为新界面创建一个文件:

/etc/sysconfig/network-scripts/ifcfg-eth0:1 

这是正确的,但是您不应在其中放置GATEWAY =指令。这将导致创建多个默认网关,从而导致路由行为异常。忽略GATEWAY =选项,然后将所需的路线添加到:

/etc/sysconfig/network-script/route-eth0

1
看来您是要评论其他答案,而不是回答问题。您应该编辑答案以专注于回答问题。
卡巴斯德(Kasperd)'16

0

通常,/ etc / resolv.conf文件是DNS相关选项(名称服务器,搜索域,ecc)的配置文件。在基于Red Hat的发行版中,我建议您创建两个文件:

/etc/sysconfig/network-script/route-eth0  
/etc/sysconfig/network-script/route-eth0:0  (I have not ever seen this)

在每个接口中,您都可以定义特定接口的所有路由选项。您放入这些规则将在引导时加载。建议将默认网关放置在/ etc / sysconfig / network文件中。

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.