VPN ve ev LAN'ı aynı alt ağda: önce rotayı izleyin
İki bağdaştırıcı da 192.168.1.0/24'ü talep ediyor ve yalnızca bir rota kazanıyor. Yeniden numaralandırmadan veya DNS'i suçlamadan önce bağdaştırıcı listesini, kazanan rotayı ve dönüş yolunu izleyin.
Ofis VPN'ine bağlanıyorsunuz, tepsi simgesi yeşile dönüyor, intranet yükleniyor ve iki metre ötedeki yazıcı yanıt vermeyi bırakıyor. Sabah çalışan paylaşım aynı makinede zaman aşımına uğruyor ve hiçbir günlük yazıcıdan söz etmiyor. İlk refleks DNS'tir, çünkü çözülemeyen bir ad var olmayan bir ad gibi görünür, ama sorun adreste: iki bağdaştırıcı artık 192.168.1.0/24'ü talep ediyor ve bu öneki yalnızca bir rota kazanabilir. Bu sırayla izleyin ve herhangi bir şeyi değiştirmeden önce hangi bağdaştırıcının onu aldığını görün.
Belirtiden başlayın, tünelden değil
İpucu kapsamdır. İntranet çalışıyor ve her yerel aygıt başarısız oluyorsa tünel sağlıklıdır, yerel yol değildir. Yerel aygıtlar çalışıyor ve intranet başarısız oluyorsa tersi. Bir ana bilgisayar dışında her şey çalışıyorsa iki tarafta da bulunan tek bir adrese bakıyorsunuz.
Herhangi bir ayara dokunmadan önce bir yerel ve bir uzak adres yazın. “Yazıcı” test edilemez; 192.168.1.40 edilebilir. Bu tek adım, bu sorunda en sık kaybedilen saati, yani yönlendirme kararı için DNS ayarlarını yeniden yazmayı önler.
Adım 1: öneki talep eden iki bağdaştırıcıyı görün
Ağ Bağlantıları'nı (ncpa.cpl) açın ve iki bağdaştırıcıyı yan yana okuyun. Ethernet bağdaştırıcısı 192.168.1.50/24 ile 192.168.1.1 ağ geçidini gösterir. VPN bağdaştırıcısı sunucunun gönderdiği 192.168.1.201/24'ü gösterir. İkisi de meşru, ikisi de önekin on-link olduğuna inanıyor ve yığın bunun için tek bir rota tutacak.
Get-NetIPAddress -AddressFamily IPv4 adresleri listeler ve Get-NetIPInterface | Sort-Object InterfaceMetric yığının bunları hangi sırayla kullanacağını gösterir. O metrik sütunu okumak üzere olduğunuz karardır, bu yüzden sayıları ezberlemeye çalışmak yerine not alın.
DNS teorisini ucuza çürütün: Resolve-DnsName printer.office.lan dünkü aynı adresi döndürür. Ad çözüldü; sonra paket yanlış bağdaştırıcıdan çıktı. Buradaki iki dakika, çözümleyici ayarlarında bir öğleden sonrayı kurtarır.
Adım 2: gerçekten kazanan rotayı okuyun
Find-NetRoute -RemoteIPAddress 192.168.1.40 o adres için yığının kullanacağı arabirimi, sonraki atlamayı ve kaynağı yazdırır. Bu çıktıyı ipucu değil yanıt olarak kabul edin. Hangi girdinin ne kadar kaybettiğini görmek istediğinizde route print -4 tüm tabloyu verir.
Belirlilik niyeti yener. İtilen 192.168.0.0/25, yerel 192.168.0.0/24'ü yener çünkü önek daha uzundur, bu yüzden 192.168.0.0 ile 192.168.0.127 arası tünelden çıkar, üst yarı ise yerel kalır. Yarı bir LAN'ın hata iletisi olmadan kaybolması o tablo için doğru davranıştır.
tracert -d 192.168.1.40 bunu tablonun dışından doğrular: ilk atlama kendi yönlendiriciniz yerine bir tünel adresiyse rota bütün hikâyedir. Linux'ta aynı soru ip route get 192.168.1.40'tır ve kaynak adres ile aygıtı tek satırda yazar. Yanıt tun0 adını verdiğinde tarayıcıya bakmayı bırakın.
Adım 3: istemciyi suçlamadan önce dönüş yolunu denetleyin
Doğru gidiş rotası bile uzak taraf yanıt veremiyorsa başarısız olur. Bir istemci LAN'ına tünelden erişildiğinde, o LAN'ın ağ geçidi tünel havuzunun nerede olduğunu bilmelidir: o yönlendiricide ip route add 10.8.0.0/24 via 192.168.1.12, ve istemcilerin dönüş yolunu bilmesi için sunucudan push “route 192.168.1.0 255.255.255.0”.
İlk girdi olmadan yanıt hedeften çıkıp varsayılan ağ geçidine gider, o da özel bir adresi sağlayıcıya iletip düşürür. Belirti tek yönlüdür ve yanlış okunması kolaydır: istekler tun0 üzerinde görünür, yanıtlar asla.
VPN ana bilgisayarındaki masquerade kuralı o statik rotaya olan ihtiyacı ortadan kaldırır: iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE. Aynı zamanda gerçek kaynak adresleri saklar, bu da sonraki her günlük sorusunu zorlaştırır. Varsayılan ağ geçidi yanlış olan hedef ana bilgisayar da aynı sessizliği üretir; en iyi durumda ICMP yönlendirmesi, normalde kara delik, bu yüzden yakalama iki uçta da gerekir.
Adım 4: birlikte yaşayabileceğiniz bir onarım seçin
Bunun için beş onarım kullanılır ve bunlar birbirinin yerine geçmez. Hangi komutun en kısa olduğuna göre değil, aynı anda neyin erişilebilir kalması gerektiğine göre seçin.
| Repair | What it fixes | What it costs |
|---|---|---|
| Flip interface metrics | Alternating access: office now, home later, never both | Get-NetAdapter -Name "Ethernet 2" | Set-NetIPInterface -InterfaceMetric 21; set the VPN adapter back to 5000. A client that rewrites metrics on connect defeats it |
| Renumber one side | Every host reachable in both directions | DHCP reservations, printer queues, firewall rules and hard-coded addresses all move |
| Narrow the advertised prefix | Remote hosts really live in the upper half | Breaks the day someone adds a host below the cut |
| Translate with client-nat | Both address plans stay untouched | Stateless per-client mapping, unreadable logs, anything embedding addresses breaks |
| Publish one service with DNAT | One service on the VPN host reachable from the LAN | Both address plans stay; source addresses and reverse lookups stop being meaningful |
Metrikler ucuz seçenektir ve insanların ilk başvurduğu şeydir. Değişiklik arabirime uygulanır, yani tünel açıkken çalışır ve yeri istemcinin yanındaki betiktir, unutacağınız bir kabuk değil. Aynı adrese iki ağda eşzamanlı erişim veremez ve herkesi tablonun altına gönderen sınır budur.
Ev LAN'ını yeniden numaralandırmak 10.10.0.0/24'e temiz çözümdür: bir DHCP kirası yenilemesi artı eski aralığa atıfta bulunan rezervasyonlar, yazıcı kuyrukları ve sabit kodlanmış adresler. Ofis tarafını yeniden numaralandırmak genellikle sizin kararınız değildir. IPv6, her iki ağ da taşıdığında çakışmayı tamamen ortadan kaldırır; hatırlanması kolay bir şey yerine fd00::/8'den benzersiz yerel önek kullanır, ancak uygulamayı TCP üzerinden test edin, ping ile değil, çünkü ICMP çalışırken hizmet çalışmayabilir.
OpenVPN'in kendi çeviri seçeneği son çaredir, sunucudan istemciye özgü dizin girdisine itilir. Seçenek adından sonra dört parametre alır — yön, ağ, netmask ve takma ad — ve takma ad isteğe bağlı değildir: push "route 192.168.2.0 255.255.255.0" ve push "client-nat dnat 192.168.2.0 255.255.255.0 192.168.1.0". Ağ ve maske istemcinin gördüğü aralıktır (192.168.2.0/24), takma ad sunucu tarafındaki gerçek ofis aralığıdır (192.168.1.0/24) ve itilen rota o görünür aralığı erişilebilir kılan şeydir. Ofis o zaman o istemciye 192.168.2.x altında görünür. Eşlemeyi profilde belgeleyin, yoksa bir sonraki kişi bunu yönlendirme arızası olarak ayıklar.
Tek bir hizmeti yayınlamak çevirinin dar sürümüdür ve OpenVPN seçeneğine hiç ihtiyaç duymaz. VPN ana bilgisayarındaki bir DNAT kuralı tek bir bağlantı noktasını yeniden yayınlar, böylece LAN adreslerini korur ve hizmete zaten bildiği ana bilgisayar adresinde ulaşır. Bedel her zamankidir: hizmet VPN ana bilgisayarını kaynak olarak görür, bu yüzden istemci başına günlükler ve ters aramalar anlamını yitirir. Bu, bir yazıcı kuyruğunu veya bir yönetim sayfasını kapsar, iki taraftaki ana bilgisayarların birbirine ulaşmasını değil.
Neyin hâlâ çalışmayacağı ve neyin kaydedileceği
Yayın, yönlendirilmiş bir tüneli geçmez. DLNA, UPnP, NetBIOS taraması ve Wake-on-LAN, tun aygıtının taşımadığı yayın veya çoklu yayına bağlıdır, bu yüzden hiçbir rota keşfi düzeltmez. dev tap ile köprüleme segmenti uzatır ve onunla birlikte DHCP yayınlarını, ARP'yi ve diğer keşif paketlerini de uzatır; uzak bir yönlendiricinin LAN tarafı adresi için route 192.168.2.1 255.255.255.255 gibi tek hedefli bir ana bilgisayar rotası tercih edin.
Aynı yolda ikisi de 192.168.1.1 kullanan iki yönlendirici aynı sorun ailesine girer: yerel adres her zaman kazanır, bu yüzden bir LAN taşınana kadar uzak yönlendiricinin sayfası erişilemez kalır. İkinci bir bağdaştırıcı eklemek iki durumda da hiçbir şeyi değiştirmez.
Herhangi bir şeyi düzenlemeden önce kanıtları kaydedin: ip route get veya Find-NetRoute, söz konusu adrese ping -c 3, bir traceroute ve istemcide tcpdump -ni tun0 icmp, ardından sunucuda yönlendirme tablosu ve NAT sayaçları. Bir yönde çalışıp diğer yönde ölen ping tüneli değil dönüş yolunu işaret eder ve tam olarak bu ayrım yukarıdaki onarımlardan hangisine gerçekten ihtiyacınız olduğunu belirler.