Как сбросить Ubuntu 12.04 iptables по умолчанию, не блокируя себя?


28

Может ли кто-нибудь любезно предоставить команды для полного сброса iptables (брандмауэра) для Ubuntu 12.04 до заводских настроек по умолчанию? Из того, что я понимаю, если сделать это неправильно, это приведет к тому, что один будет заблокирован из коробки Linux?

Ответы:


37

Установите для политики iptables по умолчанию значение ПРИНЯТЬ:

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

Затем очистите правила:

iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD

Обратите внимание, что это не повлияет на альтернативные таблицы, таблицы NAT, таблицы маршрутизации PRE / POST и т. Д.


1
Спасибо @Wing Tang Wong. Будет ли приведенное выше полностью вернуть брандмауэр в его состояние по умолчанию Ubuntu? Что если я случайно изменил другие таблицы? Как мне вернуть все таблицы по умолчанию? Благодарность!
Медовый барсук

Вы можете использовать iptables-save и iptables-restore. По сути, создайте дамп конфигурации iptables в файл. Убедитесь, что три основных являются ACCEPT по умолчанию, а затем удалите другие типы таблиц из файла дампа. Затем импортируйте его обратно в работающую систему с помощью iptables-restore. Это должно привести вас в чистое состояние. Это предполагает, что вы не можете или не хотите перезагрузить окно.
Крыло Тан Вонг

1
Попался. Вопрос: что делать, если я перезагружаю коробку? Что случится? Благодарность!
Медовый барсук

Если вы отключите все правила iptable, которые будут запускаться при перезагрузке, правила по умолчанию для только что загруженного блока по умолчанию будут включать только три таблицы в режиме ПРИНЯТЬ. Другие таблицы исчезнут. Если предположить, что правила, с которыми вы работали ранее, были выполнены вручную, то перезагрузка очистит их. Однако, если они пришли таким образом, вам нужно будет найти и отключить / закомментировать / удалить правила, устанавливаемые при запуске.
Крыло Тан Вонг

Данное решение будет работать, только если вы не установили постоянные iptables. Если вы это сделали, вам нужно выполнить sudo apt-get remove iptables-persistent
следующую команду

16

Эта вещь, кажется, в порядке .. http://insanelabs.com/linux/linux-reset-iptables-firewall-rules/

iptables -F
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

1
Чувак, ты не знаешь, как я благодарен тебе за сообщение !!!! После нескольких часов мучительной отладки я, наконец, изменил свои iptables на default, и теперь моя проблема исправлена! Моя проблема заключалась в том, что у меня был сервер nodejs, который прекрасно работал на localhost: 80, а также myip: 80, но у меня также был еще один сервер nodejs, который работал на localhost: 4000, но не работал на myip: 4000, и я был очень расстроен, потому что это произошло после установки почтового сервера на моем raspberri pi, и это произошло внезапно. Снова чувак, у вас есть пиво от меня! Спасибо!
Объединить

3

Ответ Wing будет вам на помощь, когда что-то пойдет не так iptables. Если вы хотите сбросить все, в том числе альтернативных таблиц NAT, PRE/POST ROUTINGиспользуйте этот скрипт:

#!/bin/sh
#
# rc.flush-iptables - Resets iptables to default values.
#
# Copyright (C) 2001 Oskar Andreasson <bluefluxATkoffeinDOTnet>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program or from the site that you downloaded it
# from; if not, write to the Free Software Foundation, Inc., 59 Temple
# Place, Suite 330, Boston, MA 02111-1307 USA
#
# Configurations
#
IPTABLES="/sbin/iptables"
#
# reset the default policies in the filter table.
#
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -P OUTPUT ACCEPT
#
# reset the default policies in the nat table.
#
$IPTABLES -t nat -P PREROUTING ACCEPT
$IPTABLES -t nat -P POSTROUTING ACCEPT
$IPTABLES -t nat -P OUTPUT ACCEPT
#
# reset the default policies in the mangle table.
#
$IPTABLES -t mangle -P PREROUTING ACCEPT
$IPTABLES -t mangle -P POSTROUTING ACCEPT
$IPTABLES -t mangle -P INPUT ACCEPT
$IPTABLES -t mangle -P OUTPUT ACCEPT
$IPTABLES -t mangle -P FORWARD ACCEPT
#
# flush all the rules in the filter and nat tables.
#
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F
#
# erase all chains that's not default in filter and nat table.
#
$IPTABLES -X
$IPTABLES -t nat -X
$IPTABLES -t mangle -X

Источник: Общий доступ к Интернету - Ubuntu Help

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.