ฉันใช้ OpenVPN บน Ubuntu 20.04 และฉันพยายามอนุญาตให้ผู้ใช้เข้าถึงเซิร์ฟเวอร์ที่อยู่ในซับเน็ตอื่น นี่คือไดอะแกรมของลักษณะของเครือข่าย:
แผนผังของเครือข่าย
ดังนั้น eth1 จึงเชื่อมต่อกับ DHCP และอินเทอร์เน็ตที่กว้างขึ้น และ eth0 จะเชื่อมต่อกับเครือข่ายส่วนตัวโดยมีเซิร์ฟเวอร์อยู่บนนั้น ดังนั้น VPN จึงทำงานบน eth1 (192.168.1.0/24) แต่ฉันต้องสามารถเข้าถึงเครื่องจักรบน eth0 (192.168.177.0/24) เมื่อเชื่อมต่อกับ VPN
ฉันได้ลองเพิ่มกฎ iptables ชั่วคราวแล้ว แต่ฉันไม่แน่ใจว่ากฎเหล่านั้นใช้งานได้หรือไม่เพราะอยู่ใน NIC สองตัว ทุกสิ่งที่ฉันพบใน Google ล้วนเกี่ยวกับเมื่อพวกเขาอยู่ใน NIC เดียวกัน
แก้ไข: ฉันได้เพิ่มด้วย
กด "เส้นทาง 192.168.177.0 255.255.255.0"
ถึงฉัน เซิร์ฟเวอร์.conf
สำหรับ OpenVPN แต่ดูเหมือนจะไม่ได้ผล
แก้ไข 2: ฉันได้ลองกฎ iptables ต่อไปนี้ด้วย:
sudo iptables -A INPUT -i tun0 -j ยอมรับ
sudo iptables -A INPUT -i eth0 -j ยอมรับ
sudo iptables -A INPUT -i eth1 -j ยอมรับ
sudo iptables -A FORWARD -i eth0 -j ยอมรับ
sudo iptables -A FORWARD -i eth1 -j ยอมรับ
sudo iptables -A FORWARD -i tun0 -j ยอมรับ
เช่นเดียวกับ:
sudo iptables -t nat -A โพสต์ -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o eth1 -j ยอมรับ
sudo iptables -A FORWARD -i eth1 -o eth0 -j ยอมรับ
ฉันสามารถดูเส้นทางของฉันในรายการถ้าฉันวิ่ง พิมพ์เส้นทาง
บนไคลเอนต์ Windows:
192.168.177.0 255.255.255.0 10.8.0.1 10.8.0.2 259