ขณะนี้ฉันกำลังพยายามหาเส้นทางทราฟฟิกเครือข่ายขาเข้าและขาออกทั้งหมดไปยัง / จากแอปพลิเคชันที่รับฟัง TunV1 ของอุโมงค์ OpenVPN ผ่านอุโมงค์ดังกล่าว
นี่คืออุปกรณ์ของฉัน: tun0
เป็นเซิร์ฟเวอร์ OpenVPN ที่ทำงานบนเครื่องที่ให้การเข้าถึงเครือข่ายท้องถิ่นของเครื่องไปยังเครื่องระยะไกล tun1
เป็นไคลเอนต์ OpenVPN ไปยังเซิร์ฟเวอร์ระยะไกล
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:1c:c0:d7:98:1c
inet addr:192.168.178.9 Bcast:192.168.178.255 Mask:255.255.255.0
inet6 addr: fe80::21c:c0ff:fed7:981c/64 Scope:Link
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:103987444 errors:0 dropped:0 overruns:0 frame:0
TX packets:161412265 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:583178850 (556.1 MiB) TX bytes:1006632339 (959.9 MiB)
Interrupt:43 Base address:0x8000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:505197 errors:0 dropped:0 overruns:0 frame:0
TX packets:505197 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:91836367 (87.5 MiB) TX bytes:91836367 (87.5 MiB)
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.9.8.1 P-t-P:10.9.8.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:272 (272.0 B) TX bytes:960 (960.0 B)
tun1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.8.0.10 P-t-P:10.8.0.9 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:7 errors:0 dropped:0 overruns:0 frame:0
TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:588 (588.0 B) TX bytes:588 (588.0 B)
นี่คือเส้นทางที่ใช้งานในปัจจุบัน:
# ip route show table main
default via 192.168.178.1 dev eth0
10.8.0.1 via 10.8.0.9 dev tun1
10.8.0.9 dev tun1 proto kernel scope link src 10.8.0.10
10.9.8.0/24 via 10.9.8.2 dev tun0
10.9.8.2 dev tun0 proto kernel scope link src 10.9.8.1
192.168.178.0/24 dev eth0 proto kernel scope link src 192.168.178.9
หลังจากการวิจัยบางอย่างฉันได้เรียนรู้ว่าฉันต้องใช้ "การกำหนดเส้นทางนโยบาย" เพื่อควบคุมปริมาณข้อมูลทั้งหมดบน tun1 ผ่านเกตเวย์อื่น (10.8.0.1) ดังนั้นฉันจึงสร้างตารางใหม่ "tun1" และพยายามกำหนดค่า
# echo "1 tun1tbl" >> /etc/iproute2/rt_tables
# ip route add 10.8.0.0/24 dev tun1 src 10.8.0.10 table tun1tbl
# ip route add default via 10.8.0.1 dev tun1 table tun1tbl
RTNETLINK answers: No such process
ทำไมฉันไม่สามารถกำหนดเส้นทางเริ่มต้นสำหรับอุปกรณ์ / ตารางนี้ได้
-
แก้ไข: ฉันเพิ่งพบโซลูชันที่เป็นไปได้อื่นโดยใช้เพียงอย่างเดียว route
แต่มันล้มเหลวด้วยข้อผิดพลาดที่คล้ายกัน:
# route add default gw 10.8.0.1 dev tun1
SIOCADDRT: No such process