Lösung 1:
Ist der Desktop auf 192.168.16.0/24?
Sie können keine Route (zu irgendeinem Ziel) über ein Gateway hinzufügen, mit dem Sie nicht direkt verbunden sind, da Ihr Computer nicht weiß, wie er den Weg zum Router finden soll, ohne die Standardroute zu durchlaufen.
Lösung 2:
Sie können "SIOCADDRT:No such process" abrufen Fehler, wenn "Sie vorher versucht haben, eine Route für ein Netzwerk festzulegen Festlegen einer Host-Route für das Gateway, das den Datenverkehr für dieses Netzwerk verarbeitet."
z.B. für lokal -> 172.19.0.1 -> 172.19.0.xx
[[email protected]]# route add -net 172.19.0.0 gw 172.19.0.1 netmask 255.255.255.0 dev eth0
SIOCADDRT: No such process
ANTWORT: Erstellen Sie zuerst eine Hostroute und dann eine Netzroute.
z.B. für das betreffende Netzwerk:lokal -> 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
Eine statische Route belastet das Netzwerk trotzdem , ich denke, es kommt darauf an;).Der Upload/Download-Verkehr muss das Netzwerk überqueren. Es wirkt sich also auf andere Benutzer des Netzwerks aus. Sie können die Bandbreite des Datenverkehrs begrenzen oder diesen Datenverkehr auf ruhigere Zeiten verschieben, wenn Sie die Auswirkungen auf andere Netzwerkbenutzer verringern möchten. z.B. rsync hat gute Optionen zur Bandbreitenbegrenzung.
Ich hatte ein ähnliches Problem mit Routing und SIOCADDRT. local -> dockerserver -> dockercontainer. Das Hinzufügen der Hostroute und dann der Netzroute hat dazu geführt, dass das Routing in eine Richtung funktioniert.
Das hat mir geholfenhttps://support.symantec.com/en_US/article.TECH142841.html
Vollständiges Routing-Beispiel, Routing funktioniert in beide Richtungen:
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
[[email protected]]# route add -host $dockerservernet dev eth0
[[email protected]]# route add -net $dockerservernet gw $dockerserver netmask 255.255.255.0 dev eth0
### 1. route on dockerserver to local
[[email protected] ~]# route add -net $localnet netmask 255.255.255.0 dev eno1
[[email protected] ~]# ping $local
### 2. route FROM dockercontainer to local (via gateway dockerserver)
[[email protected] /]# route add -net $localnet netmask 255.255.255.0 gw gateway dev eth1
[[email protected] /]# ping $local