Почему постоянный сервис Iptables не сохраняет мои изменения?
Я следовал этому руководству, чтобы настроить правила IP в Ubuntu 12.04. При настройке все работало нормально, но теперь я внес изменения в брандмауэр, которые не сохраняются после перезагрузки. Я не понимаю, почему это так. Вот демонстрация того, как я использую iptables-persistent. Что я делаю неправильно?
iptables-persistent не работает таким образом. Перезапуск iptables-persistent «службы» не фиксирует текущее состояние iptables и не сохраняет его; все, что он делает, это восстанавливает правила iptables, которые были сохранены, когда пакет был последний раз настроен.
Для настройки iptables-persistent вам нужно рассказать о вашем текущем наборе правил iptables.
Один из способов сделать это заключается в следующем:
Или, что эквивалентно, iptables-persistent пакет также предоставляет следующее:
(Вам нужно будет ответить «да» на вопросы о том, сохранять ли правила.)
После этого при следующем iptables-persistent запуске / перезапуске ожидаемые наборы правил iptables будут загружены.
Очень простой способ сохранить текущие правила iptables — использовать команду:
sudo service netfilter-persistent save
Используя вышеприведенное, которое работает, по крайней мере, в Ubuntu после установки пакета netfilter-persistent (и iptables-persistent ), нет необходимости вручную запускать команды iptables или перенастраивать пакет (как это предлагается даже в принятом ответе выше).
Это не то, что DROP значит или делает. От man iptables :
. специальные значения ACCEPT, DROP, QUEUE или RETURN. ПРИНЯТЬ означает пропустить пакет. DROP означает сбросить пакет на пол. QUEUE означает .
Итак, что вы сделали, это добавили новое правило. Он может эффективно заменить любое количество других правил, но эти правила все еще существуют.
Проверяя подобные вещи (ваш iptables -L вывод), я бы их кормил, grep «string unique to this rule» а не использовал ваши глаза. Это проще и быстрее, и меньше подвержено ошибкам.
Если вы хотите удалить правило, используйте -D переключатель; Страница man описывает две формы этого:
-D, — Удалить правило цепочки-спецификация
-D, — удалить цепочку рулен
Удалить одно или несколько правил из выбранной цепочки. Существует две версии этой команды: правило может быть указано как число в цепочке (начиная с 1 для первого правила) или как правило для сопоставления.
Источник
Сервер не выходит в мир-сломал iptables [РЕШЕНО]
Всех с наступающим и добрый день
Ситуация: сервер работает, службы тоже, но в мир не смотрит, из мира не зайти на него. Работает VNC поэтому я могу проводить работы пока что. Дано: ОС Centos 7 arch x86_x64 статья http://serveradmin.ru/centos-7-nastroyka-servera/
1) заказал вдс 2) все работало пока не начал настраивать безопасность 3) в файле /etc/iptables_rules.sh не доглядел и оставил название интерфейса и айпи чужие 4) рестарт — связь с миром потеряна. 5) прописал айпи сервера и имя интерфейса — эффекта не дало
Как можно вернуть назад ? Как настроить iptables ?
Покажи хоть какие правила в iptables у тебя там сейчас.
Раз доступ есть к серверу по VNC, то от рута в эмуляторе консоли сбросить правила и заново сконфигурировать с автооткатом на всякий.
Ога, шоб зарезать себе его окончательно. Вообще господа оборачивающие вызовы iptables в sh-скрипты должны страдать ящитаю.
Это ж вдска, дык, никогда не поздно вернуться к чистой системе.
вот правила
нашел статейку http://pm4u.narod.ru/iptables.htm (бегло пробежался, вроде есть полезная инфа)
Я ввел iptables -L но часть информации убежала вверх, подняться не получается.
поэтому я глянул, что запускается /etc/sysconfig/iptables Но как скопировать и вставит сюда текст ?) выделить можно а потом как?
ящитаю?
иди-как отсюда, малокосос? Тут решается проблема. Это нормально, когда что-то не получается, и в сообществе помогают.
Решено
Я не делал команд
# iptables -F # iptables -X
Я нашел /etc/sysconfig/iptables
есть файлы ip6tables iptables
И есть ip6tables.save iptables.save
Взяв содержимое из .save я залил в основе файлы. ребут Доступ восстановлен.
Т.к. теперь есть sftp то покажу содержимое по-умолчанию и то что я ставил(цепочки правил)
Что было до поломки ——- # sample configuration for iptables service # you can edit this manually or use system-config-firewall # please do not ask us to add additional ports/services to this default configuration *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state —state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m state —state NEW -m tcp —dport 22 -j ACCEPT -A INPUT -j REJECT —reject-with icmp-host-prohibited -A FORWARD -j REJECT —reject-with icmp-host-prohibited COMMIT
Что я поставил) ———- # Generated by iptables-save v1.4.21 on Thu Dec 31 02:52:25 2015 *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT DROP [0:0] :undef_fw — [0:0] :undef_in — [0:0] :undef_out — [0:0] -A INPUT -i lo -j ACCEPT -A INPUT -m state —state RELATED,ESTABLISHED -j ACCEPT -A INPUT -m state —state INVALID -j DROP -A INPUT -p tcp -m tcp ! —tcp-flags FIN,SYN,RST,ACK SYN -m state —state NEW -j DROP -A INPUT -i ens3 -p tcp -m tcp —dport 25477 -j ACCEPT -A INPUT -i ens3 -p udp -m udp —dport 53 -j ACCEPT -A INPUT -i ens3 -p udp -m udp —dport 123 -j ACCEPT -A INPUT -j undef_in -A FORWARD -p tcp -m tcp —tcp-flags SYN,RST SYN -j TCPMSS —clamp-mss-to-pmtu -A FORWARD -m state —state RELATED,ESTABLISHED -j ACCEPT -A FORWARD -m state —state INVALID -j DROP -A FORWARD -j undef_fw -A OUTPUT -o lo -j ACCEPT -A OUTPUT -o ens3 -j ACCEPT -A OUTPUT -m state —state RELATED,ESTABLISHED -j ACCEPT -A OUTPUT -p tcp -m tcp ! —tcp-flags FIN,SYN,RST,ACK SYN -m state —state NEW -j DROP -A OUTPUT -j undef_out -A undef_fw -j LOG —log-prefix «— FW — DROP » —log-level 6 -A undef_fw -j DROP -A undef_in -j LOG —log-prefix «— IN — DROP » —log-level 6 -A undef_in -j DROP -A undef_out -j LOG —log-prefix «— OUT — DROP » —log-level 6 -A undef_out -j DROP COMMIT # Completed on Thu Dec 31 02:52:25 2015 # Generated by iptables-save v1.4.21 on Thu Dec 31 02:52:25 2015 *nat :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] COMMIT # Completed on Thu Dec 31 02:52:25 2015 # Generated by iptables-save v1.4.21 on Thu Dec 31 02:52:25 2015 *mangle :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] COMMIT # Completed on Thu Dec 31 02:52:25 2015
Источник
Как я могу использовать iptables на centos 7? [закрыто]
Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме переполнения стека.
Закрыто в прошлом году .
Я установил CentOS 7 с минимальной конфигурацией (инструменты os + dev). Я пытаюсь открыть 80 порт для httpd обслуживания, но что-то не так с моей службой iptables . что с ней не так? Что я делаю не так?
С RHEL 7 / CentOS 7 был представлен firewalld для управления iptables. ИМХО, firewalld больше подходит для рабочих станций, чем для серверных сред.
Можно вернуться к более классической настройке iptables. Сначала остановите и замаскируйте службу firewalld:
Затем установите пакет iptables-services:
Включите сервис во время загрузки:
Сохранение правил брандмауэра можно сделать следующим образом:
Затем вы можете перезагрузить правила, чтобы убедиться, что все в порядке
Это лучше, чем использование iptable-save, особенно если вы планируете использовать контейнеры lxc или docker. Запуск сервисов Docker добавит некоторые правила, которые будет запрашивать команда iptable-save. Если вы сохраните результат, у вас будет много правил, которые НЕ должны быть сохранены. Потому что контейнеры Docker могут изменить их IP-адреса при следующей перезагрузке.
Firewall-cmd с постоянной опцией лучше для этого.
Проверьте «man firewall-cmd» или посмотрите официальные документы firewalld, чтобы увидеть варианты. Есть много опций для проверки зон, конфигурации, как это работает . man-страница действительно завершена.
Настоятельно рекомендую не использовать iptables-сервис начиная с Centos 7
Источник
iptables-save
Здравствуйте делаю правила вручную потом iptables-save при перезагрузки ничего.Подкиньте где копать.
apt-get install iptables-persistent
iptables-save > /etc/iptables/rules
reboot
Очевидно, при загрузке нужно делать iptables-restore.
iptables-restore при загрузке Пушкин будет вызывать?
iptables-restore ★★★★★ ( 12.05.12 22:59:44 )
Вроде же уже /etc/iptables/rules.v4 и /etc/iptables/rules.v6, поэтому «service iptables-persistent save» ?
Так где выход мужики
Хм.. А разве 2-ое обязательно?
только после перезагрузки или во время загрузки
Очевидно, что зависит от дистрибутива. Мое решение универсально.
в него можно только добавить скрипт запуска и можно будет его таскать с собой:))
Скрипт запуска — это modprobe? 🙂
Учитывая ситуацию и предполагая, что машина является домашней, не могу не предложить использовать кошерный скрипт arno-iptables-firewall.
Выход где-то рядом 🙂 Если скажете какой у вас дистрибутив, возможно вам помогут найти его.
Источник
Как победить iptables-restore при загрузке в CentOS 7? rc.local и systemd не помогли
Действия производятся на centos7. Задача: вызов скрипта при загрузке для восстановления iptables:
1. /etc/rc.d/rc.local (chmod +x делал): Как через добавление строчки «iptables-restore /etc/sysconfig/iptables_working» в сам файл, так и напрямую:
2. Запуск при помощи systemd:
В лог пишет, но iptables не восстанавливает 🙁
yum remove firewalls && yum install iptables-services
1.iptables установлены и работают до перезагрузки.
и пропал доступ к dnsmasq. (коннект через openvpn). Сервер не пингуется, сайты на клиентах не открываются, с самого сервера всё ок. При этом при перезагрузке правила стали загружаться — есть, по крайней мере, доступ к openvpn, ssh, а до отключения firewalld после перезагрузки приходилось заходить через виртуальную консоль и делать вручную iptables-restore.
Пока откатил как было (да, неправильно и криво, но пока пусть работает до выяснения причины):
При перезагрузке правила опять не восстанавливаются и приходится вручную восстанавливать.
в /etc/sysconfig/iptables-config прописаны?
Да, прописаны. Выключаю firewalld — правила частично восстанавливаются после загрузки: порты vpn и ssh открываются. Но в таком случае dnsmasq почему-то отваливается :/ Включаю firewalld, при перазагрузке правила НЕ восстанавлиаются, но dnsmasq работает.
Как по мне, так самый простой вариант добавить post-up скрипт в настройки интерфейсов.
Но в таком случае dnsmasq почему-то отваливается
В чем это выражается?
Почти победил: всё снес, остановил firewalld, убрал его из загрузки. Сервис iptables был уже включен и загружался. Доступ к ssh, openvpn после перезагрузки есть, с ноута на Win7 сайты открывается, dnsmasq «мусор» фильрует (рекламу), но на клиентах iOS (планшет, телефон) сайты не открываются (не проходит dns lookup) лечится только
На девайсах не открывались сайты, т.к. dnsmasq не был для них доступен.
Ура, проблема решена: после сноса всего лишнего и переустановки dnsmasq всё работает после перезагрузки: iptables восстанавливаются, dnsmasq работает, на всех девайсах сайты открываются.
Источник