我有一个带有子接口的Centos 5盒子:
ifconfig eth0 10.1.1.1 255.255.255.255 ifconfig eth0:1 10.1.1.2 255.255.255.255
netmasks在此服务器所在的环境中需要为32位.因此,为了指定默认路由,我们让服务器知道网关的位置,然后默认路由到它:
Destination Gateway Genmask Flags MSS Window irtt Iface 10.1.1.10 0.0.0.0 255.255.255.255 UH 0 0 0 eth0 0.0.0.0 10.1.1.10 0.0.0.0 UG 0 0 0 eth0
所以10.1.1.10是默认网关,它是接口eth0
但是,离开服务器的所有数据包都具有与eth0:1关联的IP地址.他们需要在eth0上拥有IP.
路由在route-eth0中定义:
10.1.1.10/32 dev eth0 default via 10.1.1.10
我试图在ifcfg-eth0中强制使用GATEWAY和SRCADDR:
DEVICE=eth0 BOOTPROTO=static ONBOOT=yes IPADDR=10.1.1.1 SRCADDR=10.1.1.1 NETMASK=255.255.255.255 GATEWAY=10.1.1.10
ifcfg-eth0:1中没有定义网关:
DEVICE=eth0:1 IPADDR=10.1.1.2 NETMASK=
eth0 IP地址是用于/ etc / hosts中的fqdn的地址.如果我ping fqdn,我会得到eth0的IP地址.
有些人可以告诉我如何强制传出数据包使用绑定到eth0的IP而不是绑定到eth0:1的IP作为源IP.
在ifcfg-eth0:1文件中没有设置网络掩码将使Linux默认为255.0.0.0,因为它是传统的A类,它将能够到达该子接口上的网关.