Tveir stjórnunarinngangar á einni vél, ein þjónustuhöfn og stefnuregla sem átti að hjálpa báðum. Reglan passar við upprunahöfn 22, sendir leitina í töflu sem þekkir aðeins WAN-sjálfgefið, og VPN-inngangurinn hættir að svara nýjum innskráningum á meðan beini inngangurinn heldur áfram að virka. Ekkert af þessu er dularfullt þegar valið er lesið rétt. Upprunahöfn auðkennir þjónustu, ekki leiðina sem tenging barst um.

Tveir inngangar, ein þjónustuhöfn

Vélin hefur vistfang á LAN-hlið og VPN-vistfang, og sshd hlustar á bæði. Bein lota og jarðgöngulota deila því þjónustuhöfninni og eru aðeins frábrugðnar að því hvaða staðbundna vistfang tekur við tengingunni.

Þessi munur nægir til að velja svarleið, og hann er nákvæmlega sá munur sem höfninni byggð regla hendir. Báðar loturnar framleiða svör þar sem upprunahöfnin er 22, svo regla sem passar við þá höfn getur ekki aðskilið þær. Hún sendir báðar leitirnar í sömu töfluna, og önnur þeirra fær svar sem passar ekki. Lagfæringin er að passa við það einkenni sem raunverulega er frábrugðið.

Að gefa hverjum inngangi sína eigin höfn myndi líka virka, og að líta á það sem kröfu er hönnunarákvörðun, ekki eiginleiki SSH.

Lestu regluna, svo töfluna

Stefnuregla er raðað val, og fyrsta reglan sem skilar nothæfu svari endar leitina. Lestu listann í röð og taktu eftir hvaða regla getur unnið.

Lestu svo töfluna sem reglan bendir á, því regla sem leysist með góðum árangri er ekki regla sem leysist á gagnlegan hátt. Tafla sem inniheldur aðeins sjálfgefna leið sendir svarið frá VPN út um WAN-viðmótið. Nákvæmari leið í síðari töflu er aldrei skoðuð, og þess vegna breytir það oft engu að bæta við annarri töflu. Valda taflan er það sem þarf að skoða.

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

Þessi tvö úttök útskýra saman niðurstöðuna; hvort um sig eitt og sér býður upp á ranga ályktun.

Takmarkaðu regluna við flæðið sem þú átt við

Einkennið sem aðskilur inngangana tvo er staðbundið upprunavistfang. Regla sem passar við það vistfang sendir aðeins jarðgönguloturnar í einkatöfluna og lætur beinar lotur vera á aðaltöflunni.

Þá reglu þarf að para við töflu sem inniheldur einkaleiðina og afturleiðina fyrir það undirnet. Takmarkaðu bæði við stjórnunarumferð í stað hverrar þjónustu á vélinni. Regla sem grípur alla umferð frá því vistfangi mun einnig vísa öllu öðru sem vélin sendir þaðan á aðra leið. Þröngt vinnur hér á klókindum, því næsti maður þarf að lesa það.

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

Ef báðir inngangar eru þýddir yfir á eitt staðbundið vistfang hverfur sá munur og hönnunin þarf tengingarmeðvitað ástand í staðinn.

Haltu hlustara, heimild og svarvali aðskildum

Þrjú aðskilin atriði verða að vera sönn áður en lota virkar: vistfangið er til, þjónustan hlustar á því og svarið finnur leið sína til baka. Leiðarbreyting lagar aðeins þriðja atriðið.

Stilling hlustarans er hennar eigin skrá og hennar eigin endurhleðsla, og mörg hlustunarvistföng eru eðlileg. Auðkenning er aftur þriðja ákvörðunin, og leiðarundanþága veitir engum aðgang. Haltu vélarlyklastaðfestingu, reikningsauðkenningu og upprunatakmörkunum á báðum inngöngum, og standstu gegn hvötinni til að veikja aðrar stýringar jarðganga svo ein stjórnunarleið virki.

Haltu endurheimtarrás sem er ekki háð leiðinni sem þú ert að breyta, því mistök hér læsa lagfæringunni sjálfri út.

Sannaðu það með nýrri lotu, ekki gamalli

Uppsett skjáherm er ekki sönnun, því hún var tekin inn fyrir breytinguna. Opnaðu nýja lotu um hvern fyrirhugaðan inngang.

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

Endurtaktu svo VPN-endurtengingu og reyndu aftur, því leið sem lifir endurtengingu er ekki sú sama og leið sem bætt var við töflu sem endurtengingin tæmir. Fylgstu með höfnuðum uppruna aðskildum frá þeim leyfðu, svo lokuð tilraun feli sig ekki bak við virka lotu. Vistaðu staðbundna vistfangið, regluna og töfluna við niðurstöðuna. Ef þú skiptir höfnunum í staðinn skráðu það sem rekstrarákvörðun, ekki sem takmörkun SSH.

Tengdir greinar