web-dev-qa-db-fra.com

Aucune route vers l'hôte avec nc mais peut cingler

J'essaie de me connecter au port 25 avec netcat d'une machine virtuelle à une autre mais ça me dit no route to Host bien que je puisse cingler. J'ai ma stratégie de pare-feu par défaut définie pour supprimer, mais j'ai une exception pour accepter le trafic pour le port 25 sur ce sous-réseau spécifique. Je peux me connecter depuis VM 3 TO VM 2 sur le port 25 avec nc mais pas depuis VM 2 TO 3.

Voici un aperçu de mes règles de pare-feu pour VM2

screenshot

Voici un aperçu de mes règles de pare-feu pour VM 3

screenshot

Lorsque je montre les services d'écoute que j'ai *:25 ce qui signifie qu'il écoute toutes les adresses ip ipv4 et :::25 pour les adresses ipv6. Je ne comprends pas où est l'erreur et pourquoi ne fonctionne pas, les deux règles de pare-feu acceptent le trafic sur le port 25, il est donc censé se connecter. J'ai essayé de comparer les différences entre les deux pour voir pourquoi je peux me connecter de vm3 à vm2 mais la configuration est la même. Des suggestions sur ce qui pourrait être le problème?

La mise à jour arrêtant le service iptable résout le problème mais j'ai toujours besoin que ces règles soient présentes.

21
Katz

Votre no route to Host tandis que la machine est pingable est le signe d'un pare-feu qui vous refuse l'accès poliment (c'est-à-dire avec un message ICMP plutôt que simplement DROP-ping).

Voir vos REJECT lignes? Ils correspondent à la description (REJETER avec ICMP xxx). Le problème est que ces lignes REJECT fourre-tout apparemment (#) sont au milieu de vos règles, donc les règles suivantes ne seront pas exécutées du tout. (#) Difficile de dire s'il s'agit de lignes fourre-tout réelles, la sortie de iptables -nvL serait préférable.

Mettez ces règles REJET à la fin et tout devrait fonctionner comme prévu.

23
xhienne