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.

FamilyPortsLinux side
PPTPTCP 1723 plus GRE, IP protocol 47pppd with a peer file
L2TP/IPsecUDP 500, 4500, 1701NetworkManager plugin over strongSwan
IKEv1 aggressive with XAuthUDP 500native strongSwan connection
AnyConnect-style portalTCP 443openconnect 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.

Artikel berkaitan