1

Я пытаюсь открыть порт в CentOS, но он, похоже, не работает: порт 16 кажется закрытым, а 4075 - открытым, хотя в соответствии с iptables это должно быть наоборот.

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1       30  1920 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:445
2        0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW udp dpt:445
3     8071  630K ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW udp dpt:137
4      516  110K ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW udp dpt:138
5       17  1064 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:139
6        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:16
7        0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW udp dpt:16
8     5533 8865K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
9        6   432 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0
10       0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
11       3   872 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
12    2320  277K REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT 26 packets, 1776 bytes)
num   pkts bytes target     prot opt in     out     source               destination



[root@titan ~]# telnet localhost 16 Trying ::1... telnet: connect to
address ::1: Connection refused 
[root@titan ~]# telnet localhost 4075
Trying ::1... Connected to localhost.

Подскажите, пожалуйста, что я делаю не так? Заранее спасибо.

ОБНОВЛЕНИЕ Открыл порт в ip6tables, все еще не может соединиться

ip6tables -I INPUT 1 -p tcp -m state --state NEW -m tcp --dport 16 -j ACCEPT
ip6tables -I INPUT 1 -p udp -m state --state NEW -m udp --dport 16 -j ACCEPT

telnet localhost 16
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused

ОБНОВЛЕНИЕ 2 Я понял это. Я не осознавал, что мне нужен сервис для прослушивания порта, чтобы иметь возможность подключаться через telnet. Спасибо всем.

2 ответа2

0

У меня была похожая проблема. Во-первых, вы должны выйти из сеанса SSH, а затем подключиться к машине. Это потому, что большинство iptables не блокируют петлевой интерфейс. Во-вторых, как в комментарии вы использовали ipv6. Я думаю, что ваша проблема не в iptables. в большинстве случаев ваш iptables ничего не запрещает на вашем локальном хосте, но сервер, доступный через порт 4075, может говорить на ipv6, а сервер на порту 16 - нет, но ваша команда telnet не использует ipv4. Я думаю, что это потому, что мне не хватает попытки подключиться к 127.0.0.1. мой телнет (к любому не открытому порту) такой

$ telnet localhost 12334
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused

поэтому он сначала пробует ipv6, который является предпочтительным, а затем, после отказа в соединении, он пытается соединиться через ipv4.

РЕДАКТИРОВАТЬ Я видел ваш комментарий, так что, возможно, что-то с вашим сервисом не так .... Вы можете попробовать войти в каждый отброшенный пакет? вот статья, которую я нашел

0

IPTables работает для IPV4, но не для IPV6. Используйте ip6tables.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .