it-swarm.asia

Bagaimana cara merutekan lalu lintas jaringan secara selektif melalui VPN di Mac OS X Leopard?

Saya tidak ingin mengirim semua lalu lintas jaringan saya ke VPN ketika saya terhubung ke jaringan perusahaan saya (melalui VPN) dari rumah. Misalnya, ketika saya bekerja dari rumah, saya ingin dapat mencadangkan semua file saya ke Time Capsule di rumah dan masih dapat mengakses jaringan internal perusahaan.

Saya menggunakan klien VPN bawaan Leopard. Saya sudah mencoba menghapus centang "Kirim semua lalu lintas melalui koneksi VPN." Jika saya melakukannya saya akan kehilangan akses ke situs web internal perusahaan saya baik itu melalui curl atau browser web (meskipun IP internal masih dapat dijangkau). Itu akan ideal jika saya dapat secara selektif memilih satu set IP atau domain untuk dialihkan melalui VPN dan menyimpan sisanya di jaringan saya sendiri. Apakah ini dapat dicapai dengan klien VPN bawaan Leopard? Jika Anda memiliki rekomendasi perangkat lunak, saya ingin mendengarnya juga.

93
newtonapple

Buat file /etc/ppp/ip-up dengan konten berikut:

#!/bin/sh
/sbin/route add <SUBNET> -interface $1 

mengganti <SUBNET> dengan subnet, Anda ingin merutekan melalui VPN (mis. 192.168.0.0/16)

dieksekusi sebagai root:

chmod 0755 /etc/ppp/ip-up

File ini akan dieksekusi setiap kali Anda terhubung ke VPN.

Parameter yang diberikan ke skrip:

  • $1: Antarmuka VPN (mis. ppp0)
  • $2: Tidak Diketahui, adalah 0 dalam kasus saya
  • $3: IP dari server VPN
  • $4: alamat gateway VPN
  • $5: Gateway biasa (non-vpn) untuk koneksi LAN Anda
82

Saya ingin melakukan hal serupa. Hubungkan VPN dan kemudian rutekan jaringan tambahan melalui VPN itu. Saya berakhir dengan sedikit Applescript berikut:

-- Connect Work VPN

tell application "System Events"
    tell network preferences
        tell current location
            tell service "Work"
                connect
                tell current configuration
                    repeat until get connected = true
                        delay 1
                    end repeat
                end tell
            end tell
        end tell
    end tell
end tell

set gateway to "192.168.1.1"

do Shell script "route add 172.16.0.0/16 " & gateway with administrator privileges

Anda perlu mengubah "Work" menjadi nama koneksi VPN Anda, 192.168.1.1 ke alamat gateway Anda, dan 172.16.0.0/16 ke alamat jaringan yang ingin Anda rute. Jaringan tambahan dapat ditambahkan dengan mengulangi baris terakhir dengan alamat yang berbeda.

11
Martin Hilton

Ada fitur tersembunyi di Preferensi Jaringan pada MacOS: Anda dapat mengurutkan antarmuka .

Buka System Preferences -> Network -> Klik gear kiri bawah -> Set service Order...

<code>Set service Order...</code>VPN Ordering

Sangat penting bagi Anda untuk mengurutkan antarmuka jaringan ke dalam urutan yang Anda inginkan. Jika Anda ingin SEMUA data non-LAN pergi ke VPN, letakkan antarmuka VPN di bagian atas. Semacam ini

  1. VPN
  2. Ethernet
  3. Bandara

Tidak seperti ini:

  1. Bandara
  2. Ethernet
  3. VPN

Dengan cara ini, tidak perlu memeriksa pengaturan berikut di Session Options:

Kirim semua lalu lintas melalui koneksi VPN

✅ Diuji pada koneksi L2TP VPN

8
user31513

Saya telah melihat-lihat online untuk melihat apakah saya dapat menemukan sesuatu, dan sejauh yang saya mengerti Anda tampaknya ingin dapat menggunakan komputer Anda seperti biasa, sementara juga dapat terhubung ke situs web perusahaan internal, jadi, Anda dapat perlu mengatur tabel perutean kustom.

Tautan ini tampaknya hanya berlaku untuk 10.4, tetapi hal-hal baris perintah masih dapat berfungsi.

1
Alexis Hirst