Нет маршрута к хосту с помощью nc, но можно пропинговать

20

Я пытаюсь подключиться к порту 25 с netcat с одной виртуальной машины на другую, но это говорит мне, no route to hostхотя я могу пинговать. Моя политика брандмауэра по умолчанию настроена на удаление, но у меня есть исключение для приема трафика для порта 25 в этой конкретной подсети. Я могу подключиться с VM 3 к VM 2 через порт 25 с nc, но не с VM 2 TO 3.

Вот предварительный просмотр моих правил брандмауэра для VM2

Скриншот

Вот предварительный просмотр моих правил брандмауэра для VM 3

Скриншот

Когда я показываю сервисы прослушивания, которые у меня есть, *:25это означает, что он прослушивает все IP-адреса ipv4 и :::25ipv6. Я не понимаю, где ошибка и почему не работает оба правила брандмауэра принимают трафик через порт 25, поэтому он должен подключаться. Я попытался сравнить различия между обоими, чтобы понять, почему я могу подключиться с VM3 к VM2, но конфигурация все та же. Любые предложения о том, в чем может быть проблема?

Обновление, останавливающее службу iptable, решает проблему, но мне все еще нужны эти правила.

Katz
источник
4
Пожалуйста, по возможности избегайте снимков экрана. Вместо этого отредактируйте свой вопрос и скопируйте и вставьте текст вашего терминала. Благодарю.
xhienne

Ответы:

22

То no route to host, что машина в состоянии пинговать, является признаком брандмауэра, который вежливо запрещает вам доступ (т. Е. С помощью сообщения ICMP, а не просто DROP-ping).

Видишь твои REJECTстроки? Они соответствуют описанию (REJECT with ICMP xxx). Проблема в том, что эти, казалось бы, (#) универсальные строки REJECT находятся в середине ваших правил, поэтому следующие правила не будут выполняться вообще. (#) Трудно сказать, являются ли эти строки общими для всех, вывод iptables -nvLбудет предпочтительнее.

Положите эти правила REJECT в конце, и все должно работать, как ожидалось.

xhienne
источник