Перезагрузка / перезапуск Iptables в Ubuntu 18.04

15

У меня проблема с iptables в Ubuntu 18.04 до этого, когда я использовал с Centos 7 и Red Hat, и я могу просто перезапустить с

systemctl restart iptables

но на Ubuntu это не работает. Я не мог найти Iptable под init.dни.

Кто-нибудь может мне помочь, как я могу перезапустить или перезагрузить его на Ubuntu 18.04?

CsharpJoe
источник
Так убунту 1804 удалите iptables-save из установки по умолчанию? Раньше я проводил несколько дней, чтобы изучить, как использовать iptables-save, затем он исчезает из установки по умолчанию, WTF? Итак, какой системный вызов ядра Linux я должен использовать, чтобы получить тот же эффект, что и iptables-save, в случае, если ubuntu 2004 удалит ufw из установки по умолчанию?
бронзовый человечек

Ответы:

29

Если вы хотите, чтобы ваш брандмауэр 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.
ThankYee
источник
afaict, netfilter-persistent saveтакже будет обновлять /etc/iptables/rules.v4/6, что, если правильно, я думаю, что отмечать iptables-save > /etc/iptables/rules.v4/6также не нужно.
Гилад Майани
Это правда, но дополнительные команды были включены для полноты. Лично я никогда не использую 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
1

Вы можете проверить содержимое пакета с помощью:

dpkg -L iptables-persistent

И тогда вы обнаружите, что следующая команда верна:

/etc/init.d/netfilter-persistent restart
bluszcz
источник
0

В Ubuntu 1804 для достижения постоянства используйте команду: iptables-save> /etc/iptables/rules.v4

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

Ясир Эльшариф
источник
-2

Debian / Ubuntu не имеет сценария инициализации для iptables (в отличие от любых fedora / RHEL / Centos)

Вы либо должны написать скрипт, либо увидеть сброс iptables при перезагрузке сервера

Поочередно используйте UFW https://help.ubuntu.com/community/UFW

Или огненный

Как мы можем заменить iptables на firewalld в Ubuntu 16.04?

пантера
источник