LINUX.ORG.RU
решено ФорумAdmin

IPv6-nat?

 ,


0

1

Дано: домашний десктоп на линуксе с vpn-туннелем. К нему время от времени подключаются по wifi или по проводу другие девайсы. Нужно предоставить этим девайсам возможность пользоваться vpn-туннелем.

Сложность заключается в том, что через этот туннель ходят в т. ч. по IPv6 и его конфигурацию я не осилил от слова «совсем». Мои скромные сетеввые познания наталкивают на мысль, что мне нужен NAT для некоторых диапазонов адресов (для IPv4 это был бы -o tun0 -j MASQUERADE) — как такое делается в случае ipv6?

Я не осилил ваш вопрос. «домашний десктоп на линуксе с vpn-туннелем» - является роутером или это отдельно стоящая машинка, у которой defgw тот же как и у «девайсов»?
Откуда берется у «девайсов» v6? Кто их раздает?
ЗЫ NAT в v6 давно завезли, и робит также как и в v4, синтаксис тот же.

anc ★★★★★
()
Ответ на: комментарий от anc

является роутером или это отдельно стоящая машинка

Это мой основной компьтер, за которым я работаю.

Откуда берется у «девайсов» v6?

Ну какой-то дефолтный ipv6 есть у каждой кофеварки.

ЗЫ NAT в v6 давно завезли, и робит также как и в v4, синтаксис тот же.

Ну в IPv4 я бы NAT завез через DHCP, а в IPv6 же конфигурация на каком-то другом уровне происходит.

kawaii_neko ★★★★
() автор топика
Ответ на: комментарий от Infra_HDC

NAT в IPv6 — моветон

А какие другие варианты могут быть для заныривания в тоннель?

такой VPN как PPTP

К счастью, у меня не PPTP

kawaii_neko ★★★★
() автор топика
Ответ на: комментарий от kawaii_neko

Это мой основной компьтер, за которым я работаю.

Ну что такое! Я задал вопрос: «является роутером или это отдельно стоящая машинка» ?

Ну какой-то дефолтный ipv6 есть у каждой кофеварки.

link-local есть и в v4.

Ну в IPv4 я бы NAT завез через DHCP, а в IPv6 же конфигурация на каком-то другом уровне происходит.

Нифига не понятно. Рисуйте схему и свои «пожелалки»

anc ★★★★★
()
Ответ на: комментарий от anc

Рисуйте схему и свои «пожелалки»

Пытаюсь пошарить ipv6 туннель между локалхостом и всем, что к нему подключено. Имеется:

  • локалхост, на котором есть tun0
  • клиентские девайсы, которые хочется просто воткнуть (по wifi или проводом) и получить возможность «ходить через tun0»

В ipv4 все решает строка iptable -t nat -A POSTROUTING -o tun0 -j MASQUERADE.

В ipv6 я запускаю radvd, на клиенте

ip -6 route get $some_host_behind_tun0
$tun0_ipv6_address from :: dev eth0 proto ra src $client_ipv6 metric 100 pref medium
И ничего — ни пинги не идут в $some_host_behind_tun0, ни tcp. Я ожидал wireshark-ом на интерфейсе SYN-ы увидеть, когда telnet-иться к $some_host_behind_tun0 пытаюсь с клиента — нифига.

kawaii_neko ★★★★
() автор топика
Ответ на: комментарий от kawaii_neko

Даже предположим что у вас на tun0 один префикс который вы не хотите дальше разруливать. Ну раздайте серые адреса v6 локальным устройствам и тем же ip6tables маскарадьте. Это уж точно работать будет.
Но! вы так и не показали схемку.

anc ★★★★★
()
Ответ на: комментарий от anc

Ну раздайте серые адреса v6 локальным устройствам

То есть, link-scope для этой цели не подойдет? А в какую сторону смотреть для раздачи серых IPv6? dhcp (dnsmasq в моем случае) или radvd?

Но! вы так и не показали схемку.

Как-то так, наверное: https://i.imgur.com/Fm4RyEn.png Хочется, чтобы устройства в tun0 не подозревали, что за localhost-ом есть что-то еще.

И вдогонку: сейчас я раздаю и роучу IPv4 — можно ли остаться сугубо на IPv6, в т. ч. и для предоставления интернета устройствам, подключенным к localhost-у?

kawaii_neko ★★★★
() автор топика
Последнее исправление: kawaii_neko (всего исправлений: 1)
Ответ на: комментарий от kawaii_neko

Если я все правильно понял, тогда тем более серые v6 и маскарад для них. Получаеться полная аналогия с v4. dnsmasq нормально раздает v6.

сейчас я раздаю и роучу IPv4 — можно ли остаться сугубо на IPv6

Если вы про локалку, то говорят можно, из старых закладок но сам не проверял, сохранил на всякий случай https://forum.ubuntu.ru/index.php?topic=186059.0
Если про вообще перейти только на v6 то не рекомендую.

anc ★★★★★
()

А дальше через туннель эти девайсы куда должны ходить, в глобальный IPv6 интернет или только в другой конец туннеля? Во втором случае можно приватные адреса им раздавать

Harald ★★★★★
()

Господа, в двух словах: я вообще не понимаю и не хочу понимать IPv6, мне это не надо.

Но мне нужно, чтобы ip туннель, который поднимается на основной тачке, был доступен с подключенных к нему планшетов/телефонов. Для IPv4 это делается тривиально и называется NAT и гуглится по слову MASQUERADE.

Для IPv6 — ну никак. Конечно, можно было бы поднять squid и наслаждаться интернетом через метод CONNECT, но я не хочу настраивать прокси на дурацких мобильных устройствах. Я хочу, чтобы после ввода wifi пароля, я мог попадать и на ipv6 хосты, которые доступны через тоннель.

Я не знаю, как объяснить понятнее. Мне хочется, чтобы когда на localhost по интерфейсу wifi0 прилетает пакетик, который должен идти черет tun0, хост по ту сторону tun0 думал, что к нему ломится мой localhost, а не что-то другое.

kawaii_neko ★★★★
() автор топика
Ответ на: комментарий от kawaii_neko

Оказалось, в net.ipv6.conf.all.forwarding стоял 0. Теперь все ок.

kawaii_neko ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.