Padankan klien VPN Linux dengan protokol peranti lama
Baca port yang diterbitkan oleh peranti, kemudian pasang klien yang sesuai: pppd melalui GRE, strongSwan untuk IKEv1 XAuth, atau openconnect untuk portal.
Empat keluarga protokol meliputi hampir setiap peranti yang masih berada dalam rak, dan setiap satunya gagal secara berbeza pada Linux. Port yang diterbitkan dan cadangan yang dikonfigurasikan di hujung jauh menentukan pakej anda, bukan distribusi yang kebetulan anda jalankan. Memasang apa yang disebut dalam pos forum dan kemudian menyunting sehingga sesuatu bersambung ialah cara satu petang hilang. Baca peranti itu, pasang kedua, sahkan ketiga.
Catat apa yang diterbitkan oleh hujung jauh
Tuliskan protokol, port dan pengesahan yang dijangka oleh peranti sebelum anda membuka pengurus pakej. Empat keluarga meliputi sebahagian besar peralatan lama, dan jadual di bawah ialah keseluruhan keputusan pada satu skrin.
| Family | Ports | Linux side |
|---|---|---|
| PPTP | TCP 1723 plus GRE, IP protocol 47 | pppd with a peer file |
| L2TP/IPsec | UDP 500, 4500, 1701 | NetworkManager plugin over strongSwan |
| IKEv1 aggressive with XAuth | UDP 500 | native strongSwan connection |
| AnyConnect-style portal | TCP 443 | openconnect with a TUN device |
Manual dan peraturan tembok api peranti itu sendiri lebih dipercayai daripada nama protokol pada halaman log masuknya. Peranti yang mengiklankan IPsec mungkin hanya bertutur IKEv1, dan keluaran firmware yang tidak diterapkan oleh sesiapa mungkin yang akhirnya menambah IKEv2. Sahkan laluan data serta port persediaan, kerana di situlah peralatan lama dan rangkaian moden berbeza. Tersilap pada langkah ini bermakna menyahpepijat klien anda terhadap ciri yang tidak pernah dimiliki hujung sebelah sana.
PPTP: buktikan GRE sebelum menyunting pppd
PPTP pada Linux bukan daemon yang anda mulakan tetapi panggilan pppd, dan parameter sambungan tinggal dalam fail peer bernama yang dibaca oleh pppd apabila ia dipanggil. Distribusi masih membungkusnya, walaupun kelemahan protokol yang diketahui menjadikannya tidak sesuai untuk apa-apa yang sensitif, jadi simpanlah ia dengan ketat untuk peranti yang tidak menawarkan apa-apa lagi. Perhatikan GRE semasa klien berunding, dengan tangkapan pendek dan bukan tekaan. Kegagalan yang paling banyak membuang masa bukan pengesahan tetapi laluan data yang hilang.
pppd call branch-office
tcpdump -ni any proto gre -c 5
Jika persediaan selesai dan pautan tidak pernah membawa trafik, syak laluan GRE sebelum menyentuh kelayakan. Kumpulan keselamatan awan memerlukan peraturan eksplisit untuk protokol 47, dan sesetengah rangkaian menyekatnya sepenuhnya tanpa ralat yang kelihatan. Uji dari rangkaian yang benar-benar akan anda gunakan, bukan dari makmal yang membenarkan segala-galanya.
L2TP/IPsec: satu cadangan yang sepadan mengalahkan sepuluh percubaan
Baca log daemon dan bukan dialog desktop, kerana dialog menggabungkan beberapa kegagalan berbeza menjadi satu mesej. Ralat NO_PROPOSAL_CHOSEN tergolong dalam fasa pertama: klien menawarkan penyulitan, cincangan atau kumpulan Diffie-Hellman yang tidak akan diterima oleh pelayan. Senaraikan apa yang disokong oleh peranti dan tulis satu cadangan yang sepadan, kerana gabungan rawak selalunya menghasilkan ralat yang sama dengan lebih perlahan. Pada desktop, klien praktikal ialah pemalam NetworkManager L2TP dengan strongSwan atau Libreswan di bawahnya.
Rentetan cadangan yang bermakna satu perkara bagi pemalam desktop boleh bermakna perkara lain bagi daemon yang menerima kerja itu, jadi kekalkan sintaks yang sesuai dengan lapisan yang anda sunting. Jika peranti juga menuntut rahsia terowong, itu peringkat berasingan daripada kunci IPsec. Sahkan yang mana satu ditanya oleh antara muka sebelum menaip apa-apa ke dalamnya.
IKEv1 agresif dengan XAuth, dan kes portal
Titik akhir bergaya FortiGate biasanya mahukan mod agresif dengan XAuth dan alamat mod terkonfigurasi, yang mungkin tidak dipaparkan langsung oleh pemalam grafik. Daemon asli mengendalikannya, dan blok di bawah ialah bentuk konfigurasi itu, bukan fail lengkap. Semak dokumentasi vendor yang terkini untuk nilai cadangan.
conn branch
keyexchange=ikev1
aggressive=yes
leftauth=psk
leftauth2=xauth
leftsourceip=%config
right=203.0.113.10
Keluaran strongSwan lama menggunakan xauth=client di tempat versi 5 menggunakan leftauth2=xauth, jadi coretan yang disalin boleh gagal hanya pada sintaks. Untuk portal TLS, openconnect yang bertutur protokol AnyConnect mengendalikan Cisco dan kebanyakan jenama yang dinamakan semula, dan ia memerlukan peranti TUN serta keistimewaan untuk mengkonfigurasikannya. Berikan alamat portal tepat seperti yang ditunjukkan pelayar, termasuk apa-apa laluan yang dijangka oleh peranti, kemudian periksa alamat yang diperuntukkan sebelum menguji apa-apa di belakangnya. Mencipta antara muka lebih awal menghapuskan satu kelas kejutan semasa persediaan.
sudo ip tuntap add dev tun0 mode tun
sudo openconnect --protocol=anyconnect vpn.example.com
Sambung, kemudian sahkan dalam susunan tetap
Jalankan tepat satu pengurus VPN pada satu masa, kerana profil NetworkManager dan daemon yang dimulakan dengan tangan akan berebut laluan dan DNS. Turunkan profil sebelum menguji sambungan manual, dan sahkan tiada antara muka terowong lama yang bertahan. Kemudian sahkan dalam susunan ini: alamat terowong, laluan ke satu-satunya hos dalaman yang anda perlukan, penyelesaian nama, dan akhirnya permintaan sebenar. Ikon hijau membuktikan pengesahan dan bukan apa-apa lagi.
ip -4 addr show tun0
ip route get 10.20.30.10
getent hosts app.internal
Jika sesuatu langkah gagal, berhenti di situ dan jangan uji yang seterusnya, kerana kegagalan DNS di hilir laluan yang rosak tidak mengajar anda apa-apa. Simpan salinan profil yang berfungsi sebelum bereksperimen, kerana fail sambungan yang dipadam mudah hilang dan menyusahkan untuk dibina semula. Simpan nilai cadangan dalam nota yang sama dengan model peranti dan versi firmware, kerana nota itulah perbezaan antara migrasi dan projek arkeologi apabila kotak diganti.