OpenVPN - Memahami tabel routing + Cara rute hanya lalu lintas ke ip tertentu melalui VPN

12

Saya terhubung ke layanan VPN menggunakan OpenVPN dan semuanya berfungsi dengan baik. Setelah saya menghubungkan ini adalah aturan yang secara otomatis ditetapkan:

root@linux:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:AA:1B:01:AC:FB  
          inet addr:192.168.1.201  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:46867 errors:0 dropped:0 overruns:0 frame:0
          TX packets:29742 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:37977382 (36.2 MiB)  TX bytes:5098121 (4.8 MiB)
          Interrupt:16 

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.7.7.126  P-t-P:10.7.7.125  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:23284 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5817 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:31366374 (29.9 MiB)  TX bytes:308591 (301.3 KiB)

root@linux:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         10.7.7.125      128.0.0.0       UG    0      0        0 tun0
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
5.120.121.114   192.168.1.1     255.255.255.255 UGH   0      0        0 eth0
10.7.7.1        10.7.7.125      255.255.255.255 UGH   0      0        0 tun0
10.7.7.125      *               255.255.255.255 UH    0      0        0 tun0
128.0.0.0       10.7.7.125      128.0.0.0       UG    0      0        0 tun0
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0

Inilah yang saya mengerti:

  • alamat IP lokal saya adalah 192.168.1.201
  • gateway lokal adalah 191.168.1.1
  • 5.120.121.114 adalah ip publik VPN
  • tun0 adalah terowongan VPN, mesin saya memiliki 10.7.7.126 sebagai alamat
  • 10.7.7.125 adalah alamat ptp yang saya pahami adalah "ujung" lain dari VPN

Mengenai tabel routing saya mengerti bahwa:

  • secara default semua lalu lintas dikirim melalui 10.7.7.125 pada antarmuka tun0 (tapi mengapa topeng itu?)
  • 10.7.7.1 dapat dicapai melalui tun0
  • ip publik vpn dapat dijangkau melalui eth0

Saya tidak mengerti gateway default kedua, ini adalah default ketika vpn tidak aktif, apakah hanya dilewati?

Bagaimana dengan 10.7.7.1? Sepertinya itu adalah pintu gerbang dari vpn ...

Mengapa tujuan 128.0.0.0?

OpenVPN secara otomatis membuat semua aturan ini. Tetapi berdasarkan apa yang diciptakan?

Saya tidak dapat mengontrol sisi server VPN tetapi hanya konfigurasi klien.

Sekarang bagaimana jika saya ingin:

  • memaksa semua lalu lintas ke 216.58.213.174 untuk pergi melalui VPN tun0 dan memiliki sisanya melalui eth0?
  • dapatkah saya membuatnya secara otomatis ketika memulai VPN?

Terima kasih atas saran dan dukungan Anda dalam memahami hal ini.

KR, dk

EDIT:

root@linux:~# ip route list
0.0.0.0/1 via 10.7.7.125 dev tun0 
default via 192.168.1.1 dev eth0 
5.152.210.249 via 192.168.1.1 dev eth0 
10.7.7.1 via 10.7.7.125 dev tun0 
10.7.7.125 dev tun0  src 10.7.7.126 
128.0.0.0/1 via 10.7.7.125 dev tun0 
192.168.1.0/24 dev eth0  src 192.168.1.201 
d82k
sumber
1
Hanya 2 sen saya: Gunakan ip route listuntuk mendapatkan tampilan yang lebih baik dari rute Anda. Juga, karena ifconfig dan rute berada di jalan menuju penghentian di LInux ...

Jawaban:

15

Saya tidak mengerti gateway default kedua, ini adalah default ketika vpn tidak aktif, apakah hanya dilewati?

Ini adalah salah satu peretas OpenVPN untuk merutekan lalu lintas melalui terowongan Anda sambil mempertahankan gateway default Anda. Rute 0.0.0.0/1 dan 128.0.0.0/1 lebih diutamakan daripada rute 0.0.0.0/0 karena lebih spesifik sementara masih mencocokkan semua alamat. Cari "def1" di dokumentasi OpenVPN untuk detail lebih lanjut

Bagaimana dengan 10.7.7.1? Sepertinya itu adalah pintu gerbang dari vpn ...

Mungkin iya

OpenVPN secara otomatis membuat semua aturan ini. Tetapi berdasarkan apa yang diciptakan?

Mereka mungkin didorong dari server. Saya dapat memberikan lebih banyak informasi jika Anda dapat memberikan output dari klien Anda sementara itu mulai bersama dengan file konfigurasi Anda

Saya tidak dapat mengontrol sisi server VPN tetapi hanya konfigurasi klien.

Yap, tetapi klien sangat dapat dikonfigurasi sehingga Anda dapat mengesampingkan hampir semua hal yang diinginkan server untuk dilakukan klien Anda. Namun, Anda harus memenuhi persyaratan dasar penyedia Anda untuk dapat terhubung. Anda juga harus memeriksa "Ketentuan Penggunaan" penyedia Anda untuk memastikan Anda tidak mengecewakan mereka.

Sekarang bagaimana jika saya ingin:

memaksa semua lalu lintas ke 216.58.213.174 untuk pergi melalui VPN tun0 dan memiliki sisanya melalui eth0?

Yap, sertakan "route 216.58.213.174 255.255.255.255 10.7.7.125" di konfigurasi Anda. Itu akan mengatur rute yang Anda inginkan. Anda seharusnya dapat mempertahankan rute Anda yang lain dengan menghapus opsi "redirect-gateway" dari konfigurasi Anda

dapatkah saya membuatnya secara otomatis ketika memulai VPN?

ya lihat di atas

Semua opsi yang telah saya jelaskan dan lainnya dapat ditemukan di dokumentasi online OpenVPN. https://community.openvpn.net/openvpn/wiki/Openvpn23ManPage

merokok2345
sumber
Banyak, banyak terima kasih !!! Saya telah menghabiskan berhari-hari menggeledah melalui jaringan minutia mencoba memahami trik kecil yang lucu dengan 0.0.0.0/1 dan 128.0.0.0/1. Pada akhirnya saya hanya perlu menambahkan rute yang sepenuhnya berlebihan kecuali ketika VPN diaktifkan.
rlduffy