Score:0

เชื่อมต่อ OpenVPN LAN - แต่ไม่มีอินเทอร์เน็ตบนไคลเอ็นต์

ธง us

ฉันพยายามทำให้มันใช้งานได้มาระยะหนึ่งแล้ว ฉันมีเซิร์ฟเวอร์ openvpn (ติดตั้งโดยใช้ Angristan https://github.com/angristan/openvpn-install ) บน Openvz 7 vps ที่รันเดเบียน 10 ดังนั้นการกำหนดค่าส่วนใหญ่จึงถูกจัดการโดยมันมันสร้างไฟล์กำหนดค่าไคลเอนต์ (myClient.ovpn) ซึ่งฉันดาวน์โหลดบนไคลเอนต์ บนไคลเอนต์ (ซึ่งเป็น linux mint 20.3) ฉันกำลังทดสอบการเชื่อมต่อโดยใช้:

openvpn --client --config myClient.ovpn

มันเชื่อมต่อได้ดี ตอนนี้ฉันสามารถ ping เกตเวย์ VPN เช่น (จากลูกค้า):

PING 10.8.0.1 (10.8.0.1) 56(84) ไบต์ของข้อมูล
64 ไบต์จาก 10.8.0.1: icmp_seq=1 ttl=64 เวลา=87.9 ms
64 ไบต์จาก 10.8.0.1: icmp_seq=2 ttl=64 เวลา=86.6 ms
64 ไบต์จาก 10.8.0.1: icmp_seq=3 ttl=64 เวลา=86.6 ms
^ซี
--- สถิติ ping 10.8.0.1 ---
ส่ง 3 แพ็กเก็ต, 3 แพ็กเก็ตที่ได้รับ, การสูญเสียแพ็กเก็ต 0%, เวลา 2003ms
rtt นาที/เฉลี่ย/สูงสุด/mdev = 86.551/87.041/87.946/0.640 มิลลิวินาที

แต่ฉันไม่สามารถ ping google หรืออย่างอื่นได้ เห็นได้ชัดว่าปัญหาการกำหนดเส้นทาง/ NAT ฉันไม่พบข้อผิดพลาดด้วยความรู้ที่จำกัดของฉัน :

ปิง 8.8.8.8 กำลังล้มเหลว

Dns ทำงานอย่างถูกต้องราวกับว่าฉันใช้ ping yahoo.com จากนั้นจะแก้ไขเป็น yahoo IP แต่ไม่สามารถ ping ได้อีกครั้ง

$ ปิง yahoo.com
PING yahoo.com (74.6.143.25) ข้อมูล 56(84) ไบต์

--- สถิติ ping ของ yahoo.com ---
ส่งแพ็กเก็ต 4 แพ็กเก็ต ได้รับ 0 แพ็กเก็ต สูญเสียแพ็กเก็ต 100% เวลา 3154ms```

รายละเอียดเซิร์ฟเวอร์ :

รุ่น openvpn:

~ # openvpn --version
OpenVPN 2.4.7 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] สร้างขึ้นเมื่อวันที่ 28 เมษายน 2021
รุ่นไลบรารี: OpenSSL 1.1.1d 10 ก.ย. 2019, LZO 2.10
สร้างสรรค์โดย James Yonan

ชื่อ -a

~#uname -a
Linux mySerer.domainHost.com 4.19.0 #1 SMP อ. 25 ส.ค. 11:59:26 MSK 2020 x86_64 GNU/Linux

หมายเหตุ: เป็น vps ที่ใช้ openvz 7

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

เซิร์ฟเวอร์
แมว /etc/openvpn/server.conf
พอร์ต 2220
โปรโตคอล udp
ทุนพัฒนา
ผู้ใช้ไม่มีใคร
กลุ่มโนกรุ๊ป
คีย์คงอยู่
คงอยู่-tun
รักษาชีวิต 10 120
ซับเน็ตโทโพโลยี
เซิร์ฟเวอร์ 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
กด "dhcp-option DNS 208.67.222.222"
กด "dhcp-option DNS 208.67.220.220"
กด "เปลี่ยนเส้นทางเกตเวย์ def1 บายพาส-dhcp"
ไม่มีเลย
ecdh-curve prime256v1
tls-crypt tls-crypt.key
crl-ตรวจสอบ crl.pem
แคลิฟอร์เนีย ca.crt
ใบรับรอง server_JCJHDggypybdTuKJ.crt
คีย์ server_JCJHDggypybdTuKJ.key
รับรองความถูกต้อง SHA256
รหัส AES-128-GCM
ncp-ciphers AES-128-GCM
เซิร์ฟเวอร์ tls
tls-เวอร์ชั่น-นาที 1.2
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256
ลูกค้า config-dir /etc/openvpn/ccd
สถานะ /var/log/openvpn/status.log
กริยา 4 

รายละเอียดเครือข่ายหลังจากเริ่มเซิร์ฟเวอร์ openvpn:

~# ไอพีเอ
1: จริง: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN กลุ่มเริ่มต้น qlen 1,000
    ลิงค์ / ย้อนกลับ 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 ขอบเขตโฮสต์เลย
       valid_lft ตลอดไป reserved_lft ตลอดไป
    inet6 ::1/128 ขอบเขตโฮสต์
       valid_lft ตลอดไป reserved_lft ตลอดไป
2: venet0: <BROADCAST,POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN กลุ่มเริ่มต้น
    ลิงค์/โมฆะ
    inet 127.0.0.1/32 ขอบเขตโฮสต์ venet0
       valid_lft ตลอดไป reserved_lft ตลอดไป
    inet Y.Y.Y.Y/32 brd Y.Y.Y.Y ขอบเขต global venet0:0
       valid_lft ตลอดไป reserved_lft ตลอดไป
    inet6 2402:x:x:x:x::dc37/80 ขอบเขตทั่วโลก
       valid_lft ตลอดไป reserved_lft ตลอดไป
    inet6 ::2/128 ขอบเขตทั่วโลก
       valid_lft ตลอดไป reserved_lft ตลอดไป
7: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN กลุ่มเริ่มต้น qlen 500
    ลิงค์/ไม่มี
    inet 10.8.0.1/24 brd 10.8.0.255 ขอบเขต global tun0
       valid_lft ตลอดไป reserved_lft ตลอดไป
    inet6 fe80::505f:b97:1101:5f33/64 ลิงค์ขอบเขตความเสถียร - ความเป็นส่วนตัว
       valid_lft ตลอดไป reserved_lft ตลอดไป

บนเซิร์ฟเวอร์ (กฎ iptables)

  iptables -t แนท -L -n -v
CHAIN ​​PREROUTING (นโยบายยอมรับ 0 แพ็คเก็ต, 0 ไบต์)
 pkts bytes target prot เลือกใช้ปลายทางต้นทาง

Chain INPUT (นโยบายยอมรับ 0 แพ็กเก็ต, 0 ไบต์)
 pkts bytes target prot เลือกใช้ปลายทางต้นทาง

Chain POSTROUTING (นโยบายยอมรับ 0 แพ็คเก็ต, 0 ไบต์)
 pkts bytes target prot เลือกใช้ปลายทางต้นทาง
    0 0 สวมหน้ากากทั้งหมด -- * venet0 10.8.0.0/24 0.0.0.0/0

Chain OUTPUT (นโยบายยอมรับ 0 แพ็คเก็ต, 0 ไบต์)
 pkts bytes target prot เลือกใช้ปลายทางต้นทาง
# คำเตือน: มีตาราง iptables-legacy ให้ใช้ iptables-legacy เพื่อดู 

บนเซิร์ฟเวอร์ เส้นทาง ip:

 เส้นทาง $ ip
ลิงก์ขอบเขต dev venet0 เริ่มต้น
10.8.0.0/24 dev tun0 ลิงก์ขอบเขตเคอร์เนลโปรโต src 10.8.0.1

สถานะการส่งต่อ (บนเซิร์ฟเวอร์)

sysctl -a | เกรปส่งต่อ
net.ipv4.conf.all.forwarding = 1
net.ipv4.conf.all.mc_forwarding = 0
net.ipv4.conf.default.forwarding = 1
net.ipv4.conf.default.mc_forwarding = 0
net.ipv4.conf.lo.forwarding = 1
net.ipv4.conf.lo.mc_forwarding = 0
net.ipv4.conf.tun0.forwarding = 1
net.ipv4.conf.tun0.mc_forwarding = 0
net.ipv4.conf.venet0.forwarding = 1
net.ipv4.conf.venet0.mc_forwarding = 0
net.ipv6.conf.all.forwarding = 0
net.ipv6.conf.all.mc_forwarding = 0
net.ipv6.conf.default.forwarding = 0
net.ipv6.conf.default.mc_forwarding = 0
net.ipv6.conf.lo.forwarding = 0
net.ipv6.conf.lo.mc_forwarding = 0
net.ipv6.conf.tun0.forwarding = 0
net.ipv6.conf.tun0.mc_forwarding = 0
net.ipv6.conf.venet0.forwarding = 0
net.ipv6.conf.venet0.mc_forwarding = 0

ลูกค้าสามารถเชื่อมต่อกับ VPN ได้ ฉันสามารถ ping เกตเวย์ VPN (10.8.0.1) ตามที่กล่าวไว้ด้านบนแล้ว

เส้นทางบนไคลเอนต์หลังจากเชื่อมต่อกับ VPN:

เส้นทางหลังจากเชื่อมต่อกับ VPN: 
$เส้นทาง
ตารางเส้นทางเคอร์เนล IP
เกตเวย์ปลายทาง Genmask ตั้งค่าสถานะการอ้างอิงเมตริก ใช้ Iface
0.0.0.0 10.8.0.1 128.0.0.0 ยูจี 0 0 0 ตัน 0
CLIENT-HOSTNAME เริ่มต้น 0.0.0.0 UG 0 0 0 eth0
10.8.0.0 0.0.0.0 255.255.255.0 U 0 0 0 tun0
128.0.0.0 10.8.0.1 128.0.0.0 UG 0 0 0 ตัน0
ชื่อเซิร์ฟเวอร์โฮสต์ ชื่อลูกค้าโฮสต์ 255.255.255.255 UGH 0 0 0 eth0
192.168.224.0 0.0.0.0 255.255.240.0 คุณ 0 0 0 eth0

ขณะนี้ฉันไม่มีความคิด แม้ว่ากฎ NAT จะดูเหมือนไม่เป็นไรบนเซิร์ฟเวอร์ แต่เส้นทางไคลเอนต์ยังแสดงการกำหนดค่าที่ถูกต้อง เนื่องจากฉันไม่ได้เข้าสู่เครือข่ายจึงไม่สามารถเข้าใจสิ่งนี้ได้ การตั้งค่า VPN อย่างง่ายกลายเป็นเรื่องเสียเวลา มันเกี่ยวข้องกับเซิร์ฟเวอร์ที่ใช้ openVZ 7 หรือไม่

CSF ทำงานอย่างถูกต้อง ดังนั้นฉันคิดว่าโมดูลที่จำเป็นสำหรับ iptabless มีอยู่บนเซิร์ฟเวอร์

perl csftest.pl
กำลังทดสอบ ip_tables/iptable_filter...ตกลง
กำลังทดสอบ ipt_LOG...ตกลง
กำลังทดสอบ ipt_multiport/xt_multiport...ตกลง
กำลังทดสอบ ipt_REJECT...ตกลง
กำลังทดสอบ ipt_state/xt_state...ตกลง
กำลังทดสอบ ipt_limit/xt_limit...ตกลง
กำลังทดสอบ ipt_recent...ตกลง
กำลังทดสอบ xt_connlimit...ตกลง
กำลังทดสอบ ipt_owner/xt_owner...ตกลง
กำลังทดสอบ iptable_nat/ipt_REDIRECT...ตกลง
กำลังทดสอบ iptable_nat/ipt_DNAT...ตกลง

ฉันได้ลองใช้กับไคลเอนต์ Debian 10 และ linuxmin 20.x พฤติกรรมเดียวกัน ไคลเอนต์สามารถเชื่อมต่อ สามารถใช้ VPN lan แต่ไม่สามารถท่องอินเทอร์เน็ตได้

หากต้องการอะไรอีก โปรดแจ้งให้เราทราบ

in flag
tcpdump อินเทอร์เฟซเพื่อให้แน่ใจว่าแพ็กเก็ตเข้ามาบนอินเทอร์เฟซ VPN บนเซิร์ฟเวอร์ จากนั้นตรวจสอบว่าพวกเขาออกจากอินเทอร์เฟซเส้นทางเริ่มต้นจากเซิร์ฟเวอร์ และกลับมาหรือไม่ เป็นต้น

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา