web-dev-qa-db-fra.com

Impossible de mettre en place une itinéraire hôte statique - "Siocaddrt: aucun processus de ce type"

À mon bureau, il existe un routeur Windows Server 2008, 192.168.16.1, qui est notre passerelle par défaut. Cela envoie des données via notre principale connexion Internet. Cela fonctionne parfaitement.

192.168.16.1 a également une autre connexion Internet qui est actuellement utilisée inutilisée. Ceci se connecte à un routeur, 192.168.1.254 qui se connecte ensuite à notre connexion Internet secondaire.

J'ai mis en place un routage et un accès à distance à l'itinéraire du 192.168.1. * Plage de notre réseau interne, et je suis en mesure de ping 192.168.1.254 de mon bureau ayant une adresse IP de 192.168.16.22.

J'ai une tâche de téléchargement et de téléchargement très intensive pour une boîte de Linux dans le même bureau. Je souhaite donc mettre en place une route statique pour que je n'attache pas notre principale connexion Internet et n'affecte pas mes collègues. Donc, mon plan est de configurer cette boîte avec une route statique.

Depuis la boîte Linux, je suis capable de ping 192.168.1.254, mais je ne suis pas en mesure d'ajouter une route statique sur le serveur de destination dans notre centre de données:

$ Sudo route add -Host 123.123.123.123 gw 192.168.1.254 dev eth0
SIOCADDRT: No such process

À partir de vastes googling, ce message d'erreur semble indiquer que je suis incapable d'accéder au 192.168.1.254 pour mettre en place un itinéraire, mais je peux le ping. J'ai tenté d'ajouter une route statique au 192.168.1.254, qui fonctionnait parfaitement, mais cela n'a pas résolu la question (comme prévu).

Je ne suis pas assez avancé à la mise en réseau pour diagnostiquer ce problème, car mes antécédents sont le développement logiciel, pas l'administration du système. Je serais très reconnaissant de tout conseil donné.

Merci pour votre temps.

11
Steve Rukuts

Le bureau est-il le 192.168.16.0/24?

Vous ne pouvez pas ajouter un itinéraire (à une cible) via une passerelle que vous n'êtes pas directement connecté à, car votre ordinateur ne sait pas comment trouver son chemin vers le routeur sans passer par voie par défaut.

8
3molo

Vous pouvez obtenir le "SIOCADDRT: Aucun processus de ce type" Erreur si "Vous avez tenté de définir un itinéraire pour un réseau avant définir une route hôte de la passerelle qui gère le trafic de ce réseau. "

par exemple. Pour local -> 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

Réponse: Créez d'abord une route hôte, puis créez un itinéraire net.

par exemple. Pour le réseau en question: local -> 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

Une voie statique chargera toujours le réseau , je suppose que cela dépend;). Le trafic de téléchargement/de téléchargement doit traverser le réseau. Cela affectera donc d'autres utilisateurs du réseau. Vous pouvez limiter la bande passante du trafic ou déplacer ce trafic vers des heures plus silencieuses si vous souhaitez réduire l'affect sur les autres utilisateurs du réseau. par exemple. RSYNC a de bonnes options de limitation de bande passante.

J'ai eu un problème similaire avec Routing et Siocaddrt. local -> Dockerserver -> DockContainer. Ajout de la route d'hôte puis une route nette a effectué le travail de routage dans une direction.

Cela m'a aidé https://support.symantec.com/en_us/article.tech142841.html

Exemple de routage complet, acheminement de l'acheminement des deux manières:

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
2
gaoithe

En ce qui concerne la partie de la question à propos de la définition des itinéraires persistants dans une instance AWS EC2 exécutant Ubuntu, le bon endroit pour placer des itinéraires statiques pour persister à travers un redémarrage AWS, arrête et commencer est /etc/rc.local.

Dans ce fichier, vous devez placer vos itinéraires dans la ligne au-dessus de la dernière ligne. Vos lignes devraient ressembler à ceci:

route add -net XXX.XXX.XXX.XXX netmask XXX.XXX.XXX.XXX gw XXX.XXX.XXX.XXX

Exécution de la commande Sudo sera perdue sur le redémarrage.

0
Duke Hall