Сервер OpenVPN с клиентом OVPN, добавленным для доступа к сетям на другом сервере, нарушает работу IPv6

Сервер OpenVPN с клиентом OVPN, добавленным для доступа к сетям на другом сервере, нарушает работу IPv6

У меня есть работающий сервер OpenVPN, который предоставляет клиентам подключение с IPv4 и IPv6, что работает. Я пытаюсь добавить клиент OpenVPN в эту систему, который подключается к другому серверу OpenVPN, который может предоставлять маршруты по умолчанию, но на самом деле я хочу отключить это для этого клиента. Цель клиента OpenVPN, работающего вместе с этим сервером, заключается в предоставлении доступа к некоторым подсетям IPv4 и IPv6 на этом другом сервере. Когда я включаю клиент OpenVPN, IPv4 работает нормально, но сам сервер перестает получать какой-либо трафик IPv6 из интернета, когда клиент на другом сервере работает.

Служба OpenVPN на сервере работает как , openvpn@serverа клиент, который подключается к другому серверу OpenVPN, работает как , openvpn@clientи это последняя служба, которая не позволяет серверу получать что-либо на его адрес IPv6 для его eth0интернет-интерфейса. При openvpn@clientостановке службы IPv6, такие как запросы SSH и ping, работают, но в остальном нет.

Это конфигурация для openvpn@server...

port 9976
proto udp
proto udp6
dev tun
user nobody
group nogroup
persist-key
persist-tun
keepalive 10 120
topology subnet
server 10.7.0.0 255.255.255.0
server-ipv6 fd0a:beef:b00b:cafe::/112
ifconfig-pool-persist ipp.txt
tun-ipv6
push tun-ipv6
push "route-ipv6 2000::/3"
push "dhcp-option DNS 10.7.0.1"
push "dhcp-option DNS6 fd0a::beef:b00b:cafe::1"
push "redirect-gateway def1 bypass-dhcp"
dh none
ecdh-curve prime256v1
tls-crypt tls-crypt.key
crl-verify crl.pem
ca ca.crt
cert server_emjWqXeJkx9FLowU.crt
key server_emjWqXeJkx9FLowU.key
auth SHA256
cipher AES-128-GCM
ncp-ciphers AES-128-GCM
tls-server
tls-version-min 1.2
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256
client-config-dir /etc/openvpn/ccd
status /var/log/openvpn/status.log
verb 3

Это конфигурация для openvpn@home...

client
proto udp
explicit-exit-notify
remote 139.218.29.235 1194
dev tun
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
verify-x509-name server_3UvQL2AfKLys5yTS name
auth SHA256
auth-nocache
cipher AES-256-GCM
tls-client
tls-version-min 1.2
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256
ignore-unknown-option block-outside-dns
setenv opt block-outside-dns # Prevent Windows 10 DNS leak
verb 3
route-nopull
pull-filter ignore route-ipv6
pull-filter ignore redirect-gateway
route 192.168.1.0 255.255.255.0
route 192.168.84.0 255.255.255.0
route-ipv6 2403:ffff:ffff:ffff::/64 #redacted
route-ipv6 fd00:beef:b00b:cafe::/64

Когда оба активны, вы получаете эти адреса и маршруты, и я не вижу ничего конфликтующего. (Я отредактировал свой интернет-адрес IPv6 для сервера), но eth0 IPv6 не работает, когда запущена вторая служба OpenVPN...

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 2404:ffff:ffff:ffff:216:3eff:fee2:12fe/64 scope global dynamic mngtmpaddr 
       valid_lft 4sec preferred_lft 3sec
    inet6 fe80::216:3eff:fee2:12fe/64 scope link 
       valid_lft forever preferred_lft forever
3: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 state UNKNOWN qlen 500
    inet6 fd0a:beef:b00b:cafe::1/112 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::b9ec:b1f8:e65:7f3d/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever
8: tun1: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 state UNKNOWN qlen 500
    inet6 fd08:beef:b00b:cafe::3/112 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::f807:1850:2b87:348/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever
2403:ffff:ffff:ffff::/64 dev tun1 metric 1024 pref medium
2404:ffff:ffff::/64 dev eth0 proto kernel metric 256 expires 4sec pref medium
fd00:beef:b00b:cafe::/64 dev tun1 metric 1024 pref medium
fd08:beef:b00b:cafe::/112 dev tun1 proto kernel metric 256 pref medium
fd0a:beef:b00b:cafe::/112 dev tun0 proto kernel metric 256 pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
fe80::/64 dev tun0 proto kernel metric 256 pref medium
fe80::/64 dev tun1 proto kernel metric 256 pref medium
default via fe80::ec4:7aff:fecc:1ca7 dev eth0 proto ra metric 1024 expires 1sec hoplimit 64 pref medium
default via fe80::ec4:7aff:fe7c:bf1f dev eth0 proto ra metric 1024 expires 4sec hoplimit 64 pref high

Я не уверен, что здесь не так, и служба, openvpn@homeпохоже, не назначает никаких маршрутов по умолчанию выше, как указано в моем файле конфигурации. Я не понимаю, почему это мешает eth0 получать какой-либо трафик IPv6 при запуске службы. IPv4 работает нормально, и я, похоже, могу получить эти подсети LAN в конфигурации моего клиента. Другой сервер OpenVPN предназначен для предоставления интернета, но я не хочу этого от него.

решение1

Я понял, что действовал неправильно, и вместо этого изменил конфигурацию клиента, который подключается к другому серверу OpenVPN, и просто закомментировал свои статические маршруты IPv6.

#route-ipv6 2403:4800:3f02:1483::/64
#route-ipv6 fd00:beef:b00b:cafe::/64

Вместо этого на этом втором сервере я создал файл конфигурации клиента, /etc/openvpn/ccdкоторый ссылается на его подсеть IPv6 как на маршрут...

iroute-ipv6 fd08:beef:b00b:cafe::/64

Все начало работать!

Связанный контент