Растекание мыслью aka Введение.

В то время, когда космические корабли бороздят просторы Вселенной все пытаются попробовать прелести IPv6, мы попробуем научиться блокировать туннелирование IPv6 трафика через наш IPv4-only фаервол(ФВ). Либеральная Прогрессивная общественность может разразиться воплями на тему нашей закостенелости, но прежде чем с соглашаться с этими господами подумаем о том, что если у пользователя есть возможность пробросить туннель через ФВ, то все наши усилия по закручиванию гаек теряют смысл, т.к. фильтровать туннелированый трафик мы не можем. Так что «нет человечка — нет проблемы!»

Типы IPv6 туннелей.

GRE и IPsec.

Просто, для полноты картины, необходимо сказать, что IPv6 трафик можно тунелировать, как и в IPv4 через GRE и IPsec туннели. Инкапсулироваться IPv6 трафик будет в IPv6, что, очевидно, выходит за рамки нашей задачи, и поэтому дальнейшего разбирательства с этими туннелями не будет.

6in4 (a la Hurricane Electric)

Данный вид туннелей в Linux обозначается sit, а в Cisco ipv6ip:

ip tunnel add he0 mode sit remote 216.66.80.26 local 1.1.1.1 ttl 255

interface 1
ipv6 address 2001::1:1/64
tunnel source 1.1.1.1
tunnel destination 216.66.80.26
tunnel mode ipv6ip

Для данных туннелей характерно:

оба конца туннеля должны иметь публично доступные (реальные,белые) IPv4 адреса

в IPv4 заголовке пакета версия IP — 4

в IPv4 заголовке пакета номер протокола (это там, где указывается TCP/UDP) — 41 (IPv6)

Если пользовательские компы пасутся в приватных адресах (RFC1918), либо если ФВ настроен правильно и блокирует всё, не только на вход в локальную сеть, но и на выход, то данный тип туннелирования будет блокирован.

IPv6 поверх IPv4 GRE-туннеля

Данный вид туннелей на в Cisco взводятся следующим образом:

interface 2
ipv6 address 2001::2:1/64
tunnel source 1.1.1.1
tunnel destination 216.66.80.26

отличие от 6in4 в том, что не указывается режим туннеля (tunnel mode). Номер протокола в IPv4 заголовке пакета — 47 (GRE)

6to4-туннель

Данный вид туннелей используется для автоматической трансляции IPv6/IPv4. На в Cisco взводятся следующим образом:

interface 3
ipv6 address 2002:a01:101::/128
tunnel source 10.1.1.1
tunnel mode ipv6ip 6to4

В данном случае указываются только локальные адреса. Адресов назначения не указываем. Ну и режим туннеля, разумеется, «ipv6ip 6to4». IPv6-адрес получается следующим образом:

Фиксированный префикс 2002 конкатенируется с

преобразованным IPv4-адресом: 10.1.1.1 → 0a.01.01.01 → 0a01:0101 → a01:101

ISATAP-туннель

Данный вид туннелей используется для автоматической трансляции IPv6/IPv4, аналогично 6to4. На в Cisco взводятся следующим образом:

interface 4
ipv6 address 2001:1002:111::/64 eui-64
tunnel source 10.1.1.2
tunnel mode ipv6ip ISATAP

Отличия от 6to4 следующие:

Сетевая часть IPv6-адреса может быть любая (в отличие от выделенной 2002 для 6to4)

Хостовая часть определяется автоматически на основе EUI-64 из IPv4-адреса.

Tracedump:

newBaseSize: 16pt
newBaseSizeInPt: 16