iptables: DNAT не применяется при сканировании nmap - PullRequest
0 голосов
/ 04 мая 2020

Я экспериментирую с iptables в виртуальной сети. Моя топология сети выглядит следующим образом:

(1.2.3.0/24) ------ (eth1) R (eth0) ------ (10.2.0.0/24)

IP-адрес, связанный с eth1 R: 1.2.3.1.

Я настроил маршрутизатор R для перенаправления входящего трафика c на eth1 на 10.2.0.1:80 по следующему правилу:

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination 10.2.0.1:80

Таблица FORWARD для R пуста с политикой ACCEPT.

На хосте внешней сети (1.2.3.0/24) я попытался выполнить сканирование Nmap NULL на порту 80 1.2.2.1 с:

nmap -sN -p80 1.2.3.1

Я ожидал, что R перенаправит Пакеты TCP этого сканирования в 10.2.0.1, но tcpdump показывает, что пакеты не DNATed, то есть они отброшены на R.

Я предполагаю, что такие пакеты связаны с состоянием INVALID, и поэтому предварительная маршрутизация DNAT не делает примените в этой ситуации.

Правильно ли я сделал это предположение?

1 Ответ

0 голосов
/ 04 мая 2020

Ваш внешний интерфейс на самом деле прослушивает что-то через порт 80? если да, NAT будет иметь место, в противном случае он будет отброшен.

Вам необходимо запустить какой-либо веб-сервер или какой-либо процесс, который привязывается к порту 80 вашего внешнего интерфейса.

вы можете попробовать telnet 1.2.3.1 80?

...