Как загрузить сохраненные правила iptables при перезагрузке [дубликат]

Я использовал предварительную настройку в / etc / network / interfaces. Странно, у меня два сервера Ubuntu, один ПК, а другой VPS. Этот метод работает на моем ПК, но не на моем VPS.

Это / etc / network / interfaces на моем ПК

# ifupdown has been replaced by netplan(5) on this system.  See
# /etc/netplan for current configuration.
# To re-enable ifupdown on this system, you can run:
#    sudo apt install ifupdown

auto dsl-provider
iface dsl-provider inet ppp
pre-up /bin/ip link set eno1 up # line maintained by pppoeconf
provider dsl-provider

#auto eno1
#iface eno1 inet manual

pre-up iptables-restore < /etc/iptables.rules

Это / etc / network / interfaces на моем VPS

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
pre-up iptables-restore < /etc/iptables.rules

source /etc/network/interfaces.d/*
1
задан 18 February 2019 в 18:34

1 ответ

Netplan не поддерживает сценарии рычага:

https://netplan.io/faq#use-pre-up-post-up-etc-hook-scripts

Обходное решение должно использовать networkd-диспетчера. Вышеупомянутый FAQ дает пример о том, как сделать это.

Следующее является примером использования networkd-диспетчера для выполнения существующих рычагов ifup с помощью сценария, установленного в/etc/networkd-dispatcher/routable.d/50-ifup-hooks:

#!/bin/sh

for d in up post-up; do
    hookdir=/etc/network/if-${d}.d
    [ -e $hookdir ] && /bin/run-parts $hookdir
done
exit 0

Точно так же вот пример рычага ifdown, установленного в/etc/networkd-dispatcher/off.d/50-ifdown-hooks:

#!/bin/sh

for d in down post-down; do
    hookdir=/etc/network/if-${d}.d
    [ -e $hookdir ] && /bin/run-parts $hookdir
done
exit 0
0
ответ дан 7 December 2019 в 21:19

Другие вопросы по тегам:

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