Перейти к содержимому

Как отключить iptables ubuntu

  • автор:

Форум русскоязычного сообщества Ubuntu

Страница сгенерирована за 0.046 секунд. Запросов: 23.

  • Сайт
  • Об Ubuntu
  • Скачать Ubuntu
  • Семейство Ubuntu
  • Новости
  • Форум
  • Помощь
  • Правила
  • Документация
  • Пользовательская документация
  • Официальная документация
  • Семейство Ubuntu
  • Материалы для загрузки
  • Совместимость с оборудованием
  • RSS лента
  • Сообщество
  • Наши проекты
  • Местные сообщества
  • Перевод Ubuntu
  • Тестирование
  • RSS лента

© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.

Re: как отключить iptables

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

fghj ★★★★★
( 26.12.04 00:23:57 MSK )

Re: как отключить iptables

> #rmmod ip_tables
> #rmmof iptables

Смотреть lsmod и вырубать модули которые действительно активны.
Но на самом деле достаточно удалить все правила из всех таблиц:
# iptables -t nat -F
# iptables -t filter -F
# iptables -t mangle -F

unDEFER ★★★★★
( 26.12.04 00:29:53 MSK )
Ответ на: Re: как отключить iptables от anonymous 25.12.04 23:56:43 MSK

Re: как отключить iptables

Потому что в debian нет такой команды.

Смотри в своем /etc/rc.d название и по названию:

jackill ★★★★★
( 26.12.04 00:34:59 MSK )
Ответ на: Re: как отключить iptables от jackill 26.12.04 00:34:59 MSK

Re: как отключить iptables

> а нафига
посмотри тему про proftpd — это тоже моя.
Я уже просто не знаю что бы такое сотворить.
аот и хочу iptables вырубить хотя 21 open

kuz ★
( 26.12.04 00:45:35 MSK )
Ответ на: Re: как отключить iptables от kuz 26.12.04 00:45:35 MSK

Re: как отключить iptables

в смысле тот который 2 темы назад

kuz ★
( 26.12.04 00:48:44 MSK )
Ответ на: Re: как отключить iptables от kuz 26.12.04 00:45:35 MSK

Re: как отключить iptables

iptables -A INPUT -p tcp -dport 20 -j ACCEPT
iptables -A INPUT -p tcp -dport 21 -j ACCEPT
iptables -A OUTPUT -p tcp -sport 20 -j ACCEPT
iptables -A OUTPUT -p tcp -sport 21 -j ACCEPT

iptables -A INPUT -p udp -dport 20 -j ACCEPT
iptables -A INPUT -p udp -dport 21 -j ACCEPT
iptables -A OUTPUT -p udp -sport 20 -j ACCEPT
iptables -A OUTPUT -p udp -sport 21 -j ACCEPT

P.S. Можно писать не так занудно, забыл -m multiport, что ли, и порты через запятую:

iptables -A INPUT -p udp -m multiport -dport 20,21 -j ACCEPT

Перечисление и удаление правил брандмауэра Iptables

Перечисление и удаление правил брандмауэра Iptables

Iptables — это брандмауэр, который играет важную роль в обеспечении сетевой безопасности большинства систем Linux. Хотя многие руководства по работе с Iptables научат вас создавать правила брандмауэра для обеспечения безопасности вашего сервера, в этом руководстве мы будем уделять особое внимание другому аспекту управления брандмауэром: вывод списка и удаление правил.

В этом обучающем руководстве мы расскажем, как выполнять следующие задачи при работе с Iptables:

  • Вывод списка правил
  • Очистка счетчиков пакетов и байтов
  • Удаление правил
  • Сброс цепочек (удаление всех правил в цепочке)
  • Сброс всех цепочек и таблиц, удаление всех цепочек и прием любого трафика

Примечание: при работе с брандмауэрами необходимо следить за тем, чтобы не заблокировать собственный доступ к серверу, запретив подключение по SSH (по умолчанию в этих целях используется порт 22). При потере доступа из-за настроек брандмауэра вам может потребоваться подключение к серверу через внеполосную консоль для восстановления доступа.

Предварительные требования

Это учебное руководство предполагает использование сервера Linux с установленной командой iptables и наличие у пользователя привилегий sudo .

Если вам нужна помощь с данной начальной настройкой, воспользуйтесь нашим руководством по начальной настройке сервера Ubuntu 20.04. Вы также можете воспользоваться руководствами для Debian и CentOS

Давайте сначала рассмотрим, как просмотреть существующий список правил. Существует два различных способа просмотра действующих правил Iptables: в форме таблицы или списка спецификаций правил. Оба метода предоставляют приблизительно одну и ту же информацию в разных форматах.

Перечисление правил по спецификации

Чтобы перечислить все действующие правила Iptables, запустите команду iptables с опцией -S :

Output
-P INPUT DROP -P FORWARD DROP -P OUTPUT ACCEPT -N ICMP -N TCP -N UDP -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m conntrack --ctstate INVALID -j DROP -A INPUT -p udp -m conntrack --ctstate NEW -j UDP -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j TCP -A INPUT -p icmp -m conntrack --ctstate NEW -j ICMP -A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable -A INPUT -p tcp -j REJECT --reject-with tcp-reset -A INPUT -j REJECT --reject-with icmp-proto-unreachable -A TCP -p tcp -m tcp --dport 22 -j ACCEPT

Как вы видите, вывод выглядит примерно так, как и команды, которые использовались для их создания, но не имеют команды iptables в начале. Также вывод будет напоминать файлы конфигурации правил Iptables, если вы когда-либо использовали iptables-persistent или iptables save .

Перечисление списка правил конкретной цепочки

Если вы хотите ограничить вывод конкретной цепочкой ( INPUT , OUTPUT , TCP и т. д.), вы можете указать название цепочки сразу после опции -S . Например, для отображения всех спецификаций правил в цепочке TCP необходимо запустить следующую команду:

Output
-N TCP -A TCP -p tcp -m tcp --dport 22 -j ACCEPT

Теперь давайте рассмотрим альтернативный способ просмотра действующих правил Iptables в форме таблицы правил.

Перечисление правил в виде таблицы

Перечисление правил Iptables в виде таблицы может быть полезным при сопоставлении разных правил друг с другом.

Чтобы вывести все действующие правила Iptables в виде таблицы, запустите команду iptables с опцией -L :

Эта команда будет выводить все действующие правила, отсортированные по цепочкам.

Если вы хотите ограничить вывод конкретной цепочкой ( INPUT , OUTPUT , TCP и т. д.), вы можете указать название цепочки сразу после опции -L .

Давайте рассмотрим пример цепочки INPUT:

Output
Chain INPUT (policy DROP) target prot opt source destination ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED ACCEPT all -- anywhere anywhere DROP all -- anywhere anywhere ctstate INVALID UDP udp -- anywhere anywhere ctstate NEW TCP tcp -- anywhere anywhere tcp flags:FIN,SYN,RST,ACK/SYN ctstate NEW ICMP icmp -- anywhere anywhere ctstate NEW REJECT udp -- anywhere anywhere reject-with icmp-port-unreachable REJECT tcp -- anywhere anywhere reject-with tcp-reset REJECT all -- anywhere anywhere reject-with icmp-proto-unreachable

Первая строка вывода указывает имя цепочки (в данном случае INPUT ), за которым следует используемая по умолчанию политика ( DROP ). Следующая строка состоит из заголовков каждого столбца таблицы, после чего идут правила цепочки. Давайте посмотрим, что означает каждый заголовок:

  • target : если пакет отвечает правилу, заголовок target указывает, что с ним нужно сделать. Например, пакет можно принять, отклонить, записать или отправить другой цепочке для сопоставления с другими правилами.
  • prot : протокол, например tcp , udp , icmp или all
  • opt : данный параметр используется редко и отображает опции IP
  • source : исходный IP-адрес или подсеть трафика, либо anywhere (отовсюду)
  • destination : IP-адрес назначения или подсеть трафика, либо anywhere (везде)

Последняя колонка, которая не имеет заголовка, указывает опции правила. Другими словами, это может быть любая часть правила, которая не указана предыдущими столбцами. Это может быть любая информация, начиная с портов назначения и исходных портов и заканчивая состоянием подключения пакета.

Отображение счетчиков пакетов и общего размера

При выводе списка правил Iptables также можно отобразить количество пакетов и общий размер пакетов (в байтах), которые отвечают каждому конкретному правилу. Это часто может быть полезно, когда вы пытаетесь получить приблизительное представление о том, какие правила используются для различных пакетов. Чтобы сделать это, воспользуйтесь опциями -L и -v в одной команде.

Например, давайте снова рассмотрим цепочку INPUT с опцией -v :

Output
Chain INPUT (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 284K 42M ACCEPT all -- any any anywhere anywhere ctstate RELATED,ESTABLISHED 0 0 ACCEPT all -- lo any anywhere anywhere 0 0 DROP all -- any any anywhere anywhere ctstate INVALID 396 63275 UDP udp -- any any anywhere anywhere ctstate NEW 17067 1005K TCP tcp -- any any anywhere anywhere tcp flags:FIN,SYN,RST,ACK/SYN ctstate NEW 2410 154K ICMP icmp -- any any anywhere anywhere ctstate NEW 396 63275 REJECT udp -- any any anywhere anywhere reject-with icmp-port-unreachable 2916 179K REJECT all -- any any anywhere anywhere reject-with icmp-proto-unreachable 0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:ssh ctstate NEW,ESTABLISHED

Обратите внимание, что список сейчас содержит два дополнительных столбца, pkts и bytes .

Теперь, когда вы знаете, как выводить список действующих правил брандмауэра различными способами, давайте рассмотрим возможность сброса счетчиков пакетов и байтов.

Сброс счетчиков пакетов и общего размера

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

Чтобы очистить счетчики для всех цепочек и правил, используйте опцию -Z отдельно:

Чтобы очистить счетчики для всех правил конкретной цепочки, используйте опцию -Z и укажите название цепочки. Например, для очистки счетчиков цепочки INPUT воспользуйтесь следующей командой:

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

Теперь, когда вы знаете, как сбросить счетчики пакетов и байтов Iptables, давайте рассмотрим два метода, которые можно использовать для удаления правил.

Удаление правил по спецификации

Одним из способов удаления правил Iptables является удаление правила по спецификации. Для этого вам нужно запустить команду iptables с опцией -D , указав далее спецификацию правила. Если вы хотите удалить правила с помощью этого метода, вы можете использовать команду для вывода списка правил iptables -S в качестве источника полезной информации.

Например, если вы хотите удалить правило, которое отклоняет недействительные входящие пакеты ( -A INPUT -m conntrack —ctstate INVALID -j DROP ), запустите следующую команду:

Обратите внимание, что опция -A , используемая для обозначения положения правила в момент его создания, здесь не применяется.

Удаление правил по цепочке и номеру

Другой способ удаления правил Iptables состоит в использовании цепочки и номера строки. Чтобы определить номер строки правила, выведите список правил в формате таблицы и добавьте опцию —line-numbers :

[secondary_output Output] Chain INPUT (policy DROP) num target prot opt source destination 1 ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED 2 ACCEPT all -- anywhere anywhere 3 DROP all -- anywhere anywhere ctstate INVALID 4 UDP udp -- anywhere anywhere ctstate NEW 5 TCP tcp -- anywhere anywhere tcp flags:FIN,SYN,RST,ACK/SYN ctstate NEW 6 ICMP icmp -- anywhere anywhere ctstate NEW 7 REJECT udp -- anywhere anywhere reject-with icmp-port-unreachable 8 REJECT tcp -- anywhere anywhere reject-with tcp-reset 9 REJECT all -- anywhere anywhere reject-with icmp-proto-unreachable 10 ACCEPT tcp -- anywhere anywhere tcp dpt:ssh ctstate NEW,ESTABLISHED . 

Эта команда добавляет номер строки для каждой строки таблицы правил в столбце с заголовком num .

Когда вы знаете, какое правило нужно удалить, запомните цепочку и номер строки правила. Затем запустите команду iptables -D , указав далее цепочку и номер правила.

Например, если мы хотим удалить правило для входящего трафика, которое отклоняет недействительные пакеты, мы видим, что это правило с номером 3 в цепочке INPUT . Поэтому нам нужно запустить следующую команду:

Теперь, когда вы знаете, как удалить отдельные правила брандмауэра, давайте рассмотрим возможность сброса цепочек правил.

Сброс цепочек

Iptables предлагает возможность удаления всех правил в цепочке или сброса цепочки. В данном разделе мы опишем разнообразные способы выполнения этой задачи.

Примечание: будьте осторожны, чтобы не заблокировать собственный доступ к серверу через SSH в результате сброса цепочки с используемой по умолчанию политикой drop или deny . В этом случае вам может потребоваться подключение через консоль для восстановления доступа.

Сброс отдельной цепочки

Чтобы сбросить конкретную цепочку с последующим удалением всех правил в данной цепи, вы можете использовать опцию -F или ее эквивалент —flush , добавив в команду имя цепочки, которую вы хотите сбросить.

Например, для удаления всех правил в цепочке INPUT запустите следующую команду:

Сброс всех цепочек

Чтобы сбросить все цепочки с последующим удалением всех правил брандмауэра, вы можете использовать опцию -F или ее эквивалент —flush без указания конкретной цепочки:

Сброс всех правил, удаление всех цепочек и разрешение любого трафика

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

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

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

Затем выполните сброс таблиц nat и mangle , сбросьте все цепочки ( -F ) и удалите все цепочки, не используемые по умолчанию ( -X ):

Теперь ваш брандмауэр будет принимать любой сетевой трафик. Если вы сейчас попробуете вывести список ваших правил, то увидите, что он пуст, и остались только три используемые по умолчанию цепочки ( INPUT , FORWARD и OUTPUT ).

Заключение

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

Не забывайте, что любые изменения, вносимые с помощью команды iptables , если их не сохранить, исчезнут после перезагрузки сервера. Данная информация описана в разделе «Сохранение правил» руководства «Распространенные правила и команды брандмауэра».

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

How to start/stop iptables on Ubuntu?

I think some of the confusion comes from articles like this: cyberciti.biz/faq/turn-on-turn-off-firewall-in-linux which only applies to Fedora/Red Hat and does claim that you’d find it in /etc/init.d/ it (un)helpfully is the top link you get when googling ‘turn off iptables ubuntu’.

Feb 15, 2013 at 13:55

It seems since Ubuntu 16.04, iptables-persistent has been replaced by netfilter-persistent. install it. apt install netfilter-persistent

May 28, 2020 at 10:10

You can also do this: run the command: »systemctl disable iptables» and then the command »systemctl enable ufw», finally, restart the server with «reboot». This procedure will keep iptables disabled.

Apr 20, 2023 at 2:36

12 Answers 12

I don’t know about «Ubuntu», but in Linux generally, «iptables» isn’t a service — it’s a command to manipulate the netfilter kernel firewall. You can «disable» (or stop) the firewall by setting the default policies on all standard chains to «ACCEPT», and flushing the rules.

iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -F 

(You may need to flush other tables, too, such as «nat», if you’ve used them)

The following article on the Ubuntu website describes setting up iptables for use with NetworkManager: https://help.ubuntu.com/community/IptablesHowTo

answered Apr 3, 2010 at 17:36
1,243 1 1 gold badge 8 8 silver badges 8 8 bronze badges

Won’t this throw away all current rules for ever? Best to save them somewhere first with sudo iptables-save > /tmp/rules

Sep 21, 2012 at 13:07
This doesn’t stop the service, but just allows everything through.
Oct 26, 2012 at 6:27
Ah, thanks. iptables -F was what I was missing 🙂
Jan 7, 2013 at 1:52
@JensTimmerman iptables-save > /tmp/rules saved my day. Thanks
Jul 12, 2018 at 17:59

You are all wrong 🙂

The command you are looking for is:

$ sudo ufw disable 

answered Aug 15, 2012 at 18:40
3,389 3 3 gold badges 33 33 silver badges 46 46 bronze badges
sure if we were talking about ufw, but this post is about iptables
Oct 26, 2012 at 18:54
Well, I assumed it was a default install of Ubuntu, and that one doesn’t have iptables, but has ufw.
Oct 26, 2012 at 18:58

ufw is just a frontend for iptables: «Iptables is a firewall, installed by default on all official Ubuntu distributions (Ubuntu, Kubuntu, Xubuntu). When you install Ubuntu, iptables is there, but it allows all traffic by default. Ubuntu 8.04 Comes with ufw — a program for managing the iptables firewall easily.» help.ubuntu.com/community/IptablesHowTo

Dec 19, 2012 at 18:32

Might be, but as ufw == iptables (more or less) in Ubuntu, disabling ufw is equal to disabling iptables.

Dec 19, 2012 at 22:21

Most likely the OP was actually interested in disabling firewalls, instead of understanding the intricacies of the iptables service for managing firewalls, so this is a good answer.

Oct 21, 2015 at 20:34

I would first check if it is installed with (it probably is):

dpkg -l | grep iptables 

On Ubuntu, iptables is not a service. In order to stop it, you have to do the following :

sudo iptables-save > /root/firewall.rules iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT 

In order to restore your previous rules :

iptables-restore < /root/firewall.rules 

This was taken from http://www.cyberciti.biz/faq/turn-on-turn-off-firewall-in-linux/ and was tested on many Ubuntu 8.X & 9.10 installations.

answered Apr 5, 2010 at 7:46
1,287 1 1 gold badge 9 9 silver badges 10 10 bronze badges

I don't know why this has so many upvotes, iptables is a kernel module. It is never a "service" that can be "stopped". They are used to tell the kernel how to handle connections. Also in a production environment you should never disable your firewall. If something doesn't work, find the right solution, not the easy one.

Oct 21, 2016 at 17:51

Iptables is a command it's not a service, so generally it's not possible to use commands like

service iptables start 
service iptables stop 

in order to start and stop the firewall, but some distros like centos have installed a service called iptables to start and stop the firewall and a configuration file to configure it. Anyway it's possible to make a service to manage ipotables editing or installing a script for this scope. All services in linux, ubuntu is not an exception, are executable scripts inside /etc/init.d folder, that implements a standard interface (start,stop,restart) A possible script looks like this:

 #!/bin/sh -e ### BEGIN INIT INFO # Provides: iptables # Required-Start: mountvirtfs ifupdown $local_fs # Default-Start: S # Default-Stop: 0 6 ### END INIT INFO # July 9, 2007 # James B. Crocker [email protected]> # Creative Commons Attribution - Share Alike 3.0 License (BY,SA) # Script to load/unload/save iptables firewall settings. PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin" IPTABLES=/sbin/iptables IPTABLES_SAVE=/sbin/iptables-save IPTABLES_RESTORE=/sbin/iptables-restore IPTABLES_CONFIG=/etc/iptables.conf [ -x $IPTABLES ] || exit 0 . /lib/lsb/init-functions case "$1" in start) log_action_begin_msg "Starting firewall" type usplash_write >/dev/null 2>/dev/null && usplash_write "TIMEOUT 120" || true if $IPTABLES_RESTORE < $IPTABLES_CONFIG ; then log_action_end_msg $? else log_action_end_msg $? fi type usplash_write >/dev/null 2>/dev/null && usplash_write "TIMEOUT 15" || true ;; stop) log_action_begin_msg "Saving current firewall configuration" if $IPTABLES_SAVE > $IPTABLES_CONFIG ; then log_action_end_msg $? else log_action_end_msg $? fi log_action_begin_msg "Flushing ALL firewall rules from chains!" if $IPTABLES -F ; then log_action_end_msg $? else log_action_end_msg $? fi log_action_begin_msg "Deleting ALL firewall chains [Warning: ACCEPTING ALL PORT SERVICES!]" if $IPTABLES -X ; then $IPTABLES -P INPUT ACCEPT $IPTABLES -P FORWARD ACCEPT $IPTABLES -P OUTPUT ACCEPT log_action_end_msg $? else log_action_end_msg $? fi ;; save) log_action_begin_msg "Saving current firewall configuration" if $IPTABLES_SAVE > $IPTABLES_CONFIG ; then log_action_end_msg $? else log_action_end_msg $? fi ;; force-reload|restart) log_action_begin_msg "Reloading firewall configuration [Warning: POTENTIAL NETWORK INSECURITY DURING RELOAD]" $IPTABLES -F $IPTABLES -X if $IPTABLES_RESTORE < $IPTABLES_CONFIG ; then log_action_end_msg $? else log_action_end_msg $? fi ;; *) echo "Usage: /etc/init.d/iptables " exit 1 ;; esac exit 0 

This script is part of this tutorial, all the commands to configure the firewall must be inserted, according to the script above, into /etc/iptables.conf file. This script must be inserted into a file called iptables in /etc/init.d and make it executable using

chmod+x *iptables* 

and add the service to runlevels using

update-rc.d iptables defaults 

You can add new rules from shell, these rules will be immediatly active and will be added to /etc/iptables.conf when service stops(it means them will be saved for sure when system shutdown).

I hope this will be helpful to everyone.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *