วันนี้ฉันใช้เวลาสองสามชั่วโมงเพื่อพยายามตั้งค่า vps ของฉันในเยอรมนี (รัน centos8 และ openvpn client+server) สำหรับการกำหนดค่านี้: vps ของฉันมี 3 NIC
- eth0 พร้อมที่อยู่ IP สาธารณะ 1.2.3.4
- tun0 พร้อมที่อยู่ IP ส่วนตัว 10.8.0.12 <-- นี่คือที่อยู่ไคลเอนต์ openvpn
- tun1 พร้อมที่อยู่ IP ส่วนตัว 10.9.0.1 <-- นี่คือที่อยู่เซิร์ฟเวอร์ openvpn
ถ้าฉันเชื่อมต่อด้วย SSH กับ vps โดยตรงจาก IP สาธารณะ หรือฉันเชื่อมต่อผ่าน ovpn (โดยที่ฉันใช้ที่อยู่ 10.9.0.0/24) จากเครื่อง ฉันสามารถ ping ลูกค้าทั้งหมดที่อยู่ในเครือข่ายย่อย 10.8.0.0/24 แต่ถ้าฉันพยายามเชื่อมต่อกับ VPN และ ping จากเครื่องของฉัน (ที่มีที่อยู่ 10.9.0.2) ที่อยู่ 10.8.0.0/24 ฉันได้รับ หมดเวลาการร้องขอ.
ตอนนี้ใน vps นี้กำลังเรียกใช้ firewalld และฉันได้เปิดใช้งานการส่งต่อ ipv4 แล้วและฉันได้ส่งเส้นทางไปยังลูกค้าด้วย กด "เส้นทาง 10.8.0.0 255.255.255.0"
สิ่งที่ฉันเห็นใน firewalld คือ:
[root@bigiron-fsn1-2 log]# firewall-cmd --list-all --zone=trusted
เชื่อถือได้ (ใช้งานอยู่)
เป้าหมาย: ยอมรับ
icmp-block-inversion: ไม่
อินเทอร์เฟซ: tun1
ที่มา: 10.9.0.0/24 fddd:1194:1194:1194::/64
บริการ: openvpn
พอร์ต:
โปรโตคอล:
สวมหน้ากาก: ไม่
พอร์ตไปข้างหน้า:
พอร์ตต้นทาง:
icmp บล็อก:
กฎมากมาย:
ตระกูลกฎ = "ipv4" ที่อยู่ต้นทาง = "10.9.0.0/24" ที่อยู่ปลายทาง = "10.8.0.0/24" ยอมรับ
[root@bigiron-fsn1-2 log]# firewall-cmd --list-all --zone=public
สาธารณะ (ใช้งานอยู่)
เป้าหมาย: ค่าเริ่มต้น
icmp-block-inversion: ไม่
อินเทอร์เฟซ: eth0 tun0
แหล่งที่มา:
บริการ: ห้องนักบิน dhcpv6-client openvpn ssh
พอร์ต: 1194/udp
โปรโตคอล:
สวมหน้ากาก: ไม่
พอร์ตไปข้างหน้า:
พอร์ตต้นทาง:
icmp บล็อก:
กฎมากมาย:
ตระกูลกฎ = "ipv6" ที่มา ipset = "sshguard6" ลดลง
ตระกูลกฎ = "ipv4" ที่มา ipset = "sshguard4" ลดลง
rule family="ipv4" source address="10.8.0.0/24" ยอมรับ
ตระกูลกฎ = "ipv4" ที่อยู่ต้นทาง = "10.9.0.0/24" ที่อยู่ปลายทาง = "10.8.0.0/24" ยอมรับ
ฉันจะเปิดใช้งานการสื่อสารจากโฮสต์ 10.9.0.0/24 ถึง 10.8.0.0/24 ได้อย่างไร
ขอขอบคุณสำหรับความช่วยเหลือของคุณ!