Øydelegg ein VPN-klient på webserveren din svara hans?
Ei kjeldebasert ruterregel kan gjenopprette eitt publisert nettstad medan ho unntar trafikk du aldri har meint å unnta. Les veljaren før du utvidar unntaket.
Nettstaden lastar frå ein berbar PC på same nettverk og går i tidsavbrot frå alle andre stader, og verten køyrer òg ein VPN-klient for sin eigen utgåande trafikk. Den kombinasjonen gjev ein bestemd feil: den innkomande sambindinga kjem inn, svaret går ut via feil veg, og klienten utanfor ser aldri eit svar. Begge halvdelane viser seg i same pakkefangst, så rekkjefølgja av hendingar er den delen som er verdt å lese.
Ei kjeldebasert ruterregel rettar ofte symptomet. Ho unntar òg vanlegvis meir trafikk enn nettstaden som motiverte ho, og det er den delen som er verdt å forstå før du lagrar regelen.
Symptomet: han svarar lokalt og ikkje utanfrå
Inne på nettverket treng ikkje svaret å krysse tunnelen, så sida lastar og tenesta ser sunn ut. Utanfrå når førespurnaden verten, og svaret blir ruta inn i VPN-en, der den fjerne enden ikkje har nokon grunn til å godta det. Nettlesaren ser ein tidsavbrot i staden for ei avvising, som er kjenneteiknet på ein einvegssveg og ikkje på ein lukka port.
Stadfest forma før du endrar rutinga: lyttaren er oppe, den lokale førespurnaden lukkast, og den eksterne førespurnaden gjev ingen svar i det heile. Dei tre observasjonane peikar saman mot returvegen og ikkje mot konfigurasjonen av webserveren. Ein så rein asymmetri er meir nyttig enn noka logglinje, fordi han utelukkar lyttaren før du les éi einaste feilmelding.
Hald ein uavhengig administrasjonsveg open medan du arbeider. Ei regel som øydelegg din eigen SSH-økt gjer ein timinutts retting om til eit fysisk besøk.
Kva ein kjeldeveljar faktisk matchar
I Linux-policyruting matchar ei regel som from 192.168.50.2 pakkar der kjelda er den adressa. Ho kodar ikkje at pakken held fram ein samtale som kom inn gjennom heimerutaren, og ho veit ikkje kva prosess som laga han. Adressa i det dømet er illustrativ; byt ho ut med adressa verten din faktisk brukar. Handsame linja som ein påstand om adresser og ikkje noko meir.
Viss den valde tabellen leverer ei vanleg standardrute, kan kvar pakke med den kjelda ta det same unntaket. Ei anna teneste bunden til same adresse arvar det, og eit program som med vilje bind seg til den adressa arvar det òg. Referansen for policyreglar listar kjelde, mål, protokoll, port, merke og prioritet som separate veljarar, noko som minner om at kjelda åleine er den grovaste som finst.
Prioriteten avgjer resultatet. Oppslag køyrer i rekkjefølgje, og den første tabellen som gjev eit resultat kan avslutte søket, så ei regel som er plassert for tidleg kan skjule ei meir spesifikk rute som ein seinare tabell ville ha levert. Les heile den ordna lista i staden for den eine linja du la til. Ei regel som aldri matchar kostar ingenting, medan ei som matchar for tidleg stille endrar alt bak seg.
Kontroller returvegen og trafikken du ikkje meinte å unnta
Les reglane og tabellane, og spør deretter kjernen kva rute eit bestemt kjelde- og målpar ville ta. Å teste frå verten sjølv er ikkje det same som å teste utanfrå, så gjer begge delar.
ip rule show
ip route show table 100
ip route get 203.0.113.44 from 192.168.50.2
ss -ltnp '( sport = :443 )'
Godta deretter ei ny ekstern sambinding og, separat, ein førespurnad som framleis må gå ut gjennom VPN-en. Viss den andre no går direkte ut, er unntaket breiare enn problemet du løyste, og testen som betyr noko, er den du ikkje meinte å endre.
Ein sjekk av offentleg adresse i ein nettlesar rapporterer berre førespurnadene den nettlesaren gjorde. Han seier ingenting om svara til webserveren, om kjeldevalet til eit anna lokalt program, eller om kva som skjer med administrasjonstrafikk etter neste VPN-gjenoppkopling.
Avgjer kor smalt unntaket kan vere
To design er forsvarlege, og dei bør veljast med vilje. Viss verten finst for å publisere denne tenesta og den utgåande trafikken er uviktig, er ei dedikert lokal adresse med ein politikk berre for WAN eit rimeleg arrangement føresett at du godtar heile omfanget. Viss berre bestemte innkomande sambindingar skal kvalifisere, er adressevalet for grovt, og eit sambindingsmedvite design høyrer heime framfor det.
Noter kontrakten du støttar deg på: den offentlege mappinga, vertsadressa førespurnaden blir levert til, og vegen svaret er venta å ta. Ei innkomande teneste publisert gjennom ein VPN-leverandør er ein annan kontrakt enn ei som blir publisert gjennom ein heimerutar, og eit unntak kopiert frå eitt døme er ofte feil for det andre.
Vedlikehald politikken i komponenten som eig rutinga i staden for å lime inn ein kommando i ei oppstartsfil. Regelrekkjefølgje, opprydding etter ei nettverksendring og gjenoppspeling etter ein omstart må alle overleve, og ei uopptesta oppstartsfil feilar vanlegvis i det augneblinken du ikkje ser på. Avslutt med akseptresultatet du kan forsvare: eitt publisert nettstad gjenoppretta og éin urelatert straum uendra.