Zwou Verwaltungsentréen op engem Host, ee Serviceport an eng Politiksregel, déi béide sollte hëllefen. D'Reegel passt op Quellport 22, schéckt d'Sich an eng Tabell, déi nëmmen de WAN-Standard kennt, an d'VPN-Entrée hält op, op nei Logins ze äntweren, während déi direkt Entrée weider funktionéiert. Nichts dovu ass mysteriéis, wann de Selekter richteg gelies gëtt. E Quellport identifizéiert e Service, net de Wee, iwwer deen eng Verbindung ukomm ass.

Zwou Entréen, ee Serviceport

Den Host huet eng Adress op der LAN-Säit an eng VPN-Adress, an sshd lauschtert op béiden. Eng direkt Sessioun an eng Tunnelsessioun deelen dofir de Serviceport an ënnerscheede sech nëmmen doran, wéi eng lokal Adress d'Verbindung empfänkt.

Dee Ënnerscheed ass genuch, fir en Äntwertswee ze wielen, an et ass genee deen Ënnerscheed, deen eng portbaséiert Reegel verwërft. Béid Sessioune produzéieren Äntwerten, deenen hire Quellport 22 ass, also kann eng Reegel, déi op dee Port passt, se net trennen. Si schéckt béid Siche mat der selwechter Tabell, an eng dovun kritt eng Äntwert, déi net passt. D'Korrektur ass, op d'Attribut ze passen, dat sech tatsächlech ënnerscheet.

All Entrée hirem eegene Port ze ginn, géif och funktionéieren, an dat als Fuerderung ze behandelen ass eng Designentscheedung, net eng Eegenschaft vun SSH.

Liest d'Reegel, dann d'Tabell

Eng Politiksregel ass en geordnete Selekter, an déi éischt, déi eng brauchbar Äntwert zréckgëtt, beendet d'Sich. Liest d'Lëscht an der Rei a bemerkt, wéi eng Reegel gewanne kann.

Liest dann d'Tabell, op déi déi Reegel weist, well eng Reegel, déi erfollegräich opgeléist gëtt, ass keng Reegel, déi nëtzlech opgeléist gëtt. Eng Tabell mat nëmmen enger Standardroute schéckt d'Äntwert aus der VPN-Quell iwwer d'WAN-Schnittstell eraus. Eng méi spezifesch Route an enger méi spéider Tabell gëtt ni consultéiert, an dofir ännert d'Bäifüge vun enger zweeter Tabell sou dacks näischt. Déi gewielten Tabell ass dat, wat ënnersicht musse gëtt.

ip -4 rule show
ip route show table 100
ip route show table main

Déi zwou Ausgaben zesummen erklären d'Resultat; jiddwereng eleng invitéiert zu enger falscher Konklusioun.

Beschränkt d'Reegel op de Floss, deen Dir mengt

D'Attribut, dat déi zwou Entréen trennt, ass d'lokal Quelladress. Eng Reegel, déi op déi Adress passt, schéckt nëmmen d'Tunnelsessiounen an déi privat Tabell an léisst direkt Sessiounen op der Haapttabell.

Déi Reegel muss mat enger Tabell gepaart ginn, déi déi privat Route an de Réckwee fir deen Subnet enthält. Beschränkt béid op Verwaltungsverkéier amplaz op all Service um Host. Eng Reegel, déi de ganze Verkéier vun där Adress fänkt, wäert och alles anescht ëmleeden, wat den Host vun do schéckt. Schmuelt gewënnt hei iwwer Schlau, well déi nächst Persoun muss et liesen.

sudo ip rule add from 10.90.0.1 lookup 100 priority 100
sudo ip route add 10.90.0.0/24 dev wg0 table 100
ip route get 10.90.5.20 from 10.90.0.1

Wann déi zwou Entréen op eng lokal Adress iwwersat ginn, verschwënnt deen Ënnerscheed, an den Design brauch amplaz en Zoustänn, deen d'Verbindung kennt.

Halt Lauschterer, Erlaabnes an Äntwertauswiel getrennt

Dräi getrennt Saachen musse richteg sinn, ier eng Sessioun funktionéiert: d'Adress existéiert, de Service lauschtert drop, an d'Äntwert fënnt hire Réckwee. Eng Routeännerung fixéiert nëmmen déi drëtt.

D'Konfiguratioun vum Lauschterer ass seng eegen Datei a seng eegen Neiopladung, an méi Lauschadressen si normal. D'Authentifikatioun ass nach eng drëtt Entscheedung, an eng Routing-Ausnam gëtt keen Zougang. Halt Hostschlëssel-Iwwerpréiwung, Kontauthentifikatioun a Quellrestriktiounen op béiden Entréen, a widdersteet der Versuchung, déi aner Kontrollen vum Tunnel ze schwächen, sou datt ee Verwaltungswee funktionéiert.

Halt e Rettungskanal, deen net vum Wee ofhängt, deen Dir ännert, well e Feeler hei fixéiert d'Korrektur selwer aus.

Beweist et mat enger neier Sessioun, net enger aler

En etabléierten Terminal beweist näischt, well en virun der Ännerung zougelooss gouf. Maacht eng nei Sessioun duerch all virgesinn Entrée op.

ss -ltnp | grep ':22'
sudo sshd -T | grep -i listenaddress
ssh -v [email protected] true
sudo journalctl -u ssh -n 30

Widderhëlt dann d'VPN-Neusverbindung a probéiert nach eng Kéier, well eng Route, déi eng Neisverbindung iwwersteet, net d'selwecht ass wéi eng, déi an eng Tabell bäigefüügt gouf, déi d'Neisverbindung eidel mécht. Observéiert déi refuséiert Quellen getrennt vun deenen erlaabten, sou datt e blockéierten Versuch sech net hannert enger funktionéierender Sessioun verstoppt. Späichert d'lokal Adress, d'Reegel an d'Tabell niewent dem Resultat. Wann Dir amplaz d'Porte splitt, registréiert dat als Betribsentscheedung an net als Grenz vun SSH.

Ähnlech Artikelen