Я изменил порт ssh на произвольный номер и заметил, что firewalld больше не разрешает вход по ssh. Я предполагаю, что порт 22 жестко запрограммирован в определении службы ssh для firewalld. Достаточно ли, если я разрешаю новый порт для трафика TCP, или я должен определить новую службу для настраиваемого порта ssh?
Я предполагаю, что порт 22 жестко запрограммирован в определении службы ssh для firewalld
В моих системах CentOS / Fedora определения служб по умолчанию хранятся в файлах xml в /usr/lib/firewalld/services
. Имя файла - это имя службы. Они переопределяются конфигурацией системы, хранящейся в /etc/firewalld/services
.
Чтобы изменить порт ssh, вы можете скопировать /usr/lib/firewalld/services/ssh.xml
к /etc/firewalld/services/ssh.xml
и измените его для своих целей.
Затем вам нужно переустановить конфигурацию
firewall-cmd --reload
Теперь ваша система должна разрешать ssh-соединения на вашем новом порту.
Я бы обязательно использовал имя службы вместо номера порта, так как это немного проясняет, что происходит. Я бы не хотел говорить, что лучше: создать новую службу или заменить существующую. Не совсем сложно понять, что происходит.
У меня возникла эта проблема с SSH после изменения порта в CentOS 7. Проблема связана с SElinux - вам нужно добавить контекст для нового порта или, если вы не используете SElinux, отключить его. Кроме того, вам не нужно добавлять новую службу - достаточно добавить новый порт в белый список.