LINUX.ORG.RU
ФорумAdmin

Как передать белый IPv6 через StrongSwan VPN?

 , , ,


1

2

Настраиваю сабж на Debian 10. С NAT работает, как с IPv4 так и с IPv6. Но хотелось бы отдавать клиентам белые IPv6 адреса. Но не представляю, как это сделать. Провайдер вроде нормальный, по крайней мере /64 у меня есть и если я добавляю адрес на интерфейс, то он тут же начинает работать. Вроде через NDP это работает, tcpdump по крайней мере показывает NDP пакеты всякие (и мои, и не мои). Попробовал «тупо» указать /120 подсеть из моей белой подсети в rightsourceip, адрес выдался, но ничего кроме самого сервера не пинговалось. Через tcpdump вижу пакет с echo request и всё. Попробовал руками добавить ip neigh c этим адресом, не помогло. Также пробовал добавлять кусок отсюда, тоже не помогло.

Текущая конфигурация (с NAT):

/etc/ipsec.conf:
conn vpn
        auto = add
        keyexchange = ikev2
        compress = yes
        dpdaction = clear
        ike = aes128-sha1-modp1024!
        esp = aes128-sha1!
        left = 77.73.69.197
        leftsubnet = 0.0.0.0/0, 2000::/3
        leftid = vbezhenar.com
        leftcert = vbezhenar.com-cert.pem
        leftsendcert = always
        right = 0.0.0.0/0
        rightauth = eap-mschapv2
        eap_identity = %any
        rightsendcert = never
        rightsourceip = 10.84.175.2/24, fdd8:5196:a899:6984:393e:d71e:875b:1e02/120
        rightdns = 10.84.175.1

/etc/network/interfaces:
source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

allow-hotplug ens3
iface ens3 inet static
        address 87.73.69.197/24
        gateway 87.73.69.1

iface ens3 inet static
        address 10.84.185.1/32

iface ens3 inet6 static
        address 2a00:1838:38:31d::b6e5/64
        pointopoint 2a00:1838:38::1
        gateway 2a00:1838:38::1

iface ens3 inet6 static
        address 2a00:1838:38:31d:59b8:037c:5159:3fec/64

/etc/nftables.conf:
#!/usr/sbin/nft -f

flush ruleset

table ip nat {
        chain postrouting {
                type nat hook postrouting priority 0;
                oif ens3 ip saddr 10.84.185.0/24 snat 87.73.69.197
        }
}

table ip6 nat {
        chain postrouting {
                type nat hook postrouting priority 0;
                oif ens3 ip6 saddr fdd8:5196:a799:6984:393e:d71e:875b:1e00/120 ip6 daddr 2000::/3 snat 2a00:1838:37:31d:59b8:037c:5159:3fec
        }
}

★★★★★

Адреса fdd8 (fc00::/7) — приватный диапазон IPv6, аналог 10.0.0.0/8 или 192.168.0.0/16. Вы уверены, что назначаете правильный адрес клиентам VPN? У вашего провайдера NAT?

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

Сделал:

sysctl net.ipv6.conf.ens3.proxy_ndp=1
ip -6 neigh add proxy 2a00:1838:38:31d:5753:5676:fb05:c202 dev ens3
подключился (strongswan выдал именно этот адрес клиенту). Через tcpdump смотрю пакеты, вижу NDP-запросы и ответы, но пакеты уходят, а ответы не приходят:
13:43:30.126974 IP6 2a00:1838:38:31d:5753:5676:fb05:c202.53287 > 2a01:111:2003::52.80: Flags [S], seq 3644532562, win 64320, options [m
ss 1340,nop,wscale 8,nop,nop,sackOK], length 0
13:43:30.127021 IP6 2a00:1838:38:31d:5753:5676:fb05:c202.53287 > 2a01:111:2003::52.80: Flags [S], seq 3644532562, win 64320, options [m
ss 1340,nop,wscale 8,nop,nop,sackOK], length 0
13:43:30.142059 IP6 fe80::fa66:f2ff:fe68:66ff > ff02::1:ff05:c202: ICMP6, neighbor solicitation, who has 2a00:1838:38:31d:5753:5676:fb0
5:c202, length 32
13:43:30.415582 IP6 fe80::216:3cff:febf:18a0 > fe80::fa66:f2ff:fe68:66ff: ICMP6, neighbor advertisement, tgt is 2a00:1838:38:31d:5753:5
676:fb05:c202, length 32
13:43:30.464875 IP6 2a00:1838:38:31d:5753:5676:fb05:c202.53289 > 2606:4700:10::6814:14ec.443: Flags [S], seq 3177613300, win 64320, opt
ions [mss 1340,nop,wscale 8,nop,nop,sackOK], length 0
Фаервол всё разрешает.

Legioner ★★★★★ ()
Последнее исправление: Legioner (всего исправлений: 1)