Нужно ли восстанавливать правила iptable каждый раз при загрузке?

Я выяснил, как найти путь к файлу .desktop на основе этого ответа , что похоже, но не совсем то, что я хотел.

Сначала прикрепите соответствующее приложение к Launcher. Затем выполните следующую команду:

gsettings get com.canonical.Unity.Launcher favorites

В моем случае вывод был:

['application://nautilus.desktop', 'application://firefox.desktop', 'application://thunderbird.desktop', 'application://chromium-browser.desktop', 'application://libreoffice-writer.desktop', 'application://libreoffice-calc.desktop', 'application://ubuntusdk.desktop', 'application://gnome-terminal.desktop', 'application://gedit.desktop', 'application://com.ubuntu.developer.mdspencer.ubuntu-tasks_ubuntu-tasks_0.5.1.desktop', 'application://xchat.desktop', 'unity://running-apps', 'unity://expo-icon', 'unity://devices']

Итак, имя файла .desktop:

com.ubuntu.developer.mdspencer.ubuntu-tasks_ubuntu-tasks_0.5.1.desktop

Что показывает, в чем моя проблема. В любом случае, вы можете найти, где находится этот файл .desktop, запустив locate:

$ locate com.ubuntu.developer.mdspencer.ubuntu-tasks_ubuntu-tasks_0.5.1.desktop
/home/mspencer/.cache/upstart-app-launch/desktop/com.ubuntu.developer.mdspencer.ubuntu-tasks_ubuntu-tasks_0.5.1.desktop
/home/mspencer/.local/share/applications/com.ubuntu.developer.mdspencer.ubuntu-tasks_ubuntu-tasks_0.5.1.desktop
/home/mspencer/.local/share/click/hooks/desktop/com.ubuntu.developer.mdspencer.ubuntu-tasks_ubuntu-tasks_0.5.1.desktop

, который показывает, откуда запускается приложение.

Я не совсем уверен, что вызвало мою проблему, но я исправил ее, запустив click unregister, а затем click register для последней версии.

14
задан 20.01.2020, 19:45

3 ответа

Во-первых, создайте файл с содержанием iptables-save:

sudo iptables-save > /etc/iptables_rules

На самом деле не имеет значения, куда вы помещаете файл, все, что вам нужно сделать, это убедиться, что следующая строка ссылается в тот же файл. Затем откройте /etc/rc.local и добавьте следующую строку:

/sbin/iptables-restore < /etc/iptables_rules

С этого момента каждый раз, когда ваш компьютер включается или перезагружается, iptables будет загружать правила из указанного вами файла.

21
ответ дан 20.01.2020, 19:46
  • 1
    Я не рекомендовал бы использовать /etc/rc.local для этого. Это выполняется позже, чем остальная часть Вашего системного запуска и потенциально отъезда Вашей системы в состоянии non-firewalled. Я предложил бы поместить этот короткий сценарий в /etc/network/if-up.d/firewall (новый файл). Это удостоверяется, что будет выполняться каждый раз, когда Вы включаете свои сетевые интерфейсы. – Edge 20.01.2020, 19:46
  • 2
    Ошибка полномочий нормальный/ожидает. sudo применяется только к команде перед " > " перенаправление файла сделано отдельно Вашей оболочкой. – zwcloud 20.01.2020, 19:47
  • 3
    можно создать файл в любом каталоге, это не обязательно для создания файла в/etc/ – Ivar 20.01.2020, 19:47
  • 4
    Я добираюсь -bash: /etc/iptables_rules: Permission denied на первой команде. Который является странным использованием sudo и так далее. – Nayan 20.01.2020, 19:48
  • 5
    Я должен был использовать sudo sh -c '/sbin/iptables-save > /etc/iptables.save' для двигений Permission denied ошибка. Ссылка – double-beep 20.01.2020, 19:48

Если у вас много правил, вам также следует рассмотреть возможность использования ipset в сочетании с iptables. Ipset использует индексированную таблицу базы данных и работает намного быстрее, чем iptables, когда ищет адрес, чтобы принять или отклонить его.

http://ipset.netfilter.org/index.html

1
ответ дан 20.01.2020, 19:47
apt-get install iptables-persistent

При установке следует сохранить текущую конфигурацию iptables. В противном случае вы можете сохранить их в эти файлы (в зависимости от v4 или v6), и iptables-persistent загрузит их при загрузке:)

iptables-save > /etc/iptables/rules.v4
ip6tables-save > /etc/iptables/rules.v6
12
ответ дан 20.01.2020, 19:47

Теги

Похожие вопросы