我有一个带有子接口的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类,它将能够到达该子接口上的网关.