boot 14.04 iptables прерывается с перерывами [dублировать]

Этот вопрос уже имеет ответ здесь: iptables сбрасывается, когда сервер перезагружается 4 ответа. Как сохранить правила iptables? [duplicate] 2 ответа

У меня есть kvm VM с Ubuntu 14.04, установленным как межсетевой экран в виртуальной сети (с eth0 и eth1)

Это не курс, а работа. Мне нужно это узнать.

С перерывами eth1 не выйдет.

В /etc/network/interfaces оба eth0 и eth1 задаются вручную.

Когда eth0 должен вверх, есть команда up /etc/interim-fw.sh, которая ничего не позволяет и не переадресуется между портами.

Тогда eth1. Существует предварительная подготовка, когда я отправляю комментарий в файл журнала, который достиг этой точки. Затем добавьте ссылку, а затем вверх до команды /etc/firewall.sh, которая будет загружать iptables со всеми необходимыми правилами.

Случайно это не будет загружаться и только дойдет до eth1. Но как только VM загрузится, если я запустил bash /etc/firewall.sh, он будет загружаться полностью, и все будет хорошо!

Итак, мой вопрос: как я могу это решить? Почему я получаю условие гонки, если это то, что я получаю?

/ etc / network / interfaces:

auto lo iface lo inet loopback auto eth0 iface eth0 inet manual up ip a a 5.156.241.126/25 dev eth0 up ip li set up dev eth0 up /etc/interim-fw.sh down ifconfig eth0 0.0.0.0 down auto eth1 iface eth1 inet manual up ip a a 5.156.241.129/27 dev eth1 up ip li set up dev eth1 up ip route add default via 5.156.241.158 post-up /etc/firewall.sh down ifconfig $IFACE 0.0.0.0 down

/ etc / network / interfaces:

!/bin/bash -e I_INT=eth0 # Intranet-LAN-Interface I_DMZ=eth1 # DMZ-LAN-Interface NAME=5.156.241.130 MASTER=5.156.241.1 UBUNTU=141.30.13.10,141.30.13.20,141.76.1.200,141.76.1.204,141.76.1.208 REACTOS=178.63.204.104,188.40.64.41 MOZILLA=52.222.170.144 PYTHON=151.101.0.223,151.101.64.223,151.101.128.223,151.101.192.223 MAIL=5.156.241.142 WWW=5.156.88.1 STATE_NEW="-m state --state NEW" STATE_ESTABLISHED="-m state --state ESTABLISHED" PING="-p icmp --icmp-type 8" #ICMP packet type 8 alias echo request (= ping request ) REM="-m comment --comment" { iptables-restore << @@@@@@@@ *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT DROP [0:0] -A INPUT -i lo -j ACCEPT -A OUTPUT -o lo -j ACCEPT -A INPUT $STATE_ESTABLISHED -j ACCEPT -A OUTPUT $STATE_ESTABLISHED -j ACCEPT -A FORWARD $STATE_ESTABLISHED -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type any $STATE_NEW $REM "traceroute" -j ACCEPT -A INPUT -p udp --dport 33434:33523 $STATE_NEW $REM "traceroute" -j ACCEPT -A INPUT -i $I_INT -p tcp --dport 22345 $STATE_NEW $REM "ssh" -j ACCEPT -A FORWARD -i $I_INT -o $I_DMZ -p tcp --dport 22345 $STATE_NEW $REM "ssh" -j ACCEPT -A OUTPUT -o $I_DMZ -d $SATURN -p tcp --dport 53 $STATE_NEW $REM "dns" -j ACCEPT -A OUTPUT -o $I_DMZ -d $SATURN -p udp --dport 53 $STATE_NEW $REM "dns" -j ACCEPT -A FORWARD -i $I_INT -o $I_DMZ -d $SATURN -p tcp --dport 53 $REM "dns" $STATE_NEW -j ACCEPT -A FORWARD -i $I_INT -o $I_DMZ -d $SATURN -p udp --dport 53 $REM "dns" $STATE_NEW -j ACCEPT -A FORWARD -i $I_INT -o $I_DMZ -d $MASTER -p tcp --dport 53 $REM "dns" $STATE_NEW -j ACCEPT -A FORWARD -i $I_INT -o $I_DMZ -d $MASTER -p udp --dport 53 $REM "dns" $STATE_NEW -j ACCEPT -A OUTPUT -o $I_DMZ $PING $STATE_NEW $REM "Ping" -j ACCEPT -A FORWARD -i $I_INT -o $I_DMZ $PING $STATE_NEW $REM "Ping" -j ACCEPT -A FORWARD -i $I_INT -o $I_DMZ -d $UBUNTU -p tcp --dport 80 $STATE_NEW $REM "Ubuntu" -j ACCEPT -A FORWARD -i $I_INT -o $I_DMZ -d $REACTOS -p tcp -m multiport --dports 80,443 $STATE_NEW $REM "Reactos" -j ACCEPT -A FORWARD -i $I_INT -o $I_DMZ -d $MOZILLA -p tcp -m multiport --dports 80,443 $STATE_NEW $REM "Mozilla" -j ACCEPT -A FORWARD -i $I_INT -o $I_DMZ -d $PYTHON -p tcp -m multiport --dports 80,443 $STATE_NEW $REM "Python" -j ACCEPT -A OUTPUT -o $I_DMZ -d $UBUNTU -p tcp --dport 80 $STATE_NEW $REM "Ubuntu" -j ACCEPT -A FORWARD -i $I_INT -o $I_DMZ -d $WWW -p tcp --dport 80 $STATE_NEW $REM "www" -j ACCEPT -A OUTPUT -o $I_DMZ -d $WWW -p tcp --dport 80 $STATE_NEW $REM "www" -j ACCEPT COMMIT @@@@@@@@ } && { test $(sysctl -n net.ipv4.ip_forward) -eq 0 && sysctl net.ipv4.ip_forward=1 #Forwarding aktivieren echo "ok" echo "GOT HERE - ok!" >> /tmp/fw.log exit 0 } || { test $(sysctl -n net.ipv4.ip_forward) -ne 0 && sysctl net.ipv4.ip_forward=0 #Forwarding de-aktivieren /etc/firewall-vorlaeufig.sh echo "GOT HERE - not ok " >> /tmp/fw.log

Это не дублирует Как сохранить правила iptables? Причина в том, что мой старший администратор настаивает на том, что я использую этот скрипт /etc/firewall.sh. Кроме того, сценарий работает нормально, но случайно не работает.

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

0
задан 17 July 2017 в 09:58

2 ответа

Ваша ситуация сложная, поскольку вы используете виртуальную машину, и вы, кажется, используете какой-то скрипт, и вы пытаетесь вызвать скрипт в своих правилах pre / post up / down.

IMO большинство «скриптов» для генерации правил для iptables являются чрезмерно сложными и совершенно ненужными.

Самый простой способ сохранить / восстановить ваши правила - с помощью iptables-persistent

sudo apt-get install iptables-persistent

После установки пакет будет восстанавливать ваши правила независимо от того, вручную вы их ввели или сгенерировали из какого-то скрипта.

Если вам действительно нужна помощь в вашем скрипте, вам необходимо разместить его, а также ваши файлы конфигурации.

0
ответ дан 18 July 2018 в 10:16

Ваша ситуация сложная, поскольку вы используете виртуальную машину, и вы, кажется, используете какой-то скрипт, и вы пытаетесь вызвать скрипт в своих правилах pre / post up / down.

IMO большинство «скриптов» для генерации правил для iptables являются чрезмерно сложными и совершенно ненужными.

Самый простой способ сохранить / восстановить ваши правила - с помощью iptables-persistent

sudo apt-get install iptables-persistent

После установки пакет будет восстанавливать ваши правила независимо от того, вручную вы их ввели или сгенерировали из какого-то скрипта.

Если вам действительно нужна помощь в вашем скрипте, вам необходимо разместить его, а также ваши файлы конфигурации.

0
ответ дан 24 July 2018 в 19:32

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

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