在CentOS中设定静态路由

这是我的route -n输出:

 Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0 

如果我尝试通过这个命令添加一个静态路由

route add -net 192.168.50.0 netmask 255.255.255.0 gw 192.168.50.1

我得到以下输出:

SIOCADDRT: No such process

为什么? 任何人都可以解释我在linux中添加静态路由的概念。

如果我在/etc/sysconfig/network-scripts/目录下还有一个route-eth0文件,在这个文件中: 123.123.123.0/24 via 123.123.124.1 ,在我重新启动networking后没有任何效果。

那么,有人可以给我一些解释,链接或相关的东西来阅读这个?

谢谢!


注:我观察到:如果我添加了192.168.50.0networking并指向“默认”网关(0.0.0.0),我的命令工作正常。 但是,如果我没有它,我已经提到了错误。 那么,你能告诉我我需要做更多的事情吗?

PS我是一个在Linuxnetworking新手。

你试图添加的路由是recursion的。

 route add -net 192.168.50.0 netmask 255.255.255.0 gw 192.168.50.1 

这转化为以下内容:

192.168.50.0/24的下一跳是192.168.50.1

好。 192.168.50.1的下一跳是什么?

192.168.50.0/24的下一跳是192.168.50.1

>呃? 但这是不可能的。 然后输出神秘的SIOCADDRT: No such process

这是由您添加的第二条路线确认的:

 route add -net 192.168.50.0 netmask 255.255.255.0 gw 192.168.122.x 

您的默认网关应该位于192.168.122.0/24networking中,可以从您的计算机访问。

如果“在为networking处理stream量的网关设置主机路由之前,您尝试为networking设置路由,则可以获得”SIOCADDRT:无此过程“错误。

回答:首先创build一个主机路由,然后创build一个networking路由。

例如对于有问题的networking:本地 – > 192.168.50.1 – > 192.168.50.xx

 route add -host 192.168.50.1 dev eth0 route add -net 192.168.50.0 netmask 255.255.255.0 gw 192.168.50.1 

这帮助我https://support.symantec.com/en_US/article.TECH142841.html