Az ügyfél hitelesíti magát, címet kap a poolból és eléri a VPN-gép szolgáltatásait, mégis minden nyilvános cél időtúllépésbe fut. Így néz ki egy kimenet nélküli alagút, és így is marad, amíg négy különálló dolog nem teljesül. Az ügyfélnek el kell fogadnia egy alapértelmezett útvonalat, a kiszolgálónak továbbítania kell, a tűzfalnak engedélyeznie kell a tranzitot, és a válaszoknak vissza kell jutniuk a poolba. Mind a négy hiba egyetlen tünetet mutat, ezért próbálkozásonként egyetlen dolgot változtasson, és jegyezze fel az eredményt.

Tolja ki az alapértelmezett útvonalat, és ellenőrizze, mit telepített az ügyfél

A kiszolgáló oldali sor rövid, és csak azokat az ügyfeleket érinti, amelyek elfogadják a kitolt beállításokat. A def1 forma két fél-alapértelmezett útvonalat telepít a meglévő alapértelmezett törlése helyett, ami életben tartja a jelenlegi kapcsolatot, miközben továbbra is elkap minden célt.

push "redirect-gateway def1"

Újracsatlakozás után olvassa ki az ügyfél útválasztási táblázatát, ahelyett hogy a profilban bízna. Linuxon a két /1 bejegyzés az eredeti alapértelmezett mellett jelenik meg, a Windows pedig ugyanezt a párt 0.0.0.0/1 és 128.0.0.0/1 formában mutatja. Az az ügyfél, amely figyelmen kívül hagyja a kitolt beállításokat, vagy amelyet azok elutasítására állítottak be, megtartja régi alapértelmezett útvonalát, és soha nem küld internetes forgalmat az alagútba. Döntse el ezt a kérdést, mielőtt bármit módosít a kiszolgálón, mert semmilyen kiszolgáló oldali szabály nem tudja ellensúlyozni.

A továbbítás kiszolgálóbeállítás, nem VPN-beállítás

Olvassa ki a továbbítási jelzőt, mielőtt az útválasztáshoz nyúl. Egy nulla ott azt jelenti, hogy a kernel átveszi az ügyfél csomagját, és megtagadja a továbbítását, ami pontosan úgy néz ki, mint egy tűzfalblokk a túlsó végről. Állítsa be az értéket a rendszer konfigurációs könyvtárán keresztül, hogy túlélje az újraindítást.

sysctl net.ipv4.ip_forward
echo 'net.ipv4.ip_forward=1' | sudo tee /etc/sysctl.d/99-vpn-forward.conf
sudo sysctl --system

Ezután ellenőrizze, hogy magának a gépnek van-e működő útvonala az internetes kimenet felé. A kiszolgáló héjából indított kérés bizonyítja, hogy a felső útvonal használható, és semmit sem mond az ügyfél csomagjának továbbításáról, ezért kezelje ezeket két külön tesztként. Ha a kiszolgáló nem éri el a célt, semmilyen mennyiségű továbbítási konfiguráció nem segít.

Pontosan azt a tranzitot engedélyezze, amit szeretne, és semmi mást

A továbbított csomagok a forward útvonalon haladnak át; a VPN-gépnek címzett forgalom az input útvonalon. Ezek külön döntések, és az input útvonal megnyitása nem engedélyezi a gépen keresztüli tranzitot. Összekeverésük a leggyakoribb oka annak, hogy egy tűzfal úgy tűnik, mindent engedélyez, miközben az ügyfelek továbbra is időtúllépésbe futnak.

A minimális szabályzat elfogadja a poolból a kimeneti interfész felé irányuló új kapcsolatokat, és elfogadja a létrejött folyamatokhoz tartozó válaszokat. Tegye abba a szabálykészlet-gazdába, amelyet a disztribúciója használ, ahelyett hogy minden indításkor duplikált szabályt fűzne hozzá; a duplikált szabályok felhalmozódnak, és a számlálók értelmüket vesztik.

sudo iptables -A FORWARD -i tun0 -o eth0 -s 10.90.0.0/24 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o tun0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

Ha minden láncot elfogadásra állít, a teszt átmegy, és a tűzfal létének oka megszűnik. Tartsa a hatókört a poolra és a kimeneti interfészre, és hagyja békén a nem kapcsolódó továbbítást.

Adjon a válaszoknak hová menniük

A pool címei privátak, ezért egy nyilvános kiszolgáló nem tud választ közvetlenül kézbesíteni nekik. Vagy a VPN-gép fordítja a forrás címet kifelé menet, vagy egy felsőbb eszköz tart fenn útvonalat vissza a poolba.

sudo iptables -t nat -A POSTROUTING -s 10.90.0.0/24 -o eth0 -j MASQUERADE

Pontosan egy fordítási réteget adjon hozzá. Egy második NAT feljebb elrejti az elsőt, és mindkét naplót szinte használhatatlanná teszi, amikor később valami elromlik. Ha egy felsőbb router már visszairányítja a poolt, a fordítás hozzáadása a gépen felesleges, és a visszaút akkor annak a routernek a konfigurációjától függ, nem a sajátjától.

A felhőpéldányok még egy kaput adnak hozzá, mert egyes platformok eldobják azokat a csomagokat, amelyek forráscíme nem a példányé, hacsak ezt az ellenőrzést nem lazítják. Ez a beállítás a vendégen kívül van, és könnyű elfelejteni, amikor egy helyi tesztgép működik.

Az ügyféltől bizonyítsa, ne a kiszolgáló héjából

Kezdje numerikus IPv4-kéréssel, majd névfeloldással, majd az alkalmazással. A ping bizonyítja a továbbítást és a fordítást;a névfeloldásról semmit sem bizonyít, mert a DNS-beállítások csak akkor lépnek életbe, amikor az ügyfél-integráció telepíti őket.

curl -4 -m 5 http://198.51.100.10/
dig +short example.com

Menet közben jegyezze fel a változtatásokat és a visszavonási lépést, hogy egy sikertelen teszt esetén a kimeneti szabályzat egyetlen művelettel visszavonható legyen. Ez a recept csak az IPv4-et fedi le; a telepítés teljes forgalmára vonatkozó állítás előtt külön vegye számba az IPv6-ot.

Kapcsolódó cikkek