Как я могу определить, что фильтрует порт в 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 навсегда, следуйте этому руководству