Подтвердить что ты не робот

Как постоянно обновлять iptables

Я пытаюсь перенаправить HTTP-трафик на порт 8080 на том же компьютере, и ниже действуют правила iptables.

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDIRECT --to-ports 8080

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

Я использую сервер Ubuntu 11.10.

4b9b3361

Ответ 1

Один из способов сделать это:

vim /etc/network/interfaces

Добавьте следующую строку вместе с вашими директивами eth0:

post-up /sbin/iptables-restore < /etc/iptables-up.rules

Теперь запустите следующую команду

iptables-save > /etc/iptables-up.rules

Надеюсь, это поможет.

Ответ 2

Ubuntu (и Debian) предлагают пакет iptables-persistent (Debian: http://packages.debian.org/wheezy/iptables-persistent, Ubuntu: http://packages.ubuntu.com/saucy/iptables-persistent), который делает именно то, что вы хотите. Как root, или через sudo:

apt-get install iptables-persistent
iptables-save > /etc/iptables/rules.v4

Если вы работаете с ip6tables, вам также понадобится ip6tables-save > /etc/iptables/rules.v6.

Вы должны сохранить таблицы снова (iptables-save > /etc/iptables/rules.v4, ip6tables-save > /etc/iptables/rules.v6) после внесения любых изменений.

В более ранних версиях (до iptables-0.5 и до Debian Wheezy) вам нужно записать в другой файл:

iptables-save > /etc/iptables/rules

Ответ 3

Не можем ли мы сделать то же самое с rc.local, но выполните следующие шаги.

iptables-save > current_iptables_rules

Затем перейдите в /etc/rc.local и введите следующие

iptables-restore < current_iptables_rules

Разве это не будет достигнуто? Я мог бы что-то упустить.

Ответ 4

Добавьте их в /etc/ufw/before.rules. Синтаксис немного отличается, но вы увидите, как он работает.

UFW является интерфейсом брандмауэра Ubuntu к iptables. Возможно, вам потребуется включить UFW с помощью sudo ufw enable, но вы можете просто не устанавливать какие-либо правила внутри ufw.