У меня есть роутер linux (dd-wrt без модуля ipv6, места для этого нет) и ПК с linux (Arch linux). Я пытаюсь настроить мой маршрутизатор для пересылки пакетов 6to4 (протокол 41) на мой компьютер и настроить туннель на нем.
Что я сделал до сих пор на маршрутизаторе:
iptables -t nat -A POSTROUTING -p 41 -d ! 192.168.1.0/24 -j SNAT --to _WANIP_
iptables -t nat -A PREROUTING -p 41 --dst _WANIP_ -j DNAT --to-destination _LANDEST_
где _WANIP_
- мой «внешний» адрес ipv4, а _LANDEST_
- компьютер с настройкой 6to4.
Настройка 6to4 сделана так:
export IPV4_ADDRESS=_WANIP_
export OUR_IPV6_GW=`printf "2002:%02x%02x:%02x%02x::1" \`echo $IPV4_ADDRESS | tr '.' ' '\``
ip tunnel add tun6to4 mode sit ttl 32 remote any local $IPV4_ADDRESS
ip link set dev tun6to4 up
ip -6 addr add $OUR_IPV6_GW/16 dev tun6to4
ip -6 route add 2000::/3 via ::192.88.99.1 dev tun6to4 metric 1
OUR_IPV6_GW
содержит один из 6to4 адресов. После выполнения всех этих шагов для тестирования я делаю ping6 ipv6.google.com
чтобы увидеть, работает ли установка, и я получаю сообщения об ошибках. Destination unreachable: Address unreachable
Я могу пинговать (IPv4) до 192.88.99.1, ip -6 route
выглядит нормально. Я также попытался запустить iptables -I [...]
для настройки NAT, чтобы убедиться, что тени правил не вставлены.
Я использовал некоторые ресурсы из http://www.wtfm.org/ip6to4