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

Маршрутизация IPv6-трафика от клиента через OpenVPN-сервер

Для игры и обучения я установил OpenVPN-сервер. В настоящее время я подключен к сети без IPv6. По этой причине я хотел бы маршрутизировать весь IPv6-трафик через VPN. С IPv4 и iptables-Masquerading это уже отлично работает.

Теперь о IPv6: я настроил IPv6 внутри сети. Я могу устанавливать соединения и пинги (ping6) между клиентом и сервером внутри сети.

Пересылка ядра сервера активирована. Сервер имеет внешнее подключение по IPv6.

Я пробовал эту настройку:

push "route-ipv6 2000::/3"

и

push "route-ipv6 <my IPv6>"

Если я хочу пропинговать какой-нибудь адрес "снаружи":

ping6 ipv6.google.com
connect: Network is unreachable

Даже если я настрою правильный интерфейс с помощью "-I tun2". (Просто чтобы убедиться, что он не пытается использовать какой-то другой интерфейс)

Теперь мои конфиги и настройки:

IP клиента:

inet6 addr: fdee:dead:b0b::1000/64

IP сервера:

inet6 addr: fdee:dead:b0b::1/64

Конфигурация серверов:

port 443
proto udp
proto udp6
dev tun
tun-ipv6
ca ca.crt
cert server.crt
key server.key
dh dh4096.pem
auth SHA512
server 10.0.0.0 255.255.255.0
server-ipv6 fdee:dead:b0b::/64
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 10.0.0.1"
client-to-client
keepalive 10 60
tls-auth ta.key 0
cipher AES-256-CBC
comp-lzo
max-clients 3
user nobody
group nogroup
persist-key
persist-tun
log-append  openvpn.log
verb 4
nice -19

Это мои настройки ядра относительно пересылки:

net.ipv4.conf.all.forwarding = 1
net.ipv4.conf.all.mc_forwarding = 0
net.ipv4.conf.default.forwarding = 1
net.ipv4.conf.default.mc_forwarding = 0
net.ipv4.conf.lo.forwarding = 1
net.ipv4.conf.lo.mc_forwarding = 0
net.ipv4.conf.venet0.forwarding = 1
net.ipv4.conf.venet0.mc_forwarding = 0
net.ipv4.conf.tun0.forwarding = 1
net.ipv4.conf.tun0.mc_forwarding = 0
net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.all.mc_forwarding = 0
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.default.mc_forwarding = 0
net.ipv6.conf.lo.forwarding = 1
net.ipv6.conf.lo.mc_forwarding = 0
net.ipv6.conf.venet0.forwarding = 1
net.ipv6.conf.venet0.mc_forwarding = 0
net.ipv6.conf.tun0.forwarding = 1
net.ipv6.conf.tun0.mc_forwarding = 0

Я был бы очень признателен, если бы кто-нибудь мог вести меня в правильном направлении.