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

Маршрутизация IPv6-трафика через OpenVPN

У меня есть сервер Fedora с OpenVPN. VPN в режиме tun доступен через IPv4 и IPv6 и успешно маршрутизирует весь трафик IPv4 через сервер OpenVPN. Но маршрутизация трафика IPv6 не работает. Какие-нибудь советы? Вот моя установка:

IPv6-адреса серверных интерфейсов:

ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    inet6 MYPREFIX::/65 scope global 
        valid_lft forever preferred_lft forever
tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
    inet6 MYPREFIX:8000::1/65 scope global 
        valid_lft forever preferred_lft forever

Часть конфига сервера считаю актуальной:

port 1194    # actually, I use another port
proto udp6
dev tun

topology subnet

server 10.8.0.0 255.255.255.0
server-ipv6 MYPREFIX:8000::/65 

push "redirect-gateway def1 bypass-dhcp"
push "route-ipv6 2000::/3"

push "dhcp-option DNS 8.8.8.8"

persist-key
persist-tun

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

$ ip -6 r
CLIENT_ISP_NET::/64 dev wlp3s0 proto ra metric 600  pref medium
CLIENT_ISP_NET::/56 via fe80::HOME_AP dev wlp3s0 proto ra metric 600  pref medium
MYPREFIX:: via fe80::HOME_AP dev wlp3s0 proto static metric 600  pref medium
MYPREFIX:8000::1 dev tun0 proto kernel metric 256  pref medium
MYPREFIX:8000::/65 dev tun0 proto kernel metric 256  pref medium
2000::/3 via MYPREFIX:8000::1 dev tun0 proto static metric 50  pref medium
fe80::HOME_AP dev wlp3s0 proto static metric 600  pref medium
fe80::/64 dev wlp3s0 proto kernel metric 256  pref medium
fe80::/64 dev tun0 proto kernel metric 256  pref medium
default dev tun0 proto static metric 50  pref medium
default via fe80::HOME_AP dev wlp3s0 proto static metric 600  pref medium

Но ping -6 google.de Одер curl -L6 google.de блоки и ничего не происходит.

После того, как я сделал sysctl -w net.ipv6.conf.all.forwarding=1 на сервере поведение ping осталось прежним, в то время как curl дает curl: (7) Failed to connect to google.de port 80: Permission denied.

Моя текущая ставка заключается в том, что что-то не так с настройкой брандмауэра, но я не знаю. Используемый брандмауэр - firewalld (по умолчанию в Fedora). Для IPv4 я включил маскировку, поэтому firewalld настроил всю пересылку автоматически. Для IPv6 все по-другому, поскольку маскировка отсутствует. Некоторые прямые правила iptables из нескольких сообщений в блогах пока не помогли. Не знаю, в чем проблема.