Мое домашнее интернет-соединение имеет статический IP-адрес (например: 123.123.123.123
)
Я настроил свой маршрутизатор к порту передачи 9000
к внутреннему узлу (192.168.1.101
), который работает Ubuntu 14-04
.
Я работаю netcat
слушание на порте 9000:
$ nc -l 9000
Соединение из моей LAN:
На другой машине на моей LAN я могу telnet к тому порту:
$ telnet 192.168.1.101 9000
Trying 192.168.1.101...
Connected to 192.168.1.101.
Escape character is '^]'.
hello world
и соединение успешно выполняется
$ nc -l 9000
hello world
Соединение снаружи моей LAN:
Однако, если я пытаюсь соединиться через свой внешний IP-адрес, я не могу пройти:
$ telnet 123.213.123.123 9000
Trying 123.213.123.123...
Проблема брандмауэра?
Я пытался позволить порт 9000 на iptables (я не эксперт по iptables
btw!):
$ sudo iptables -I INPUT 1 -p tcp --dport 9000 -j ACCEPT
Это - моя получающаяся конфигурация:
$ sudo iptables -L -n -v
Chain INPUT (policy ACCEPT 203 packets, 16977 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:9000
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 178 packets, 23749 bytes)
pkts bytes target prot opt in out source destination
telnet
все еще не может пройти.
Я думаю iptables
конфигурация могла бы быть ненужной так или иначе хотя, потому что ufw status
говорит, что это неактивно:
$ sudo ufw status
Status: inactive
Сканирование портов говорит, что это открыто:
Если я запускаю сканер портов на своем внешнем IP с nc -l 9000
выполнение его говорит, что порт открыт.
Если я работаю tcpdump
Я не вижу, что что-либо входит на порте 9000, когда я пробую telnet
к порту. Однако выполнение сканера портов действительно обнаруживается:
18:41:34.023692 IP 198.199.98.246.49977 > my_host.9000: Flags [S], seq 3955039481, win 14600, options [mss 1400,sackOK,TS val 4051434607 ecr 0,nop,wscale 8], length 0
18:41:34.023748 IP my_host.9000 > 198.199.98.246.49977: Flags [S.], seq 3541700333, ack 3955039482, win 28960, options [mss 1460,sackOK,TS val 465840988 ecr 4051434607,nop,wscale 7], length 0
18:41:34.250110 IP 198.199.98.246.49977 > my_host.9000: Flags [.], ack 1, win 58, options [nop,nop,TS val 4051434663 ecr 465840988], length 0
18:41:34.250973 IP 198.199.98.246.49977 > my_host.9000: Flags [F.], seq 1, ack 1, win 58, options [nop,nop,TS val 4051434664 ecr 465840988], length 0
18:41:34.251035 IP my_host.9000 > 198.199.98.246.49977: Flags [F.], seq 1, ack 2, win 227, options [nop,nop,TS val 465841045 ecr 4051434664], length 0
18:41:34.477197 IP 198.199.98.246.49977 > my_host.9000: Flags [.], ack 2, win 58, options [nop,nop,TS val 4051434720 ecr 465841045], length 0
Вопросы:
Я в чем-то вроде потери как, туда, где проблема.
есть ли какая-либо причина, почему Вы выполняете iptables брандмауэр и fail2ban в Вашей внутренней сети из-за аппаратного брандмауэра?
, По моему опыту, они довольно хитры, чтобы установить и диагностировать. особенно при выполнении fail2ban явная цель которого состоит в том, чтобы на самом деле сделать то, что Вы пытаетесь сделать трудный.
, например, При попытке неудачно попытаться соединиться с Вашей машиной, определенное число времен fail2ban ударит блокировку Вас. Мое предложение (если бы Вы уже не попробовали) было бы