Если бы порт был открыт для публичного использования с помощью firewall-cmd, я хотел ограничить этот порт определенным IP-адресом, ответ на который я нашел на этом САЙТЕ .
Я использовал следующее, чтобы открыть его:
$ firewall-cmd --permanent --zone=public --add-port=10050/tcp
$ firewall-cmd --reload
Теперь, используя информацию из информации, которую я нашел, я хотел ограничить доступ к этому порту определенным IP-адресом. Нужно ли сначала удалить этот порт из публичного доступа?
Или я могу просто добавить новое правило следующим образом, и это решит проблему для меня?
$ firewall-cmd --new-zone=special
$ firewall-cmd --permanent --zone=special --add-rich-rule='
rule family="ipv4"
source address=”123.1.1.1"
port protocol="tcp" port="10050" accept'
Я пробовал следующее:
$ firewall-cmd --zone=public --remove-port=10050/tcp
$ firewall-cmd --reload
Но когда я запускаю следующее:
$ firewall-cmd --list-ports
10050/tcp
все еще отображается.
Пожалуйста, поймите, я не слишком знаком с конфигурациями на стороне сервера.
Soultion: Не забудьте про --runtime-to-перманент
$ firewall-cmd --zone=public --remove-port=10050/tcp
$ firewall-cmd --runtime-to-permanent
$ firewall-cmd --reload
--permanent
, если вы допустили ошибку с правилом брандмауэра. Если вы использовали --permanent
и заблокировали себя, вам будет довольно сложно вернуться обратно, так как у вас нет возможности выздороветь. Вместо этого не используйте --permanent
, а когда вы довольны правилами, используйте firewall-cmd --runtime-to-permanent
для фиксации правил. Если вы заблокированы, перезагрузка брандмауэра или перезагрузка вернутся.
firewall-cmd --runtime-to-permanent
применяться после firewall-cmd --reload
или полностью заменить? Я обязательно попробую это.