这是我的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