我希望为我的接口 eth1 添加静态路由。但每当我使用路由命令时,我都会收到这个烦人的错误 RTNETLINK 答案:无效参数。
当前路由配置
Destination Gateway Genmask Flags Metric Ref Use Iface
10.73.55.172 0.0.0.0 255.255.255.252 U 0 0 0 eth2
10.64.23.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 1002 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1004 0 0 eth2
169.254.0.0 0.0.0.0 255.255.0.0 U 1005 0 0 eth3
0.0.0.0 10.73.55.173 0.0.0.0 UG 0 0 0 eth2
对于 eth0 ,我希望默认网关为 10.64.23.1 ,对于 eth2 ,我希望网关为 10.73.55.173 。配置如下:
ifconfig eth0
eth0 Link encap:Ethernet HWaddr 28:80:23:AF:E0:4C
inet addr:10.64.23.36 Bcast:10.64.23.255 Mask:255.255.255.0
inet6 addr: fe80::2a80:23ff:feaf:e04c/64 Scope:Link
ifconfig eth2
eth2 Link encap:Ethernet HWaddr 28:80:23:AF:E0:4E
inet addr:10.73.55.174 Bcast:10.73.55.175 Mask:255.255.255.252
inet6 addr: fe80::2a80:23ff:feaf:e04e/64 Scope:Link
我使用的是 CentOS 6.4 版本
cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
#HWADDR="28:80:23:AF:E0:4C" IPADDR=10.64.23.36
#IPV6INIT="yes" NETMASK=255.255.255.0
#NM_CONTROLLED="no" ONBOOT=yes GATEWAY=10.64.23.1 TYPE="Ethernet" UUID="bdb726be-c3ce-404d-ba56-7a46906745af"
MAL_SIG_1_8_1:/home/mclaw# cat /etc/sysconfig/network-scripts/ifcfg-eth2
DEVICE="eth2"
BOOTPROTO="static" IPADDR=10.73.55.174
#DHCP_HOSTNAME="mc-inst"
#HWADDR="28:80:23:AF:E0:4E"
#NM_CONTROLLED="yes" NETMASK=255.255.255.252 GATEWAY=10.73.55.173 ONBOOT="yes"
#DEFROUTE=no TYPE="Ethernet" UUID="5be9a274-6146-4ad0-9135-7fcc612ec2b7"
MAL_SIG_1_8_1:/home/mclaw# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=MAL_SIG_1_8_1
#GATEWAY=10.64.23.1
无论我给出什么 ip route 命令,它都会出现以下错误。
ip route add 10.73.55.174/30 via 10.73.55.173 dev eth2
RTNETLINK 回答:无效参数
答案1
使用 IP 路由添加路由时,需要始终使用网络地址。
10.73.55.174/30
不是有效的网络地址。网络地址始终是子网中的第一个 IP 地址。就您而言,网络地址是10.73.55.172/30
。
您的路由表中已经有该子网的条目。
答案2
请记住,此路由不是持久的,因此每次重启后,您都会丢失 eth2 的网关
我将像这样设置 eth2 的网关
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth2
例如
DEVICE="eth2"
BOOTPROTO="static"
IPADDR=10.73.55.174
NETMASK=255.255.255.252
GATEWAY=10.73.55.173
ONBOOT="yes"
TYPE="Ethernet"