Як видалити доступ до порту за допомогою брандмауера на Centos7?


14

Якщо порт відкритий для публічного використання за допомогою 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 все ще відображається.

Будь ласка, зрозумійте, що я не надто знайомий з конфігураціями сторони Sever.

Душа: Не забувайте - тривалість до постійного

$ firewall-cmd --zone=public --remove-port=10050/tcp
$ firewall-cmd --runtime-to-permanent
$ firewall-cmd --reload 

Ах, я забув - постійний
mcv

1
Ви повинні опублікувати це як відповідь (і прийняти її). Цілком прийнятно приймати власні відповіді, таким чином питання позначається як вирішене.
Джеральд Шнайдер

1
Краще не користуватися --permanent, якщо ви помилитесь із правилом брандмауера. Якщо ви використали --permanentі заблокували себе, вам буде важко повернутися назад, оскільки у вас немає можливості відновитись. Натомість не використовуйте --permanent, і коли ви задоволені правилами, використовуйте firewall-cmd --runtime-to-permanentдля здійснення правил. Якщо ви заблокуєтесь, перезавантаження брандмауера або перезавантаження буде відновлено.
Майкл Хемптон

То чи можна firewall-cmd --runtime-to-permanentзастосувати це після firewall-cmd --reloadабо повністю замінить його? Я обов'язково спробую це.
mcv

Відповіді:


29

Рішення: Не забувайте - від постійного до постійного часу

$ firewall-cmd --zone=public --remove-port=10050/tcp
$ firewall-cmd --runtime-to-permanent 
$ firewall-cmd --reload 

1
Мені все-таки довелося слідувати systemctl restart firewalld.
JaKu

Це для мене не вийшло. systemctlє версією 219і firewall-cmdє версією 0.5.3на CentOS 7.5 64bit.
Pred

5
# firewall-cmd --zone=public --remove-port=12345/tcp --permanent
# firewall-cmd --reload

Замініть 12345 на порт, який потрібно видалити.


1
Я десь прочитав, що у документі Fedora пропонується поставити --permanentяк перший варіант. Але так, --permanentце ключ.
WesternGun

Зазвичай я зберігаю це як останній варіант, щоб переконатися, що якщо правило з будь-якої причини неправильне, я можу просто перезавантажитись, не роблячи правило постійним. Якщо він робить те, що я хочу, я можу стрілку вгору і додати --permanentдо кінця.
Джастін Е

0

Виконайте ці кроки, вам буде добре:

  1. $ firewall-cmd --zone = public --remove-port = 10050 / tcp
  2. $ firewall-cmd - час постійного до постійного
  3. $ firewall-cmd - перезавантажити
  4. $ systemctl перезапустити firewalld
  5. $ firewall-cmd --zone = public - список-порти

Я не думаю, що вам не потрібно перезапускати firewalld, firewalldадже він фактично був розроблений, щоб уникнути перезавантаження всіх служб щоразу, коли ви змінювали конфігурацію.
vdegenne
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.