Назад | Перейти на главную страницу

Конфигурация NAT64 с тайгой на Debian 6

Я пытаюсь реализовать NAT64 с тайгой на своем сервере и дошел до точки, когда не знаю, как действовать дальше.

Мой сервер подключен к Интернету через один IPv4-адрес и один / 64-адресный блок IPv6. Он обслуживает все виды вещей. По причинам, я также использую некоторые контейнеры LinuX (LXC). Это эксклюзивный IPv6. Я реализовал мост (br0) в своей хост-системе и переключил адреса с eth0 на br0. Мои контейнеры успешно взаимодействуют друг с другом по IPv6. С помощью mod_proxy на моем хосте я также мог подключить свои веб-серверы только с ipv6 (LXC) к Интернету IPv4. Но можно сказать, только в одном направлении.

Для некоторых функций автоматического обновления мне нужен NAT64 + DNS6, потому что некоторые серверы обновлений не поддерживают IPv6.

Предположим следующее и остерегайтесь того, что IP-адреса на самом деле не используются.

Хост br0:

inet address: 10.0.0.1 # external IP
inet6 address: 2a01::1/64 # external IP

LXC eth0:

# external IP, some ip6tables forward rules implemented on the host 
inet6 address: 2a01::2/64

Я установил тайгу на свой хост и настроил ее так:

tun-device nat64
ipv4-addr 192.168.255.1
prefix 2a01:0:0:0:64::/96
map 192.168.255.2 2a01::2

Тайга автоматически выбирает IPv6-адрес из этой подсети / 96. Затем я создал интерфейс.

$>tayga --mktun

Теперь вы должны добавить каждый адрес IPv4 и IPv6 в интерфейс nat64. Согласно FAQ использовать одни и те же IP-адреса для хоста - не лучшая идея. С другой стороны, заявлено использование (внутренних) адресов маршрутизаторов. Но я мог взять и совершенно другие, и тогда меня попросили добавить нужные маршруты. Позвольте мне процитировать кое-что:

# ip link set nat64 up
# ip addr add 192.168.0.1 dev nat64      (replace with your router's IPv4 address)
# ip addr add 2001:db8:1::1 dev nat64    (replace with your router's IPv6 address)
# ip route add 192.168.255.0/24 dev nat64
# ip route add 2001:db8:1:ffff::/96 dev nat64

Я не знаю, что мне делать. Какие адреса мне использовать? Просто использовать какие-то частные адреса IPv4 / IPv6? А что еще нужно? Один источник говорит о добавлении некоторых правил пересылки (я уже изменил eth0 на br0, поскольку использую br0):

iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE
iptables -A FORWARD -i br0 -o nat64 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i nat64 -o br0 -j ACCEPT

Дело в том, что я пробовал, и однажды я смог

ping6 2a01:0:0:0:64::192.168.255.1

на моем хосте. Но мне не удалось заставить мой LXC разговаривать с какой-либо системой. Не 2a01: 0: 0: 0: 64 :: 192.168.255.1 или, может быть, 2a01: 0: 0: 0: 64 :: 8.8.8.8 (Google).

Прямо сейчас меня не волнует еще не полностью реализованный DNS64. Я установил какой-то пакет debian и (думаю) знаю, как его настроить, просто еще не пробовал.

Источники, с которыми я консультировался: http://www.litech.org/tayga/ http://www.litech.org/tayga/faq.html http://www.litech.org/tayga/README-0.9.2 http://ipvsix.me/?p=106 http://stuartl.longlandclan.yi.org/blog/2011/06/23/nat64dns64-in-gentoo/ http://blog.raorn.name/2012/02/ipv6-only-lan-with-dual-stack-openwrt.html

Обновление 1:

From 2a01::64:0:c0a8:ff01 icmp_seq=1 Destination unreachable: Unknown code 5

Такой адрес тайга выбирает сама. Я пробовал пинговать From 2a01: 0: 0: 0: 64 :: 8.8.8.8. Я добавил упомянутые правила iptables и сделал следующее:

ip link set nat64 up
ip addr add 192.168.255.1 dev nat64
ip addr add 2a01::1 dev nat64
ip route add 192.168.255.0/24 dev nat64
ip route add 2a01:0.0.0.64::/96 dev nat64

Тем не менее, я могу пинговать 2a01: 0: 0: 0: 64 :: 192.168.255.1, но только с моего хоста. Мой LXC даже не может связаться с этим адресом.

Да, я исключил неправильные правила ip6tables.