Перезавантаження / перезапуск Iptables на Ubuntu 18.04


16

У мене є проблема з iptables на Ubuntu 18.04, раніше я використовувався з Centos 7 і Red Hat, і я можу просто перезапустити

systemctl restart iptables

але на Ubuntu це не працює. Я не міг знайти iptable під init.dжодним із них.

Хтось може мені допомогти, як я можу перезапустити або перезавантажити його на Ubuntu 18.04?


Так ubuntu 1804 видалити iptables-зберегти від встановлення за замовчуванням? Я витрачав сервальські дні, щоб вивчити, як використовувати iptables-save, тоді він зникає з установки за замовчуванням, WTF? Отже, який syscall ядра Linux потрібно використовувати, щоб отримати такий же ефект, як iptables-save, якщо ubuntu 2004 видалити ufw зі встановлення за замовчуванням?
бронзовий чоловік

Відповіді:


31

Якщо ви хочете, щоб брандмауер Ubuntu функціонував аналогічно RedHat / Fedora, в Ubuntu 18.04, ви, мабуть, хочете таких:

sudo apt install iptables-persistent netfilter-persistent

Потім відредагуйте правила в /etc/iptables/rules.v[46]

Інші команди, які можуть бути корисні:

netfilter-persistent save
netfilter-persistent start

iptables-save  > /etc/iptables/rules.v4
ip6tables-save > /etc/iptables/rules.v6

iptables-restore  < /etc/iptables/rules.v4
ip6tables-restore < /etc/iptables/rules.v6

systemctl stop    netfilter-persistent
systemctl start   netfilter-persistent
systemctl restart netfilter-persistent

Два пакети схожі, але забезпечують дещо різний функціонал. Якщо ви тільки встановите iptables-persistent, ви не отримаєте файл визначення служби для правильного поводження в systemd, наприклад/lib/systemd/system/netfilter-persistent.service

Якщо ви встановите лише встановлення netfilter-persistent, ви побачите, що правила не застосовуються правильно під час завантаження, відповідно до README

netfilter-persistent and its plugins
------------------------------------

netfilter-persistent does no work on its own. You need the accompanying
plugins (for example, iptables-persistent) to load and save filter rules.

However, commands are run from netfilter-persistent. For example, to save
all filter rules:

   netfilter-persistent save

or to load them:

   netfilter-persistent start

For more details, see `man netfilter-persistent`.

The system service will try to load rules at startup if enabled, but by
default it will not flush rules at shutdown. This behaviour can be changed
by editing /etc/default/netfilter-persistent.

afaict, netfilter-persistent saveтакож буде оновлено /etc/iptables/rules.v4/6, що, якщо правильно, я вважаю, що зазначати також iptables-save > /etc/iptables/rules.v4/6непотрібно.
gilad mayani

Це правда, але додаткові команди були включені для повноти. Особисто я ніколи не використовую netfilter-persistent saveкоманду, оскільки вона містить коментарі та не занулює лічильники.
Дякую

2

У нових дистрибутивах у вас зазвичай є інтерфейс для налаштування та управління брандмауером. Найпопулярніші в ці дні ufwі firewalldта , можливо shorewall. Ці фронтенди також намагаються додавати правила, iptablesі iptablesсценарій можна пропустити, або, краще сказати, його слід пропустити, оскільки фронтенди не підбирають ваші зміни, які ви зробили iptablesкомандою безпосередньо.

Для Ubuntu 18.04, схоже, firewalldвін став за замовчуванням там, де ufwвін встановлений, але неактивний.

root@localhost:~# firewall-cmd --state 
running
root@localhost:~# ufw status
Status: inactive

Тому замість того, щоб створювати власні iptablesправила відповідності, ви повинні використовувати ці фронталі для створення конфігурації брандмауера.

Я не знайомий, ufwале впевнений, що ви знайдете тут інформацію з askubuntu або десь ще в Інтернеті.
firewalldпоставляється з GUI ( firewall-config) та інструментом командного рядка firewall-cmd.
У firewalldвас є можливість додавати правила, не застосовуючи їх зараз ( постійне ), і застосовувати їх лише після перезавантаження брандмауера. Або ви можете додати їх у конфігурацію виконання , протестувати та додати її до постійної конфігурації.
Щоб перезавантажити, наприклад, нещодавно додану постійну конфігурацію до своїх запущених правил, вам доведеться ввести команду наступним чином або зробити відповідні кліки в графічному інтерфейсі.

firewall-cmd --reload

На перший погляд це може виглядати трохи складніше, оскільки firewalldце наступні зони та концепція ланцюгів . Але він чудово інтегрується з NetworkManager , постачає графічний інтерфейс ...
Хороша відправна точка для ознайомлення з ним знаходиться тут .


2
Це не відповідає на запитання
Пантера

Це може спрацювати, але не може автоматизуватися за допомогою додатків на передній частині для DevOps.
Lance Kind

Для Ubuntu 18.04, схоже, firewalld НЕ встановлений за замовчуванням.
Rockallite

1

Ви можете перевірити вміст пакета за допомогою:

dpkg -L iptables-persistent

І тоді ви побачите, що наступна команда є правильною:

/etc/init.d/netfilter-persistent restart

0

У Ubuntu 1804 для досягнення стійкості використовуйте команду: iptables-save> /etc/iptables/rules.v4

або просто додати рядок iptables вручну до файла: /etc/iptables/rules.v4


-2

Debian / Ubuntu не має сценарію init для iptables (на відміну від будь-якої fedora / RHEL / Centos)

У вас є або e, щоб написати сценарій, або побачити скидання iptables при перезавантаженні сервера

По черзі використовуйте UFW https://help.ubuntu.com/community/UFW

Або firewalld

Як можна замінити iptables firewalld в ubuntu 16.04?

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