在我的办公室里,有一台Windows Server 2008路由器192.168.16.1,这是我们的默认网关。 这通过我们的主要互联网连接发送数据。 这完美的作品。
192.168.16.1也有另一个目前闲置的互联网连接。 这连接到一个路由器,192.168.1.254,然后连接到我们的次要互联网连接。
我已经设置了路由和远程访问将192.168.1。*范围路由到我们的内部networking,并且我能够从IP地址为192.168.16.22的桌面ping 192.168.1.254。
我在同一个办公室里有一个非常密集的上传和下载任务,所以我想要build立一个静态路由,所以我不捆绑我们的主要互联网连接,并影响我的同事。 所以,我的计划是用一个静态路由来设置这个盒子。
在Linux机器上,我能ping通192.168.1.254,但是我无法在我们的数据中心中添加一条静态路由到目标服务器:
$ sudo route add -host 123.123.123.123 gw 192.168.1.254 dev eth0 SIOCADDRT: No such process
从广泛的谷歌search,这个错误消息似乎表明,我无法访问192.168.1.254build立一个路线,但我可以ping它。 我试图添加一个静态路由到192.168.1.254,完美的工作,但这并没有解决问题(如预期)。
由于我的背景是软件开发,而不是系统pipe理,所以在networking方面我还不够先进。 我将非常感谢任何build议。
感谢您的时间。
桌面上的192.168.16.0/24?
你不能通过你没有直接连接的网关添加一条路由(到任何目标),因为你的计算机不知道如何通过默认路由find路由器。
如果“在为networking处理stream量的网关设置主机路由之前,您尝试为networking设置路由,则可以获得”SIOCADDRT:无此过程“错误。
例如对于本地 – > 172.19.0.1 – > 172.19.0.xx
[root@local]# route add -net 172.19.0.0 gw 172.19.0.1 netmask 255.255.255.0 dev eth0 SIOCADDRT: No such process
回答:首先创build一个主机路由,然后创build一个networking路由。
例如对于有问题的networking:本地 – > 192.168.1.254 – > 123.123.123.123
sudo route add -host 192.168.1.254 dev eth0 sudo route add -net 123.123.123.123 netmask 255.255.255.255 gw 192.168.1.254 dev eth0
静态路由仍然会加载networking ,我想这取决于;)。 上传/下载stream量必须通过networking。 所以会影响networking的其他用户。 如果您希望减less对其他networking用户的影响,您可以通过带宽限制stream量或将stream量移至较安静的小时。 例如rsync具有良好的带宽限制选项。
我有一个路由和SIOCADDRT类似的问题。 本地 – > dockerserver – > dockercontainer。 添加主机路由,然后networking路由使路由工作在一个方向。
这帮助我https://support.symantec.com/en_US/article.TECH142841.html
完整路由示例,路由工作两种方式:
dockerserver=172.19.0.1 dockerservernet=172.19.0.0 dockercontainer=172.19.0.25 local=192.168.111.23 localnet=192.168.111.0 ### 0. create host route for gw and net route local->docker [root@local]# route add -host $dockerservernet dev eth0 [root@local]# route add -net $dockerservernet gw $dockerserver netmask 255.255.255.0 dev eth0 ### 1. route on dockerserver to local [root@dockerserver ~]# route add -net $localnet netmask 255.255.255.0 dev eno1 [root@dockerserver ~]# ping $local ### 2. route FROM dockercontainer to local (via gateway dockerserver) [root@dockercontainer /]# route add -net $localnet netmask 255.255.255.0 gw gateway dev eth1 [root@dockercontainer /]# ping $local
关于在运行Ubuntu的AWS EC2实例中设置持久路由问题的部分问题,通过AWS重新启动,停止并启动的静态路由的正确位置是/etc/rc.local 。
在该文件中,您需要将路线放在最后一行上方的行中。 你的线应该看起来就像这样:
route add -net XXX.XXX.XXX.XXX netmask XXX.XXX.XXX.XXX gw XXX.XXX.XXX.XXX
运行sudo命令将在重新引导时丢失。