- linux
- Как отключить IP версии 6 в Linux
- Отключаем поддержку IPv6 в Linux
- Описание
- Временное отключение (до перезагрузки)
- Постоянное отключение
- Стандартный способ
- Способ, если предыдущий не сработал (Ubuntu 18.04)
- Etcnet Firewall
- Содержание
- Настройка сетевого экрана в /etc/net [ править ]
- Системные таблицы и допустимые системные цепочки [ править ]
- Используемые файлы и каталоги [ править ]
- Алгоритм работы сетевого экрана [ править ]
- Примечания [ править ]
- Примеры [ править ]
- Утилиты [ править ]
- Примеры команд [ править ]
- Прочее [ править ]
linux
Как отключить IP версии 6 в Linux
- Получить ссылку
- Электронная почта
- Другие приложения
IPv6 далеко не всегда может использоваться в системе. Более того, он может вызвать некоторые проблемы при обращении к локальной петле (127.0.0.1) — запросы могут пойти на адрес ::1, что может привести к тому, что некоторые приложения будут работать не корректно.
В данной инструкции используются универсальные методы, которые подойдут для различных систем, например, Ubuntu, CentOS, Debian, Red Hat и так далее.
Быстрее всего отключить IPv6 через настройку ядра. Это универсальный способ и он подойдет для многих дистрибутивов на базе Linux.
Глобально (для всех интерфейсов)
Создаем или открываем файл:
* 99-sysctl.conf является основным конфигурационным файлом, а 10-ipv6-privacy.conf в каталоге sysctl.d — дополнительным. Для удобства лучше использовать последний.
Добавляем следующие строки:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6=1
Применяем настройки.
Если вносили изменения в файл /etc/sysctl.d/99-sysctl.conf:
Если вносили изменения в файл /etc/sysctl.d/10-ipv6-privacy.conf:
sysctl -p /etc/sysctl.d/10-ipv6-privacy.conf
Перезапускаем сетевые настройки:
systemctl restart network || systemctl restart networking || systemctl restart NetworkManager
* в deb линуксах используется имя для службы networking, в RPM — network; в CentOS 8 перезапускается NetworkManager.
Смотрим — должны остаться только адреса IPv4:
ip a
Для определенного интерфейса
Если нужно отключить IPv6 только для одного интерфейса, например, для eth0, также открываем настройку ядра.
* где eth0 наш интерфейс, для которого мы хотим отключить IPv6.
sysctl -p /etc/sysctl.d/10-ipv6-privacy.conf
Перезапускаем настройки сети:
systemctl restart network || systemctl restart networking || systemctl restart NetworkManager
Через GRUB
Потенциально, это опасный метод, так как неправильная настройка загрузчика может привести к ошибке запуска системы. Однако, данный метод кому-то может понадобиться.
Открываем конфигурационный файл загрузчика:
GRUB_CMDLINE_LINUX=»ipv6.disable=1 crashkernel=auto rhgb quiet»
Источник
Отключаем поддержку IPv6 в Linux
В некоторых ситуациях может понадобиться отключить IPv6 в ОС Linux, а в данной статье будут даны рекомендации о том, как это можно сделать.
Описание
В данной статье пойдет речь о том, как отключить поддержку IPv6 в тех случаях, когда вы не пользуетесь этим протоколом.
Временное отключение (до перезагрузки)
Для временного отключения, можно воспользоваться следующими командами (после рестарта системы IPv6 снова будет работать):
После этого необходимо перезапустить сетевые интерфейсы (down и up), чтобы они освободились от адресов IPv6.
Постоянное отключение
Стандартный способ
Для того, чтобы полностью отключить поддержку IPv6 через sysctl, необходимо в файл конфигурации /etc/sysctl.conf внести следующие строки и перезагрузиться:
Было:
Стало:
Способ, если предыдущий не сработал (Ubuntu 18.04)
В Ubuntu 18.04 описанный выше способ перестал работать, поэтому отключить поддержку IPv6 придется несколько иначе. Для этого открываем файл /etc/default/grub и вносим в него следующие правки:
После внесения изменений, необходимо выполнить следующую команду:
Теперь, после перезагрузки, поддержка IPv6 должна прекратиться.
Источник
Etcnet Firewall
Содержание
Настройка сетевого экрана в /etc/net [ править ]
Начиная с версии 0.7.9 etcnet содержит поддержку управления сетевым экраном ( firewall ). В данный момент поддерживается iptables , ip6tables , ipset и ebtables . Реализация основана на группировке таблиц и цепочек в таблицах. Таблицы могут быть только системные, цепочки же, кроме системных, могут быть заданы пользователем.
Системные таблицы и допустимые системные цепочки [ править ]
В системных таблицах имеется возможность использовать следующие системные цепочки:
Таблица | Цепочки |
---|---|
filter | INPUT FORWARD OUTPUT |
nat | PREROUTING OUTPUT POSTROUTING |
mangle | PREROUTING INPUT FORWARD OUTPUT POSTROUTING |
raw | PREROUTING OUTPUT |
Схема прохождения пакетов
Используемые файлы и каталоги [ править ]
/etc/net/ifaces/default/fw/options — файл с настройками сетевого экрана по умолчанию:
- FW_TYPE — тип сетевого экрана. Здесь можно указать только iptables , другие типы пока не поддерживаются. Обратите внимание на этот параметр, т.к. по умолчанию он не указан в файле настроек.
- IPTABLES_HUMAN_SYNTAX — включает или отключает использование поддержки «читабельного» синтаксиса правил для iptables (см. ниже). Значение: yes или no
- IPTABLES_SYSTEM_CHAINS — список системных цепочек в таблицах. Все цепочки, не указанные здесь, будут автоматически создаваться и удаляться. Значение: названия цепочек (все названия чувствительны к регистру!), разделенные пробелом.
- IPTABLES_INPUT_POLICY — действие по-умолчанию для пакетов, попадающих в системную цепочку INPUT таблицы filter. Значение: одно из ACCEPT , DROP , QUEUE или RETURN
- IPTABLES_FORWARD_POLICY — действие по-умолчанию для пакетов, попадающих в системную цепочку FORWARD таблицы filter. Значение: одно из ACCEPT , DROP , QUEUE или RETURN
- IPTABLES_OUTPUT_POLICY — действие по-умолчанию для пакетов, попадающих в системную цепочку OUTPUT таблицы filter. Значение: одно из ACCEPT , DROP , QUEUE или RETURN
- IPTABLES_RULE_EMBEDDING — способ добавления нового правила в цепочку. Значение: APPEND или INSERT , что означает добавление в конец списка правил или, соответственно, в начало.
/etc/net/ifaces/default/fw/iptables/filter , /etc/net/ifaces/default/fw/iptables/nat , /etc/net/ifaces/default/fw/iptables/mangle — каталоги, соответствующие таблицам iptables. В каталогах создаются файлы, соответствующие необходимым системным или пользовательским цепочкам, в которых уже и прописываются сами правила iptables.
/etc/net/ifaces/default/fw/iptables/loadorder , /etc/net/ifaces/default/fw/tablename/loadorder — если такой файл существует и не пуст, то обработка таблиц и/или цепочек в таблице происходит в том порядке, который указан в файле (по одному значению на строку). Все таблицы и цепочки, которые не указаны, обрабатываться не будут. /etc/net/ifaces/default/fw/iptables/modules — список модулей ядра, которые необходимо загрузить перед запуском сетевого экрана. При остановке эти модули выгружаются. /etc/net/ifaces/default/fw/iptables/syntax — описание замен при использовании «читабельного» синтаксиса правил iptables
Алгоритм работы сетевого экрана [ править ]
- При запуске службы network , виртуальный интерфейс default :
- Если опция CONFIG_FW (в файле /etc/net/ifaces/default/options ) не установлена в yes , то ничего не делает и происходит выход из процедуры запуска сетевого экрана, иначе переходим к следующему пункту.
- Считывается файл настроек /etc/net/ifaces/default/fw/iptables/options .
- До настройки любого интерфейса и обработки значений sysctl устанавливаются действия по умолчанию ( policy ) для системных цепочек таблицы filter .
- Считывается файл со списком модулей ядра /etc/net/ifaces/default/fw/iptables/modules , и все указанные в нем модули (по одному на строку) загружаются. При отсутствии файла никакие модули не загружаются.
- Создаются все пользовательские цепочки во всех таблицах (пользовательскими считаются все цепочки, не указанные в переменной IPTABLES_SYSTEM_CHAINS ).
- Считывается файл /etc/net/ifaces/default/fw/iptables/loadorder , и в указанном в нем порядке происходит обработка таблиц iptables . При отсутствии файла обработка происходит в соответствии с сортировкой названий таблиц по имени.
- Считывается файл /etc/net/ifaces/default/fw/iptables/tablename/loadorder в каждой обрабатываемой таблице, и происходит обработка и загрузка правил для каждой цепочки в порядке, указанном в файле. При отсутствии файла обработка опять же происходит в соответствии с сортировкой по имени.
- Если опция IPTABLES_HUMAN_SYNTAX установлена в yes , то считывается и обрабатывается файл с «синтаксисом» /etc/net/ifaces/default/fw/iptables/syntax .
- Файл с правилами обрабатывает построчно (одно правило на строку); если указана опция IPTABLES_HUMAN_SYNTAX , то правило обрабатывается интерпретатором в соответствии с синтаксисом и превращается в реальные опции для команды iptables , после чего запускается iptables с этими параметрами; иначе правило без обработки передается iptables .
- При «поднятии» любого интерфейса, кроме default :
- Выполняются все подпункты пункта 1, только все файлы и каталоги ищутся в каталоге текущего интерфейса.
- При «опускании» любого интерфейса, кроме default :
- Все подпункты пункта 1 выполняются в обратном порядке, все правила удаляются из цепочек в обратном порядке, все модули ядра выгружаются в обратном порядке. Все файлы и каталоги ищутся в каталоге текущего интерфейса.
- При остановке службы network виртуальный интерфейс default :
- Все подпункты пункта 1 выполняются в обратном порядке, все правила из всех цепочек удаляются командой iptables -F , все модули выгружаются в обратном порядке, все пользовательские цепочки удаляются.
- Действия по умолчанию ( policy ) для системных цепочек устанавливается в ACCEPT .
Примечания [ править ]
- Правила для iptables можно писать с помощью синтаксиса, подобного синтаксису ipfw и других. Сделано это с помощью простой замены слов на опции iptables . Сами замены описаны в файле /etc/net/ifaces/default/fw/iptables/syntax (там также описано некоторое количество вспомогательных слов, так что правила можно писать практически на английском литературном). Синтаксис правила можно совмещать (то есть использовать и заданный в etcnet синтаксис, и реальные опции команды iptables ).
- Во всех правилах нельзя использовать названия цепочки и/или таблицы. Они будут добавляться автоматически.
- В правилах можно использовать любые переменные окружения, выполнять любые команды shell (они должны быть указаны в одну строку). Переменная $NAME содержит имя текущего интерфейса. Переменные $IPV4ADDRESS и $IPV6ADDRESS содержат массив IPV4/IPV6 адресов текущего интерфейса (это обычные bash arrays, можно обращаться к ним по индексу: $
или просто $IPV4ADDRESS для первого значения). Для удобства можно использовать файлы options , в которых прописывать какие-либо переменные, к примеру, адреса gateway, ISP, сетей и т. д. - Во всех файлах можно использовать комментарии (строка должна начинаться с символа # ).
- Нет необходимости копировать все файлы настроек в каталог каждого интерфейса. Сначала будут считаны настройки виртуального интерфейса default , а уже потом у текущего интерфейса, соответственно, можно переопределять только требуемые для настройки параметры.
- Описания всех правил в настройках виртуального интерфейса default достаточно для поднятия простого сетевого экрана. При наличии же большого количества правил и интерфейсов есть смысл разделить логически все правила по каждому интерфейсу (опять же, не будет нагружаться процессор без необходимости, если интерфейс, к которому относится много правил, сейчас не «поднят»).
- В начале каждого правила можно указать, что с этим правилом делать. Может быть одно из трёх значений:
- -A — добавление в конец списка правил (при включенном «читабельном» синтаксисе соответствует команде append ).
- -I [num] — добавление в начало списка правил; если указан необязательный параметр num , то правило будет вставлено в строку правил с таким номером (будьте внимательны, iptables считает несуществующий номер строки ошибкой и не добавляет правило); (при включенном «читабельном» синтаксисе соответствует команде insert [num] ).
- -D — удаление правила из списка правил (соответственно, при «остановке» интерфейса правило наоборот будет добавлено); (при включенном «читабельном» синтаксисе соответствует команде delete ).
- Если никакое действие не указано, то правило добавляются в цепочку в соответствии со значением переменной IPTABLES_RULE_EMBEDDING .
- Если вы изменяете какое-то правило в конфигурационных файлах при уже загруженных правилах iptables , то для того, чтобы в памяти не остались старые правила, необходимо или выгрузить все правила для текущего интерфейса (если вы настраиваете для конкретного интерфейса, а не для default ) перед изменением файлов или после изменения использовать команду efw default restart (она полностью удалит все правила, однако, пользовательские цепочки других интерфейсов не будут затронуты, и далее загрузить заново правила для нужного или всех интерфейсов.
Примеры [ править ]
Пример настройки сетевого экрана в etcnet (файл — содержание):
Утилиты [ править ]
- В contrib находятся следующие вспомогательные утилиты:
- Скрипт efw , который предназначен для ручного управления сетевым экраном и «умеет» следующее:
На данный момент он «умеет» частично «угадывать» интерфейс, таблицу и цепочку (если их не передали в командной строке) и все действия, кроме counters . Так же поддерживается маска all для интерфейсов, таблиц и цепочек.
Примеры команд [ править ]
- Выгрузить (flush) все правила из всех цепочек всех таблиц, удалить цепочки, заданные пользователем, выгрузить все загруженные модули: efw default stop
- Выгрузить (путем удаления каждого правила в обратном порядке) все правила из цепочки FORWARD таблицы filter для интерфейса eth0 : efw eth0 unload
- Загрузить все правила для всех цепочек во всех таблицах всех интерфейсов: efw all all all load
- Обработать правило и добавить его во все цепочки таблицы filter : efw default filter all rule accept all from any
- Если вы изменяете какое-либо правило в конфигурационных файлах при уже загруженных правилах iptables , то для того, чтобы в памяти не остались старые правила, необходимо:
- Вариант 1: Выгрузить все правила для текущего интерфейса (если вы настраиваете для конкретного интерфейса, а не default ) перед изменением файлов;
- Вариант 2: После изменения использовать команду efw default restart (она полностью удалит все правила, однако, пользовательские цепочки других интерфейсов не будут затронуты), и далее загрузить заново правила для требуемого или всех интерфейсов;
Таким образом, наиболее используемой командой при изменении конфигурации сетевого экрана является:
Прочее [ править ]
Конвертор правил, а точнее, дампа iptables-save (альфа версия и требует пакет? ruby ) в соответствующее расположение правил в etcnet
Данное руководство относится к версии etcnet 0.8.5 и выше.
Источник