Эту статью пишу по «горячим следам» после статьи Настрой себе IPv6 в Debian и Ubuntu. Описывается настройка с учётом специфики Red Hat based дистрибутивов, ну и освещены пару подводных камней. Эта статья не повторяет предыдущую, а как бы дополняет её.
Итак, заходим на сайт Hurricane Electric, регистрируемся, логинимся на сайте, и создаём туннель. Здесь всё так же, как и в исходной статье-прототипе.
Если нету этой строки — добавьте.
Создайте файл /etc/sysconfig/network-scripts/ifcfg-sit 1 следующего содержания:
Вместо названий в фигурных кавычках подставьте значения, указанные в свойствах Вашего новосозданного туннеля:
Отдельно хотелось бы сказать про LOCAL_IPV4 — наш реальный Internet-адрес. Необходимо обеспечить хождение сорок первого протокола (6over4) в обе стороны. Что это значит? Это значит, что если Ваш компьютер подключен через NAT, то у вас возникнут сложности с подключением к туннелю, ибо для его работы необходим реальный ip-адрес. Для владельцев ADSL-модемов выходом может быть настройка файрволла модема на проброс трафика по 41-му протоколу на ваш компьютер; или указание вашего компьютера в качестве DMZ-хоста, но будьте тут осторожны — весь неизвестный трафик модем пробросит на ваш компьютер, что фактически означает доступность компьютера(не модема!) для сканинга извне. Если что — я предупредил :) Впрочем, если у вас не отключены умолчательные iptables и SELinux, то риск невелик.
В случае NAT'а и проброса 41-го протокола на ваш компьютер в качестве LOCAL_IPV4 необходимо будет указать уже ваш «серый» адрес, при этом на сайте Hurricane Electric необходимо указать реальный IP-адрес вашего модема.
Создайте файл /etc/sysconfig/static-routes-ipv6 следующего содержания:
Найдите в файле /etc/sysconfig/iptables строку:
и добавьте после неё:
Выполните команду:
Тут всё просто — выполните команду:
Всё, теперь у вас есть настроенный туннель. Протестируйте его:
Если у вас динамический адрес, то существует и здесь решение.
Добавьте в /etc/rc.d/rc.local следующие строки:
Можете один раз выполнить команду:
и результирующий хэш вставить в файл, чтобы пароль не светить.
Вроде всё. Надеюсь, хоть кому-то пригодится.
P.S. Про безопасность: также не забывайте про файл /etc/sysconfig/ip6tables — ваш компьютер теперь напрямую подключен к IPv6-сети, а следовательно, напрямую доступен для сканеров и брутфорсеров (благо их пока практически нет в IPv6).
Шаг 1. Регистрируем туннель
Итак, заходим на сайт Hurricane Electric, регистрируемся, логинимся на сайте, и создаём туннель. Здесь всё так же, как и в исходной статье-прототипе.
Шаг 2. Настраиваем IPv6 — сетевой интерфейс
Убедитесь, что в файле /etc/sysconfig/network присутствует строка:NETWORKING_IPV6=yesЕсли нету этой строки — добавьте.
Создайте файл /etc/sysconfig/network-scripts/ifcfg-sit
DEVICE=sit1
BOOTPROTO=none
ONBOOT=yes
IPV6INIT=yes
IPV6TUNNELIPV4={REMOTE_IPV4}
IPV6TUNNELIPV4LOCAL={LOCAL_IPV4}
IPV6ADDR={LOCAL_IPV6}
Вместо названий в фигурных кавычках подставьте значения, указанные в свойствах Вашего новосозданного туннеля:
- REMOTE_IPV4 — адрес сервера, к которому будем подключаться
- LOCAL_IPV4 — наш реальный Internet-адрес
- LOCAL_IPV6 — наш локальный ipv6-адрес, выданный нам на сайте. Будет в формате 2001:470:XXXX:XXXX::2/64
Подводные камни — №1 (NAT)
Отдельно хотелось бы сказать про LOCAL_IPV4 — наш реальный Internet-адрес. Необходимо обеспечить хождение сорок первого протокола (6over4) в обе стороны. Что это значит? Это значит, что если Ваш компьютер подключен через NAT, то у вас возникнут сложности с подключением к туннелю, ибо для его работы необходим реальный ip-адрес. Для владельцев ADSL-модемов выходом может быть настройка файрволла модема на проброс трафика по 41-му протоколу на ваш компьютер; или указание вашего компьютера в качестве DMZ-хоста, но будьте тут осторожны — весь неизвестный трафик модем пробросит на ваш компьютер, что фактически означает доступность компьютера(не модема!) для сканинга извне. Если что — я предупредил :) Впрочем, если у вас не отключены умолчательные iptables и SELinux, то риск невелик.
В случае NAT'а и проброса 41-го протокола на ваш компьютер в качестве LOCAL_IPV4 необходимо будет указать уже ваш «серый» адрес, при этом на сайте Hurricane Electric необходимо указать реальный IP-адрес вашего модема.
Шаг 3. Настраиваем IPv6 — маршрутизация
Создайте файл /etc/sysconfig/static-routes-ipv6 следующего содержания:
sit1 ::/0
Шаг 4. Настраиваем IPv6 — iptables-фильтрация
Найдите в файле /etc/sysconfig/iptables строку:
-A INPUT -p icmp -j ACCEPT
и добавьте после неё:
-A INPUT -p 41 -j ACCEPT
Выполните команду:
service iptables restart
Шаг 5. Запускаем ipv6-туннель
Тут всё просто — выполните команду:
ifup sit1
Всё, теперь у вас есть настроенный туннель. Протестируйте его:
slavaz@notebook ~ $ ping6 -c 4 ipv6.google.com
PING ipv6.google.com(2a00:1450:8001::69) 56 data bytes
64 bytes from 2a00:1450:8001::69: icmp_seq=1 ttl=56 time=137 ms
64 bytes from 2a00:1450:8001::69: icmp_seq=2 ttl=56 time=142 ms
64 bytes from 2a00:1450:8001::69: icmp_seq=3 ttl=56 time=137 ms
64 bytes from 2a00:1450:8001::69: icmp_seq=4 ttl=56 time=142 ms
--- ipv6.google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3146ms
rtt min/avg/max/mdev = 137.557/140.159/142.683/2.431 ms
Подводные камни — №2 (Dynamic IP)
Если у вас динамический адрес, то существует и здесь решение.
Добавьте в /etc/rc.d/rc.local следующие строки:
PASSWD="Ваш пароль"
USERID="Ваш пользовательский ID"
GTUNID="Global Tunnel ID"
MD5PASS=$(echo -n $PASS | md5sum | sed -e 's/ -//g')
curl -k "https://ipv4.tunnelbroker.net/ipv4 _end.php?ipv4b=AUTO&pass=$MD5PASS&user_i d=$USERID&tunnel_id=$GTUNID" >/var/log/6over4.log 2>&1
Можете один раз выполнить команду:
echo -n "Ваш пароль" | md5sum | sed -e 's/ -//g'
и результирующий хэш вставить в файл, чтобы пароль не светить.
Вроде всё. Надеюсь, хоть кому-то пригодится.
P.S. Про безопасность: также не забывайте про файл /etc/sysconfig/ip6tables — ваш компьютер теперь напрямую подключен к IPv6-сети, а следовательно, напрямую доступен для сканеров и брутфорсеров (благо их пока практически нет в IPv6).
