Как я могу определить, что фильтрует порт в CentOS 7?

Я недавно сделал yum update и reboot, и теперь я не могу подключиться к моей машине по SSH. Я использую нестандартный порт SSH (скажем 444) и когда запускаю nmap <MY-IP> -p444 --reason я получил 444/tcp filtered unknown host-prohibited. Если я сбегу -p22 вместо этого я получаю 22/tcp closed ssh.

Я загрузился в режим восстановления и смонтировал свой диск, и мне неясно, где хранятся правила iptables. Я думаю, они должны быть в /etc/sysconfig/iptables, но этот файл не существует. Я получил этот сервер некоторое время назад для эксперимента и, возможно, я никогда не устанавливал никаких правил брандмауэра. Но если это так, то что фильтрует порт 444? Может быть, это что-то другое, кроме iptables - если да, то как мне это найти?

Спасибо!

1 ответ

Вы используете нестандартный порт для SSH. SELinux должен был переименовать контексты файлов после перезагрузки системы.

Чтобы временно отключить SELinux

$ sudo setenforce 0

Если вы решите продолжать использовать нестандартный порт для SSH при включенном SELinux, используйте команду semanage:

$ sudo semanage port -a -t ssh_port_t -p tcp 4444

Затем разрешите добавить порт в исключения брандмауэра:

$ sudo firewall-cmd --add-port=4444/tcp --permanent
$ sudo firewall-cmd --reload

Чтобы отключить SELinux навсегда, следуйте этому руководству

Другие вопросы по тегам