ไคลเอนต์ OpenVPN ไม่มีการเชื่อมต่อผ่าน IPv6


0

ฉันกำลังพยายามเพิ่มการสนับสนุนอุโมงค์ IPv6 ไปยังเซิร์ฟเวอร์ OpenVPN (เช่นลูกค้าสามารถเข้าถึงอินเทอร์เน็ต IPv6 ผ่าน VPN)

เราเตอร์ที่ใช้งาน OpenVPN (Netgear WNDR4500v1 ที่ใช้ Tomato v1.28-140) มี IPv6 ผ่าน Hurricane Electric (ทั้งเส้นทาง / 64 และเส้นทาง / 48) - 2001: xxxx: 7: 3b3 :: 2 เป็นที่อยู่ WAN IPv6 - 2001: xxxx: 8: 3b3 :: 1/64 ถูกกำหนดเส้นทางไปยัง LAN interface (br0) - 2001: xxxx: e1ca :: / 48 ถูกกำหนดเส้นทางไปยังส่วนต่อประสาน OpenVPN (tun21)

IPv6 ใช้งานได้จาก LAN ทดสอบ-ipv6.comส่งคืน 10/10

ฉันสามารถเชื่อมต่อจากไคลเอนต์ไปยังเซิร์ฟเวอร์ OpenVPN ผ่าน IPv4 หรือ IPv6 และไคลเอนต์ได้รับที่อยู่ v6 ซึ่งอยู่ในปี 2001: xxxx: e1ca :: / 48 นำหน้า อย่างไรก็ตามไคลเอนต์ไม่มีการเชื่อมต่อ IPv6 เลย ฉันได้ลองกับไคลเอนต์หลาย (Tunnelblick / macOS, OpenVPN สำหรับ Android, OpenVPN Connect / iOS) test-ipv6.com พูดว่า "ไม่พบที่อยู่ IPv6" นอกจากนี้ยังแสดงในบันทึกเซิร์ฟเวอร์:

SM-N910V/2610:xxxx:7f97 MULTI: bad source address from client [2610:xxxx:7f97], packet dropped

ฉันดูวิกิพีเดียของOpenVPN IPv6รวมถึงคู่มือของ Jacob D Evansท่ามกลางทรัพยากรอื่น ๆ การกำหนดค่าเซิร์ฟเวอร์ / ไคลเอ็นต์อยู่ด้านล่าง

กำหนดค่าเซิร์ฟเวอร์:

# Automatically generated configuration
daemon
server 192.168.2.0 255.255.255.0
proto udp
port 1194
dev tun21
cipher AES-256-CBC
comp-lzo adaptive
keepalive 15 60
verb 3
push "route 192.168.1.0 255.255.255.0"
push "dhcp-option DNS 192.168.1.1"
push "redirect-gateway def1"
tls-auth static.key 0
ca ca.crt
dh dh.pem
cert server.crt
key server.key
status-version 2
status status

# Custom Configuration
proto udp6

topology subnet
push "topology subnet"

server-ipv6 2001:xxxx:e1ca::/64
push "route-ipv6 2001:xxxx:8:3b3::/64"
push "route-ipv6 2001:xxxx:e1ca::/48"

push "comp-lzo adaptive"
verb 4

auth sha256

ลูกค้ากำหนดค่า:

client
dev tun

remote vpn.server.com 1194 udp6
float
nobind

persist-key
persist-tun

remote-cert-tls server
cipher AES-256-CBC
key-direction 1
auth sha256

explicit-exit-notify
comp-lzo adaptive
pull

<ca>...</ca>
<cert>...</cert>
<key>...</key>
<tls-auth>...</tls-auth>

ip -6 route ก่อนที่จะเชื่อมต่อกับ VPN:

2001:xxxx:7:3b3::2 via fe80::6c5:a4ff:feea:9cc1 dev enp0s3 proto static metric 100 pref medium
2610:xxxx::/64 dev enp0s3 proto ra metric 100 pref medium
fe80::6c5:a4ff:feea:9cc1 dev enp0s3 proto static metric 100 pref medium
fe80::/64 dev enp0s3 proto kernel metric 100 pref medium
fe80::/64 dev enp0s3 proto kernel metric 256 pref medium
default via fe80::6c5:a4ff:feea:9cc1 dev enp0s3 proto ra metric 100 pref medium

ip -6 route หลังจากเชื่อมต่อกับ VPN:

2001:xxxx:7:3b3::2 via fe80::6c5:a4ff:feea:9cc1 dev enp0s3 proto static metric 100 pref medium
2001:xxxx:8:3b3::/64 via 2001:xxxx:e1ca::1 dev tun0 proto static metric 50 pref medium
2001:xxxx:e1ca::1 dev tun0 proto kernel metric 50 pref medium
2001:xxxx:e1ca::1 dev tun0 proto kernel metric 256 pref medium
2001:xxxx:e1ca::1000 dev tun0 proto kernel metric 50 pref medium
2001:xxxx:e1ca::/48 via 2001:xxxx:e1ca::1 dev tun0 proto static metric 50 pref medium
2610:xxxx::/64 dev enp0s3 proto ra metric 100 pref medium
fe80::6c5:a4ff:feea:9cc1 dev enp0s3 proto static metric 100 pref medium
fe80::/64 dev enp0s3 proto kernel metric 100 pref medium
fe80::/64 dev enp0s3 proto kernel metric 256 pref medium
default dev tun0 proto static metric 50 pref medium
default via fe80::6c5:a4ff:feea:9cc1 dev enp0s3 proto ra metric 100 pref medium

ip -6 route หลังจากรันคำสั่งที่โพสต์โดย @grawity ด้านล่าง:

default from 2001:xxxx:e1ca::/64 dev tun0 metric 1024 pref medium
default from 2610:xxxx::/64 via 2610:xxxx::1 dev enp0s3 metric 1024 pref medium
2001:xxxx:7:3b3::2 via fe80::6c5:a4ff:feea:9cc1 dev enp0s3 proto static metric 100 pref medium
2001:xxxx:8:3b3::/64 via 2001:xxxx:e1ca::1 dev tun0 proto static metric 50 pref medium
2001:xxxx:e1ca::1 dev tun0 proto kernel metric 50 pref medium
2001:xxxx:e1ca::1 dev tun0 proto kernel metric 256 pref medium
2001:xxxx:e1ca::1000 dev tun0 proto kernel metric 50 pref medium
2001:xxxx:e1ca::/48 via 2001:xxxx:e1ca::1 dev tun0 proto static metric 50 pref medium
2610:xxxx::/64 dev enp0s3 proto ra metric 100 pref medium
fe80::6c5:a4ff:feea:9cc1 dev enp0s3 proto static metric 100 pref medium
fe80::/64 dev enp0s3 proto kernel metric 100 pref medium
fe80::/64 dev enp0s3 proto kernel metric 256 pref medium
default dev tun0 proto static metric 50 pref medium
default via fe80::6c5:a4ff:feea:9cc1 dev enp0s3 proto ra metric 100 pref medium

ใครมีความคิดเกี่ยวกับสิ่งที่เกิดขึ้น?

บันทึก OpenVPN: https://gist.github.com/abraha2d/f339ff163dd93e20ba3b499c69d6abe3


ดังนั้นเซิร์ฟเวอร์ OV สามารถสื่อสารผ่าน IPv6 ได้ แต่ไม่ใช่ไคลเอ็นต์หรือไม่ - มีที่อยู่ IPv6 ใด ๆ ที่ได้รับมอบหมายให้กับเครื่องไคลเอนต์และเป็นเครื่องไคลเอนต์สองสแต็ก ( เช่น : IPv4 และ IPv6)? นอกจากนี้คุณได้ปิดใช้งานการกำหนดเส้นทางแพ็คเก็ต (IPv6) ในการกำหนดค่าเราเตอร์เนื่องจากจะป้องกันไม่ให้เครื่องเครือข่ายสามารถสื่อสารระหว่างกันผ่านแพ็กเก็ต IPv6 ได้หรือไม่
Y Treehugger Cymru

@YTreehuggerCymru ไคลเอ็นต์กำลังกำหนดที่อยู่ IPv6 โดยเซิร์ฟเวอร์ OpenVPN (2001: xxxx: e1ca :: 1000) ลูกค้าเป็น dual stack แน่นอนว่า IPv6 ทำงานได้ดีนอก VPN (อ้างอิงจาก test-ipv6.com) การกำหนดเส้นทาง IPv6 ถูกเปิดใช้งานในการกำหนดค่าเราเตอร์
Kevin Abraham

สิ่งที่อยู่ในใจนั้นเป็นประเด็นที่เกี่ยวข้องกับเครือข่ายท้องถิ่น: OpenVPN เป็นสิ่งที่ไม่สามารถกล่าวถึงได้แน่นอนและฉันต้องเปลี่ยนไปใช้เครือข่ายย่อย 10.200.0 เนื่องจากการใช้ OV ของฉันจะไม่ดีกับเครือข่ายย่อย 192.168
Y Treehugger Cymru

@YTreehuggerCymru ฉันคิดว่า IPv6 จะไม่มีปัญหาเช่นนี้เนื่องจากที่อยู่ไม่ซ้ำกันทุกที่ ลำไส้ของฉันบอกฉันว่าMULTI: bad source addressเป็นกุญแจสำคัญในการแก้ปัญหานี้ บางทีรายละเอียดการกำหนดค่าบางอย่างที่ฉันมองเห็น
เควินอับราฮัม

คุณมีไคลเอ็นต์ Linux ธรรมดาอยู่หรือไม่และคุณสามารถทดสอบได้โดยเพิ่มเส้นทางเพิ่มเติมบางอย่างด้วยตนเองหลังจากสร้างการเชื่อมต่อหรือไม่ (เชื่อมต่อจากนั้นเพิ่มip route add ::/0 from 2001:xxxx:e1ca::/64 dev tun0 และ ip route add ::/0 from 2610:xxx/64 via <langw> dev eth0 .)
grawity

คำตอบ:


0

คุณไม่มีตัวเลือกการพุชในการกำหนดค่าเซิร์ฟเวอร์ของคุณ

คุณมี:

push "redirect-gateway def1"

คุณต้องมีipv6ตัวเลือกเช่น:

push "redirect-gateway def1 ipv6"

ฉันลองด้วย / ไม่มีpush "redirect-gateway def1 ipv6"ตัวเลือก ไม่มีการเปลี่ยนแปลง.
Kevin Abraham
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.