LINUX.ORG.RU
ФорумAdmin

Проблема с доступом у клиентов по IPv6 в OpenVPN

 ,


0

2

Такая штука, поднял на VPS'ке OpenVPN, чтобы заходить на интересные сайты из каталога сайтов РКН. Но хочется быть прогрессивным и иметь белые статические айпи для всех устройств в моей домашней сети, и запилил доступ по IPv6 в OpenVPN. Настроил и на первый взгляд вроде все заработало, пинги есть и на клиенте и на сервере. Но впоследствии оказалось, что, например, ping6 any_ipv6_site на стороне клиента проходит только в случае ping6 any_ipv6_site на сервере(и еще с минуту, после прекращения пинга на сервере).

Часть касательно IPv6 в конфиге OpenVPN:

server-ipv6 2a00:1234:1234:1234:0000:0000:0000:0001/112
tun-ipv6
push tun-ipv6
push "route-ipv6 2000::/3"

IP6TABLES наверняка кучи лишнего, надергал из интернетов пытаясь решить проблему:

*filter
:INPUT DROP [1:72]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [1:72]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmpv6 -j ACCEPT
-A FORWARD -p icmpv6 -j ACCEPT
-A INPUT -p udp -m udp --dport 12345 -j ACCEPT
-A FORWARD -i eth0 -o tun+ -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i tun+ -o eth0 -j ACCEPT
-A FORWARD -s 2a00:1234:1234:1234::/64 -i tun+ -o eth0 -m state --state NEW -j $
-A FORWARD -d 2a00:1234:1234:1234::/64 -i eth0 -o tun+ -m state --state NEW -j $
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

/etc/sysctl.conf

net.ipv6.conf.all.forwarding=1

/etc/network/interfaces

iface eth0 inet6 static
pre-up modprobe ipv6
        address 2a00:1234:1234:1234:0000:0000:0000:0002
        netmask 64
        autoconf 0
        gateway fe80::1
        dns-nameservers 2001:4860:4860::8888

Такая штука в консоли тоже не помогает

sudo ip neigh add proxy 2a00:1234:1234:1234::1001 dev eth0

Запостил в раздел Admin, но сам я нифига не админ, ткните пожалуйста носом, хоть в какую сторону копать...

Для начала очисти файрвол. Затем уточни какая ipv6 подсеть есть у тебя и как ты её планируешь выдавать клиентам - разбить на две и роутить, добавить в мост(судя по тому что у тебя tun, а не tap - этот вариант пролетает) или через proxy ndp(судя по последней команде)?

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

ip6tables - правила удалил, по умолчанию все ACCEPT. Что характерно данное действие ни на что не повлияло. ipv6 подсеть мне выдали /64. По поводу как ее выдавать клиентам - а как лучше?) Я то думал, что надо настроить маршрут между eth и tun на сервере?

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

а как лучше?

«лучше» понятия нет. Зависит от того как ты можешь.

Если можешь перейти на tap на ВСЕХ клиентах - тогда можешь просто добавить tap устройство в мост с тем устройством, где у тебя /64. Учти, что ты при этом не сможешь контролировать трафик между OpenVPN-клиентами(сможешь только или разрешить между всеми клиентами или запретить - опция client-to-client отвечает за это).

Если переход на tap-устройство нежелателен - тогда остаются только варианты route или proxy ndp. С вариантом route ты можешь выделить меньшую подсеть(например /96 или /112) для VPN-клиентов и отмаршрутизировать её туда - так как Linux позволяет назначать частично перекрывающиеся сети на разные интерфейсы - проблем с передачей unicast IP-пакетов не будет. При proxy ndp ты еще вдобавок обеспечишь как бы виртуальную L2-связность - будет вдобавок работать broadcast.

Вообще советую подтянуть теорию по IP-сетям - тут настолько общие вещи, что они не касаются непосредственно IPv6(за исключение proxy ndp - в IPv4 эта технология называется proxy arp, но суть её та же). Если у тебя будет понимает что такое широковещательный(broadcast) домен и маршрутизируемая подсеть - многие другие вопросы просто отпадут.

В очередной раз рекомендую цикл статей(с видео!) «Сети для самых маленьких». Части с 0 по 3 тебе в помощь, дальше контент строго для интересующихся админством, с 9 главы - строго для админов крупных предприятий и/или провайдеров(собственно примерно там цикл переименован в «Сети для самых матёрых»).

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

shadowsocks от наших узкоглазых братьев для обхода блокировок. wireguard - это тунели строить для передачи данных.

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

А как у wireguard в плане dpi? В Китае блокируют его?

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