Я пытаюсь разрешить интернет-трафику порт 7778
на моем сервере, но не могу сделать это правильно. Вероятно, здесь совершается какая-то ошибка новичка. Можете ли вы помочь мне диагностировать и решить проблему?
Я просто сделал следующее:
sudo iptables -A TCP -p tcp -m tcp --dport 7778 -j ACCEPT
Если я сделаю iptables -S
, я действительно увижу правило, добавленное в список, например:
-A TCP -p tcp -m tcp --dport 22 -j ACCEPT
-A TCP -p tcp -m tcp --dport 80 -j ACCEPT
-A TCP -p tcp -m tcp --dport 443 -j ACCEPT
-A TCP -p tcp -m tcp --dport 7778 -j ACCEPT
Однако, если я пингую этот конкретный порт из другого сервер - telnet example.com 7778
, я вижу:
telnet: невозможно подключиться к удаленному хосту: В соединении отказано
Что еще я могу здесь сделать? Порт 80
, 443
и 22
работают правильно FYI.
Примечание: мой сервер использует инфраструктуру Azure (классическая виртуальная машина). Дополнительным шагом, который я предпринял, было добавление конечной точки
для порта 7778 на портале Azure. Таким образом, эта часть закрыта.
Используя переключатель -A
, вы добавили свое правило в конец цепочки. Это почти наверняка поместит его после правила, которое отбрасывает / блокирует пакеты.
Когда iptables / netfilter проверяет, как следует действовать с пакетом. побеждает тот, кто первым совпадет. В вашем случае он, скорее всего, будет соответствовать строке вроде -A INPUT -j REJECT --reject-with icmp-port-unreachable
, которая вызовет сообщение об отказе в соединении до сопоставления ваших разрешающих сообщений.
решение - использовать правило вставки с помощью -I
в подходящее место в вашей цепочке INPUT.
Судя по журналу ошибок, ваша служба не слушает.
Чтобы устранить эту проблему более эффективно, я предложил проверить следующие способы:
1. Проверить службу в вашей виртуальной машине.
netstat -ant | grep 7778
Убедитесь, что порт прослушивает.
telnet 127.0.0.1 7778
Насколько мне известно, если ваш брандмауэр отсутствует какая-то конфигурация, вы получите следующую ошибку.
telnet: Невозможно подключиться к удаленному узлу: Истекло время ожидания подключения