У меня есть ADSL модем / маршрутизатор / коммутатор, который выполняет NAT. Он делает это даже для одного хоста, который может быть настроен для предоставления DMZ.
Я хочу иметь возможность выполнять сканирование Nmap с определенного хоста, и для этого хоста не должно быть NAT. Одна из вещей, которую я сейчас не могу сделать из-за NAT, - это nmap --traceroute
с чем-то кроме ICMP. В то же время я хочу, чтобы другие узлы в моей сети были позади NAT. Мой провайдер назначает мне один IPv4-адрес, но я, как бизнес-клиент, могу запросить дополнительный адрес.
Возможно ли технически для устройства обеспечить такую функциональность? Есть ли класс устройств, которые это обеспечивают?
Дополнительно: почему не работает nmap --traceroute
Следующие работы, как и ожидалось:-
nmap -sP -PE --traceroute scanme.nmap.org
TRACEROUTE (using proto 1/icmp)
HOP RTT ADDRESS
1 16.00 ms my.router (192.168.1.1)
2 55.00 ms lo0.10.central10.ptn-bng01.plus.net (195.166.128.228)
3 42.00 ms irb.10.ptw-cr02.plus.net (84.93.249.2)
4 37.00 ms 10gigabitethernet5-1.core1.lon1.he.net (5.57.80.128)
5 33.00 ms 10ge3-1.core1.lon2.he.net (72.52.92.222)
6 100.00 ms 100ge1-1.core1.nyc4.he.net (72.52.92.166)
7 183.00 ms 10ge9-7.core1.sjc2.he.net (184.105.213.197)
8 179.00 ms 10ge3-2.core3.fmt2.he.net (184.105.222.13)
9 176.00 ms router3-fmt.linode.com (65.49.10.218)
10 168.00 ms scanme.nmap.org (74.207.244.221)
Nmap done: 1 IP address (1 host up) scanned in 5.58 seconds
Это не работает, как ожидалось:-
nmap -sP -PS80 --traceroute scanme.nmap.org
TRACEROUTE (using port 80/tcp)
HOP RTT ADDRESS
1 ... 9
10 166.00 ms scanme.nmap.org (74.207.244.221)
Nmap done: 1 IP address (1 host up) scanned in 6.15 seconds
Насколько я понимаю, my.router отбрасывает сообщения ICMP Time Exceeded, поступающие от промежуточных переходов, и я думаю, это потому, что my.router ожидает ответы TCP на записи TCP в своей таблице NAT и считает ответы ICMP недействительными.
(Я задал оригинальную версию этого вопроса в Network Engineering, и мне посоветовали задать его здесь)