다른 서버의 네트워크에 연결하기 위해 OVPN 클라이언트가 추가된 OpenVPN 서버가 IPv6를 손상시킵니다.

다른 서버의 네트워크에 연결하기 위해 OVPN 클라이언트가 추가된 OpenVPN 서버가 IPv6를 손상시킵니다.

작동하는 IPv4 및 IPv6과 연결하는 클라이언트를 제공하는 실행 중인 OpenVPN 서버가 있습니다. 기본 경로를 제공할 수 있는 다른 OpenVPN 서버에 연결하는 OpenVPN 클라이언트를 이 시스템에 추가하려고 하는데 실제로는 이 클라이언트에 대해 이 클라이언트를 비활성화하고 싶습니다. 이 서버와 함께 실행되는 OpenVPN 클라이언트의 목적은 단지 다른 서버의 일부 IPv4 및 IPv6 서브넷에 대한 액세스를 제공하는 것입니다. OpenVPN 클라이언트를 활성화하면 IPv4가 제대로 작동하지만 클라이언트가 다른 서버로 실행 중일 때 서버 자체는 인터넷에서 IPv6 트래픽을 가져올 수 없게 됩니다.

서버의 OpenVPN 서비스는 다음으로 실행되고 openvpn@server다른 OpenVPN 서버에 연결하는 클라이언트는 openvpn@client서버가 인터넷 인터페이스의 IPv6 주소에서 어떤 것도 수신할 수 없도록 막는 마지막 서비스입니다 eth0. 중지 하면 openvpn@clientSSH 및 ping 요청과 같은 IPv6 서비스가 작동하지만 그렇지 않으면 작동하지 않습니다.

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 인터넷 주소를 수정했습니다.) 두 번째 OpenVPN 서비스가 실행 중일 때 eth0 IPv6이 손상되었습니다...

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

일이 시작되었습니다!

관련 정보