Linux VPN'de adresin, rotanın, DNS'in ve güvenlik duvarının sahibi kim?
Linux VPN her nesne için tek bir yetki gerektirir: aygıt, adres, rotalar, DNS, güvenlik duvarı. Bu haritayı yazın, sonra açılışın, yeniden bağlanmanın ve sökmenin neyi geri getirdiğini tanımlayın.
Aynı rota için savaşan iki betik, Linux VPN sorununun yönlendirme hatası olarak kaydedilen olağan biçimidir. Bir bileşen tünel aygıtını oluşturur, bir diğeri varsayılan rota ekler, üçüncüsü çözümleyici yapılandırmasını yeniden yazar, dördüncüsü güvenlik duvarı kurallarını yeniden yükler. Herhangi biri diğerinin işini bozabilir ve kazanan basitçe en son çalışandır. Yanıtlanmaya değer soru hangi paketin kurulacağı değil, hangi bileşenin durumun her parçası için yetkili olduğudur.
Bu haritayı bir kez yazın, çoğu yeniden bağlanma hatası gizemli olmaktan çıkar. Dört nesne önemlidir: aygıt ve adresleri, rotalar ve ilke kuralları, DNS yapılandırması ve güvenlik duvarı.
Aygıt ve adresleri
Bir tünel aygıtı ya profili bilen bir yönetici ya da birinin elle başlattığı bir artalan süreci tarafından oluşturulur. İki düzen de tek başına çalışır; karıştırmak çalışmaz. Profil NetworkManager'a aitse aygıt da ona ait olsun ve aynı tünel adına karşı yönetilmeyen bir OpenVPN süreci başlatmayın.
Oturum bittiğinde aygıtı kimin kaldırdığını kaydedin. Oturumundan daha uzun yaşayan aygıt, eski adreslerin ve ardından gelen karışıklığın en yaygın kaynağıdır.
Rotalar ve ilke kuralları
Sahiplik çatışmaları tam da rotalarda görünür zarar verir. Bir bağlantı yöneticisi tünel için varsayılan rota artı uzak ağ için daha belirgin bir rota kurar; ardından elle yazılmış bir betik farklı bir metrikle kendi varsayılanını ekler ve zamanlamaya bağlı olarak sessizce kazanır veya kaybeder. Hangi girdilerin bağlantıya bağlı, hangilerinin kalıcı ilke olduğunu ve hangi bileşenin yeniden bağlanmadan sonra bunları tazelediğini belirleyin. Sonra diğer bileşenleri o tablonun dışında tutun.
İlke kuralları aynı açıklığı hak eder, çünkü kimsenin doldurmadığı bir tabloya işaret eden kural, ölü bir tünele tıpatıp benzeyen bir kara delik üretir. Bir kural trafiği bir yere zorlamak için varsa, seçtiği tabloyu aynı sahibin sürdürmesi gerekir.
DNS her zaman ayrı bir sahiptir
Çözümleyici artalan süreci kendi kimliği altında kendi süreci olarak çalışır, bu yüzden tünelin yönlendirme kararlarını kazara devralmaz. VPN DNS sunucularını itelediğinde, bir şeyin bunu çözümleyicinin uyduğu bağlantı başına yapılandırmaya çevirmesi ve sonra bir şeyin kaldırması gerekir.
Buradaki efsane, profile bir ad sunucusu yazmanın sorguların nereye gittiğini değiştirdiğidir. Çözümleyiciye ne söylendiğini değiştirir, çözümleyicinin yukarı akışta hangi soketi kullandığını değil. Dosyaya güvenmek yerine bir sorgu ve bir rota aramasıyla test edin.
Güvenlik duvarı durumu ve kimin geri getirdiği
Güvenlik duvarı kuralları bir VPN ana bilgisayarında en sık üzerine yazılan nesnedir. Yönetici her bağlantı için NAT veya yönlendirme kuralları ekleyebilir, açılıştaki güvenlik duvarı hizmeti ise kaydedilmiş bir kural kümesini yeniden yükleyip onları siler. İlke için tek bir yetki seçin ve diğerini onun tüketicisi yapın ya da yeniden başlatmanın davranışı sessizce değiştirdiğini kabul edin. Bağlantıya bağlı istisnalar aynı sahibin yüklediği bir dosyaya aittir, sorun giderme sırasında yazılan iptables komutuna değil.
Kurallar bir yeniden bağlanmayı atlatmak zorundaysa bunu açıkça söyleyin. Zorunda değilse onu da söyleyin, çünkü bir sonraki mühendis daha rahat yanıtı varsayacaktır.
Yaşam döngüsü: açılış, yeniden bağlanma, sökme
O üç ana her birine bir sahip verin. Açılışta ön koşulları neyin hazırladığına ve hangi sırayla olduğuna karar verin. Yumuşak yeniden başlatmada aygıtın hayatta kalabileceğini ama oturum durumunun kalamayacağını unutmayın, bu yüzden oluşturucu değil doğrulayıcı çalışmalıdır. Sökmede yalnızca bu bağlantının oluşturduğunu kaldırın, çünkü her rotayı sıfırlamak veya tüm güvenlik duvarını boşaltmak tek bir tüneli hizmetten çıkarmakla aynı şey değildir.
Gözlem için ip monitor link address route çekirdek değişikliklerini olurken gösterir, ancak niyeti değil olayları bildirir: silinmiş bir rota onu hangi sürecin sildiği hakkında hiçbir şey söylemez. Bunu sahiplik haritasıyla eşleştirin, kafa karıştıran bir kapanış kısa bir aday listesine dönüşür.
İstisnaların da bir maliyeti vardır. Bir çatışmadan kaçmak için tüm bir aygıt sınıfını yönetilmez olarak işaretlemek o durumu kimseye vermez, bu bir düzeltme değil karardır.