你可以得到:“没有这样的过程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
解答:首先创建一个主机路由,然后创建一个网络路由。
例如对于有问题的网络:本地-> 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
静态路由仍会加载网络,我想这取决于;)。上传/下载流量必须穿越网络。因此,它将影响网络的其他用户。如果希望减少对其他网络用户的影响,则可以对流量进行带宽限制或将其移至安静的时间。例如,rsync具有良好的带宽限制选项。
路由和SIOCADDRT也有类似的问题。
本地-> dockerserver-> dockercontainer。添加主机路由,然后添加网络路由,可以使路由在一个方向上工作。
这对我有帮助
https://support.symantec.com/zh_CN/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