Linux VPN istemcisini eski cihazın protokolüne uydurun
Cihazın yayımladığı portları okuyun, sonra uygun istemciyi kurun: GRE üzerinden pppd, IKEv1 XAuth için strongSwan veya portal için openconnect.
Dört protokol ailesi, hâlâ raflarda duran neredeyse her cihazı kapsar ve her biri Linux'ta farklı şekilde başarısız olur. Uzak ucun yayımladığı portlar ve yapılandırılmış öneriler paketinizi belirler, tesadüfen çalıştırdığınız dağıtım değil. Bir forum gönderisinde yazanı kurup bir şey bağlanana kadar düzenlemek, bir öğleden sonranın yok olma biçimidir. Cihazı okuyun, ikinci olarak kurun, üçüncü olarak doğrulayın.
Uzak ucun ne yayımladığını kaydedin
Paket yöneticisini açmadan önce cihazın beklediği protokolü, portları ve kimlik doğrulamayı yazın. Dört aile eski donanımın çoğunu kapsar ve aşağıdaki tablo tüm kararın tek ekranlık hâlidir.
| 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 |
Cihazın kılavuzu ve kendi güvenlik duvarı kuralları, giriş sayfasındaki protokol adından daha güvenilirdir. IPsec reklamı yapan bir cihaz yalnızca IKEv1 konuşuyor olabilir ve kimsenin uygulamadığı bir ürün yazılımı sürümü, sonunda IKEv2 ekleyen şey olabilir. Hem veri yolunu hem de kurulum portunu doğrulayın, çünkü eski donanımla modern ağlar tam burada ayrışır. Bu adımı yanlış yapmak, istemcinizi karşı tarafın hiç sahip olmadığı bir özelliğe karşı hata ayıklamak demektir.
PPTP: pppd'yi düzenlemeden önce GRE'yi kanıtlayın
Linux'ta PPTP başlattığınız bir servis değil pppd çağrısıdır ve bağlantı parametreleri, pppd'nin çağrıldığında okuduğu adlandırılmış bir peer dosyasında yaşar. Dağıtımlar onu hâlâ paketliyor, ancak protokolün bilinen zayıflıkları hassas her şey için uygunsuz kılıyor, bu yüzden onu yalnızca başka bir şey sunmayan bir cihaz için sıkı biçimde saklayın. İstemci görüşürken GRE'yi izleyin, tahmin yerine kısa bir kayıtla. En çok zaman kaybettiren hata kimlik doğrulama değil, eksik veri yoludur.
pppd call branch-office
tcpdump -ni any proto gre -c 5
Kurulum tamamlanıp bağlantı hiç trafik taşımıyorsa, kimlik bilgilerine dokunmadan önce GRE yolundan şüphelenin. Bulut güvenlik grupları 47 numaralı protokol için açık bir kurala ihtiyaç duyar ve bazı ağlar onu görünür bir hata olmadan tamamen engeller. Gerçekten kullanacağınız ağdan test edin, her şeye izin veren bir laboratuvardan değil.
L2TP/IPsec: uyan tek bir öneri on denemeyi yener
Masaüstü iletişim kutusu yerine servisin günlüğünü okuyun, çünkü iletişim kutusu birkaç farklı hatayı tek bir mesajda birleştirir. NO_PROPOSAL_CHOSEN hatası birinci faza aittir: istemci, sunucunun kabul etmeyeceği bir şifreleme, karma veya Diffie-Hellman grubu önermiştir. Cihazın neyi desteklediğini listeleyin ve ona uyan tek bir öneri yazın, çünkü rastgele birleşimler çoğunlukla aynı hatayı daha yavaş verir. Masaüstünde pratik istemci, altında strongSwan veya Libreswan bulunan NetworkManager L2TP eklentisidir.
Bir masaüstü eklentisi için tek anlam taşıyan bir öneri dizesi, işi devrettiği servis için başka bir anlam taşıyabilir, bu yüzden sözdizimini düzenlediğiniz katmana uygun tutun. Cihaz ayrıca bir tünel sırrı istiyorsa, bu IPsec anahtarından ayrı bir aşamadır. İçine bir şey yazmadan önce arayüzün hangisini sorduğunu doğrulayın.
XAuth ile saldırgan IKEv1 ve portal durumu
FortiGate tarzı bir uç nokta genellikle şunu ister: XAuth ile saldırgan mod ve yapılandırılmış mod adresi, ki grafik eklenti bunu hiç göstermeyebilir. Yerel servis bununla başa çıkar ve aşağıdaki blok tam bir dosya değil, o yapılandırmanın biçimidir. Öneri değerleri için üreticinin güncel belgelerine bakın.
conn branch
keyexchange=ikev1
aggressive=yes
leftauth=psk
leftauth2=xauth
leftsourceip=%config
right=203.0.113.10
Eski strongSwan sürümleri, sürüm 5'in leftauth2=xauth kullandığı yerde xauth=client kullanıyordu, bu yüzden kopyalanmış bir parça yalnızca sözdizimi yüzünden başarısız olabilir. TLS portalı için AnyConnect protokolünü konuşan openconnect, Cisco ve çoğu yeniden markalanmış ürünle başa çıkar ve bir TUN aygıtı ile onu yapılandırma yetkilerine ihtiyaç duyar. Portal adresini tarayıcının gösterdiği gibi, cihazın beklediği her yolu dahil ederek iletin, sonra arkasında bir şey test etmeden önce atanan adresi kontrol edin. Arayüzü önceden oluşturmak, kurulum sırasında bir sürpriz sınıfını ortadan kaldırır.
sudo ip tuntap add dev tun0 mode tun
sudo openconnect --protocol=anyconnect vpn.example.com
Bağlanın, sonra sabit bir sırayla doğrulayın
Aynı anda tam olarak bir VPN yöneticisi çalıştırın, çünkü bir NetworkManager profili ile elle başlatılan bir servis rotalar ve DNS için çekişir. Elle bağlantıyı test etmeden önce profili indirin ve eski bir tünel arayüzünün hayatta kalmadığını doğrulayın. Sonra şu sırayla doğrulayın: tünel adresi, ihtiyaç duyduğunuz tek iç ana bilgisayara rota, ad çözümlemesi ve son olarak gerçek bir istek. Yeşil bir simge kimlik doğrulamayı kanıtlar ve başka hiçbir şeyi.
ip -4 addr show tun0
ip route get 10.20.30.10
getent hosts app.internal
Bir adım başarısız olursa, sonrakini test etmek yerine orada durun, çünkü kırık bir rotanın altındaki DNS hatası size hiçbir şey öğretmez. Denemeden önce çalışan profilin bir kopyasını kaydedin, çünkü silinmiş bir bağlantı dosyası kolayca kaybolur ve yeniden kurulması zahmetlidir. Öneri değerlerini cihaz modeli ve ürün yazılımı sürümüyle aynı notta tutun, çünkü kutu değiştirildiğinde o not bir taşıma ile bir arkeoloji projesi arasındaki farktır.