Настройка IPv6-файрвола (ip6tables)

Поскольку при использовании IPv6 каждый из компьютеров вашей локальной сети будет иметь настоящий, Интернетовский IP-адрес, важно настроить на вашем маршрутизаторе сетевой экран, который будет блокировать входящие соединения из Интернета, но при этом разрешать исходящие из локальной сети. В GNU/Linux это может выглядеть примерно так:

# Внутренний интерфейс (локальная сеть)
INTIF=eth0

iptables -I INPUT  -p ipv6 -j ACCEPT
iptables -I OUTPUT -p ipv6 -j ACCEPT

ip6tables -P INPUT DROP
ip6tables -P FORWARD DROP
ip6tables -P OUTPUT ACCEPT
ip6tables -F

ip6tables -A INPUT   -i lo     -j ACCEPT
ip6tables -A INPUT   -i $INTIF -j ACCEPT
ip6tables -A FORWARD -i $INTIF -j ACCEPT

ip6tables -A INPUT             -p icmpv6 -m limit --limit 900/min -j ACCEPT
ip6tables -A FORWARD -o $INTIF -p icmpv6 -m limit --limit 900/min -j ACCEPT

ip6tables -A INPUT   -m state --state ESTABLISHED,RELATED -j ACCEPT
ip6tables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

Можно сохранить эти команды в шелл-скрипт и добавить его для запуска перед поднятием IPv6 туннеля, либо (при нативном подключении) перед поднятием первого же из сетевых интерфейсов (например, в Debian, директивой pre-up для соответствующего интерфейса в /etc/network/interfaces).


ip6tables.txt · Последние изменения: 2018-05-07 12:22 UTC От rm