Моє підключення до інтернету вдома має статичний IP - адреса (наприклад: 123.123.123.123
)
Я налаштував свій маршрутизатор для переадресації порту 9000
на внутрішній хост ( 192.168.1.101
), який працює Ubuntu 14-04
.
Я запускаю netcat
слухати порт 9000:
$ nc -l 9000
Підключення всередині моєї локальної мережі:
На іншій машині в моїй локальній мережі я можу передати телефон до цього порту:
$ 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
Підключення за межами моєї локальної мережі:
Однак якщо я спробую підключитися через свою зовнішню 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
Запитання:
Я трохи втрачаю те, де проблема.
- Як я можу діагностувати, де проблема?
- Як надходять дані сканування порту, але не мій telnet?
- Як дозволити вхідні з'єднання?