El servidor OpenVPN con un cliente OVPN agregado para llegar a las redes en otro servidor rompe IPv6

El servidor OpenVPN con un cliente OVPN agregado para llegar a las redes en otro servidor rompe IPv6

Tengo un servidor OpenVPN en ejecución que proporciona a los clientes una conexión con IPv4 e IPv6 que funciona. Estoy intentando agregar un cliente OpenVPN a este sistema que se conecta a otro servidor OpenVPN que puede proporcionar rutas predeterminadas, pero en realidad quiero que esto esté deshabilitado para este cliente. El propósito del cliente OpenVPN que se ejecuta junto con este servidor es simplemente proporcionar acceso a algunas de las subredes IPv4 e IPv6 en ese otro servidor. Cuando habilito el cliente OpenVPN, IPv4 funciona bien, pero el servidor deja de poder recibir tráfico IPv6 de Internet cuando el cliente al otro servidor se está ejecutando.

El servicio OpenVPN en el servidor se ejecuta como openvpn@servery el cliente que se conecta a otro servidor OpenVPN se ejecuta como openvpn@clienty es ese último servicio el que impide que el servidor pueda recibir cualquier cosa en su dirección IPv6 para su eth0interfaz de Internet. Cuando openvpn@clientestá detenido, los servicios IPv6 como SSH y las solicitudes de ping funcionan, pero por lo demás no.

Esta es la configuración para 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

Esta es la configuración para 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

Cuando ambos están activados, obtienes estas direcciones y rutas, y no veo nada en conflicto. (He redactado mi dirección de Internet IPv6 para el servidor), pero eth0 IPv6 no funciona cuando se ejecuta el segundo servicio 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

No estoy seguro de qué está mal aquí y el openvpn@homeservicio no parece estar asignando ninguna ruta predeterminada arriba, como indica mi archivo de configuración. No entiendo por qué esto impide que eth0 reciba tráfico IPv6 cuando se inicia el servicio. IPv4 funciona bien y parece que puedo obtener esas subredes LAN en la configuración de mi cliente. El otro servidor OpenVPN está destinado a proporcionar Internet, pero no quiero eso.

Respuesta1

Descubrí que estaba haciendo las cosas del lado equivocado y, en su lugar, cambié la configuración del cliente que se conecta a otro servidor OpenVPN y simplemente comenté mis rutas IPv6 estáticas.

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

En lugar de eso, en ese segundo servidor, creé un archivo de configuración de cliente /etc/openvpn/ccdpara este cliente que hace referencia a su subred IPv6 como una ruta...

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

¡Las cosas empezaron a funcionar!

información relacionada