Tidak dapat mengubah rute dengan Klien VPN

10

Koneksi VPN saya memaksa semua lalu lintas internet melalui terowongan, dan itu sangat lambat. Saya ingin dapat hanya tunnel alamat IP tertentu, dan untuk melakukannya di sisi saya (sisi klien).

Saya terhubung ke VPN dengan FortiSSL Client , tabel rute terlihat seperti ini sebelum koneksi dibuat:

Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.0.1    192.168.0.101     40
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306
      192.168.0.0    255.255.255.0         On-link     192.168.0.101    276
    192.168.0.101  255.255.255.255         On-link     192.168.0.101    276
    192.168.0.255  255.255.255.255         On-link     192.168.0.101    276
    192.168.119.0    255.255.255.0         On-link     192.168.119.1    276
    192.168.119.1  255.255.255.255         On-link     192.168.119.1    276
  192.168.119.255  255.255.255.255         On-link     192.168.119.1    276
    192.168.221.0    255.255.255.0         On-link     192.168.221.1    276
    192.168.221.1  255.255.255.255         On-link     192.168.221.1    276
  192.168.221.255  255.255.255.255         On-link     192.168.221.1    276
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link     192.168.119.1    276
        224.0.0.0        240.0.0.0         On-link     192.168.221.1    276
        224.0.0.0        240.0.0.0         On-link     192.168.0.101    276
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  255.255.255.255  255.255.255.255         On-link     192.168.119.1    276
  255.255.255.255  255.255.255.255         On-link     192.168.221.1    276
  255.255.255.255  255.255.255.255         On-link     192.168.0.101    276

Setelah menghubungkannya akan terlihat seperti ini:

Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.0.1    192.168.0.101   4265
          0.0.0.0          0.0.0.0         On-link        172.16.0.1     21
        127.0.0.0        255.0.0.0         On-link         127.0.0.1   4531
        127.0.0.1  255.255.255.255         On-link         127.0.0.1   4531
  127.255.255.255  255.255.255.255         On-link         127.0.0.1   4531
       172.16.0.1  255.255.255.255         On-link        172.16.0.1    276
      192.168.0.0    255.255.255.0         On-link     192.168.0.101   4501
    192.168.0.101  255.255.255.255         On-link     192.168.0.101   4501
    192.168.0.255  255.255.255.255         On-link     192.168.0.101   4501
    192.168.119.0    255.255.255.0         On-link     192.168.119.1   4501
    192.168.119.1  255.255.255.255         On-link     192.168.119.1   4501
  192.168.119.255  255.255.255.255         On-link     192.168.119.1   4501
    192.168.221.0    255.255.255.0         On-link     192.168.221.1   4501
    192.168.221.1  255.255.255.255         On-link     192.168.221.1   4501
  192.168.221.255  255.255.255.255         On-link     192.168.221.1   4501
   200.250.246.74  255.255.255.255      192.168.0.1    192.168.0.101   4245
        224.0.0.0        240.0.0.0         On-link         127.0.0.1   4531
        224.0.0.0        240.0.0.0         On-link     192.168.119.1   4502
        224.0.0.0        240.0.0.0         On-link     192.168.221.1   4502
        224.0.0.0        240.0.0.0         On-link     192.168.0.101   4502
        224.0.0.0        240.0.0.0         On-link        172.16.0.1     21
  255.255.255.255  255.255.255.255         On-link         127.0.0.1   4531
  255.255.255.255  255.255.255.255         On-link     192.168.119.1   4501
  255.255.255.255  255.255.255.255         On-link     192.168.221.1   4501
  255.255.255.255  255.255.255.255         On-link     192.168.0.101   4501
  255.255.255.255  255.255.255.255         On-link        172.16.0.1    276

Klien VPN menempatkan rute tangkap semua dengan metrik lebih rendah daripada semua rute saya yang lain dan ini merutekan semua lalu lintas internet melalui terowongan. Saya mencoba mengubah metrik rute internet default saya ke nilai yang lebih rendah:

C:\Windows\system32>route change 0.0.0.0 mask 0.0.0.0 192.168.0.1 metric 10 if 13
OK!

Tapi tidak ada yang berubah.

Lalu saya mencoba menghapus rute "catch-all" VPN, yang dengan metrik 21 di atas:

C:\Windows\system32>route delete 0.0.0.0 mask 0.0.0.0 if 50
OK!

Dan itu menghancurkan segalanya:

C:\Windows\system32>ping 8.8.8.8

Pinging 8.8.8.8 with 32 bytes of data:
PING: transmit failed. General failure.

Saya mencoba mengubah metrik pada adaptor juga, tetapi Klien FortiSSL menimpa semua pengaturan ketika terhubung, jadi itu tidak membantu.

Perbaikan harus datang dari sisi saya, karena orang-orang di sisi lain butuh berhari-hari untuk merespons.

Saya menjalankan Windows 7 x64 jika itu membantu.

- PEMBARUAN (2013-12-24) -

Berkat tip mbrownnyc , saya memeriksa masalah dengan Rohitab dan menemukan FortiSSL Client mengawasi tabel rute dengan NotifyRouteChangepanggilan IP Helper API.

Saya menetapkan breakpoint sebelum NotifyRouteChangepanggilan dan menggunakan opsi "Abaikan Panggilan" untuk mencegah FortiSSL berhasil mengatur ulang metrik rute, dan sekarang saya memiliki:

Rute dengan metrik yang mendukung adaptor Wifi saya

Namun ketika saya menjalankan tracert, rute saya masih keluar melalui VPN:

C:\Windows\system32>tracert www.google.com

Tracing route to www.google.com [173.194.118.83]
over a maximum of 30 hops:

  1    45 ms    47 ms    45 ms  Jurema [172.16.0.1]

Apakah ada aspek jaringan windows yang tidak saya sadari yang dapat mendukung rute tertentu meskipun metrik cetak rute mengatakan sebaliknya?

Juliano
sumber
Bukankah itu titik bagi klien VPN Anda untuk menegakkan kebijakan itu? Perusahaan mungkin memiliki kebijakan keamanan yang mengharuskan Anda untuk tidak menggunakan split-tunneling, dan menghindari kebijakan itu akan menjadi risiko keamanan.
Ryan Ries
Justru sebaliknya. Saya sekarang memiliki akses ke layanan web mitra IP perusahaan ini, karena lalu lintas web saya keluar melalui alamat IP internet mereka. Ini adalah konfigurasi yang sangat malas di pihak mereka, seperti pada "Saya akan tunnel semuanya melalui VPN jadi saya tidak perlu menambahkan IP atau subnet lain ke tabel rute".
@Juliano Inti dari menghindari split tunneling adalah untuk mencegah pengguna datang dalam satu terowongan dan kemudian memiliki akses ke data di terowongan lain. Saya berharap Anda memiliki akses yang sama ke jaringan yang Anda tuju, yang akan Anda miliki jika Anda berada di jaringan. Namun, Anda tidak ingin menggunakan terowongan terpisah untuk memberikan akses itu kepada dunia.
BillThor
2
Sebenarnya jika saya berada di jaringan itu saya akan dapat mengatur rute dan metrik saya untuk memberikan prioritas pada koneksi internet yang saya inginkan (yaitu 3g / 4g.). Saya akan memiliki opsi itu karena saya tidak akan menjadi klien VPN yang sangat ketat. Mencegah split tunneling terdengar OK secara teori, tetapi membatasi saya WAY lebih dari jika saya benar-benar secara fisik di jaringan itu. Kalian membenarkan implementasi keamanan yang menyakitiku alih-alih membantuku menemukan jalan keluar, yang merupakan pertanyaan. Bagaimana saya melewati ini?
Ada juga metrik antarmuka: ncpa.cpl> properti NIC> Properti entri tumpukan IP v4> Tab Umum / Lanjutan> Metrik Otomatis. Lihat di sana pada kedua antarmuka. Juga lihat posting blog ini tentang Windows multihomed .
mbrownnyc

Jawaban:

2

Perhatikan bahwa saya tidak menggunakan notasi jaringan biasa untuk mengatasi di sini (seperti CIDR atau bahkan host/masknotasi, karena tidak membingungkan penanya).

Alih-alih menghapus rute "gateway default" Anda ( 0.0.0.0 mask 0.0.0.0) sehingga tumpukan jaringan Anda tidak tahu ke mana harus mengirim sebagian besar paket, coba naikkan metrik rute VPN di bawah rute default Anda (dalam kasus ini 4265).

Setelah terhubung dengan klien Fortigate:

route change 0.0.0.0 mask 0.0.0.0 172.16.0.1 metric 4266 if N

Di mana N adalah nomor antarmuka untuk fortisslantarmuka yang dikembalikan pada awal route print.

Tumpukan jaringan harus memperlakukan ini dengan benar:

  • Rute yang "mencakup alamat tujuan" akan menangani paket (rute memberitahu tumpukan jaringan untuk paket kirim ditakdirkan untuk this IPuntuk this gatewayuntuk routing lebih lanjut).
  • Semua paket dengan IP tujuan 172.16.*.*akan dikirim ke VPN; karena tumpukan jaringan Windows tahu bahwa jika ada alamat yang dilampirkan ke antarmuka, maka antarmuka itu adalah cara Anda mengakses IP lain di dalam rentang alamat itu. Saya bisa lebih eksplisit dengan kisaran jika Anda memposting "Subnet Mask" untuk 172.16.0.1.

Anda harus menentukan alamat IP sumber daya yang perlu Anda akses melalui VPN. Anda dapat melakukan ini dengan mudah dengan menggunakan nslookup [hostname of resource]saat terhubung tanpa harus menyesuaikan rute.

[kata-kata kasar]

Saya tidak punya masalah dengan mengizinkan tunneling terpisah melalui VPN, terutama karena masalah penggunaan yang Anda kutip. Jika departemen TI Anda menganggap split-tunneling sebagai mekanisme keamanan, mereka perlu memikirkan kembali apa yang mereka lakukan:

  • Akses klien VPN ke sumber daya harus diisolasi dan sangat dibatasi seolah-olah mereka sedang diakses melalui Internet (karena aset di mana Anda tidak menegaskan kontrol penuh menimbulkan risiko lebih tinggi daripada aset di mana Anda dapat menegaskan beberapa).
  • Mereka harus mengintegrasikan mekanisme kontrol akses jaringan untuk klien VPN. Ini dapat memungkinkan mereka untuk menegakkan beberapa kebijakan pada mesin klien (seperti "apakah definisi anti-virus mutakhir?", Dll.).
  • Pertimbangkan untuk menggunakan solusi kaku seperti Fortigate SSL VPN Virtual Desktop (yang cukup mudah untuk dikonfigurasikan dan membebaskan [menurut saya] dengan lisensi SSL VPN).

[/ kata-kata kasar]

mbrownnyc
sumber
Ketika saya mencoba mengubah metrik rute 0.0.0.0 VPN ke nilai yang lebih tinggi daripada rute internet, FortiSSL Client menetapkan rute internet saya ke metrik yang lebih tinggi lagi.
Juliano
Ada dua rute gateway default pada tabel "setelah". 0.0.0.0 VPN dan 0.0.0.0 kartu wifi. Saya menghapus gateway default VPN tetapi meninggalkan kartu wifi, yang seharusnya membuatnya seperti sebelumnya, tetapi itu merusak segalanya. Entah fortissl melakukan sesuatu pada stack untuk mencegah orang melakukan apa yang saya coba lakukan, atau saya salah melakukannya.
Juliano
Mereka adalah antarmuka yang berbeda, sehingga Anda harus dapat menyesuaikan biaya rute dari rute secara terpisah. Jika klien menonton tabel routing, tidak ada yang akan membantu Anda di sana. Klien Cisco VPN dikonfigurasikan dengan file PRF yang dapat dikontrol pada sistem. Klien SSL Fortigate kemungkinan sama, baik registri atau file. Saya tidak yakin di mana pengaturannya. Bolak-balik sedikit dan Anda mungkin menemukan sesuatu yang memungkinkan Anda untuk mengkonfigurasi klien. Selain itu, "dukungan untuk tunneling split" adalah mengkonfigurasi "sisi-server" / pada unit Fortigate.
mbrownnyc
Melihat ke dalam: HKEY_CURRENT_USER\Software\Fortinet\SslvpnClient. Tunnelharus menarik. Silakan kirim kembali apa yang Anda temukan. Atau jawab dan tandai community wikiagar Anda dapat membantu orang lain.
mbrownnyc
1
Sangat buruk. Tidak yakin dengan situasi Anda, tetapi apakah ada baiknya mengajukan permintaan untuk membagi terowongan? Kalau tidak, sepertinya Anda harus membajak beberapa panggilan API dengan sesuatu seperti rohitab atau jalan memutar MSFT. Ini mungkin proyek akhir pekan yang menyenangkan!
mbrownnyc