Setja þjónustu á fartölvu á bak við NAT á stigi fjarskiptafyrirtækis, beindu þeirri fartölvu að VPS í gegnum VPN, og enginn utandyra kemst að henni. Þú bætir við NAT-reglu fyrir áfangastað á VPS-inu og færð eitthvað verra en þögn: tengingar opnast og stöðvast svo. Svarið vantar ekki, það fer út um sjálfgefna leið biðlarans sjálfs, sem þýðir að þjónninn sér það aldrei. Farðu í gegnum þessar fimm athuganir í röð og stöðvaðu við þá fyrstu sem stendur ekki.

Staðfestu að þjónninn muni yfirhöfuð senda áfram

Hakaðu í þennan reit áður en þú skrifar eina einustu þýðingu. DNAT-regla fyrir pakka sem kjarninn neitar að senda áfram er samþykkt af reglustýrunni og honum síðan varpað af framsendingarleiðinni, sem framleiðir tímanorn sem lítur út eins og eldveggsvandamál.

sysctl net.ipv4.ip_forward
sysctl -w net.ipv4.ip_forward=1

Að setja það í keyrandi kjarna er ekki það sama og að setja það yfir endurræsingu. Skrifaðu net.ipv4.ip_forward=1 í skrá undir /etc/sysctl.d/, keyrðu sysctl --system og lestu gildið svo aftur í stað þess að treysta því að skráin hafi verið tekin. Gámur sem stjórnar eigin netnafnrými þarf sama gildi inni í því rými, ekki bara á hýsilnum.

Ef lesturinn er enn núll, stöðvaðu hér. Ekkert neðar mun virka.

Festu slóð göngunnar áður en nokkur regla vísar í hana

Laurinn úthlutar slóðum í röð tenginga, svo regla sem skrifuð er fyrir leigu dagsins getur hljóðlega bent á annan biðlara í næstu viku. Bindu slóðina við auðkenni skírteinisins í stað komuröðar.

client-config-dir /etc/openvpn/ccd
ifconfig-push 10.77.0.14 10.77.0.13

Þetta par er biðlaraendi og jafningjaendi punkt-í-punkt göngu, og þjónninn er lyklaður á algengt nafn skírteinisins. Undir undirnetsgerð er seinna gildinu í staðinn lesið sem netgríma, svo skrifaðu formið sem passar við gerðina sem notuð er. Tengdu biðlarann svo aftur og lestu slóðina á biðlaranum sjálfum, því sýn þjónsins á laurinn er ekki sönnun fyrir því sem biðlarinn stillti.

Ef slóðin breytist eftir endurtengingu, stöðvaðu. NAT-regla sem fylgir hreyfanlegu marki mun mistakast með hléum og kenna þér ekkert.

Þýddu í báðar áttir

Þýðing áfangastaðar sendir innkomandi pakka til biðlarans. Þýðing uppruna er það sem lætur biðlarann svara þjóninum í stað upprunalega sendandans, og það er reglan sem fólk sleppir.

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 29443 -j DNAT --to-destination 10.77.0.14:29443
iptables -t nat -A POSTROUTING -d 10.77.0.14 -p tcp --dport 29443 -j SNAT --to-source 10.77.0.13

Án seinni reglunnar svarar biðlarinn um ISP-uppstreng sinn, svo fjarlægi jafninginn sér upprunaslóð sem hann talaði aldrei við, á meðan þjónninn heldur engri rakningarfærslu fyrir svarið. Utanaðkomandi áhorfandi sér handaband sem klárast hálft, og það er einmitt einkennið sem sendir fólk að leita að eldveggsbila sem er ekki til.

Lestu báðar reglurnar aftur með iptables -t nat -S og staðfestu að viðmótsheitið sé það sem ber opinberu slóðina. Á hýsil sem síar þegar með nftables skaltu skrifa þýðinguna í NAT-keðju nftables af samsvarandi slóðafjölskyldu í stað þess að blanda verkfærum.

Leyfðu síutöflunni að fara í gegn

NAT-töflurnar endurskrifa hausa; þær veita ekki leyfi. Með sjálfgefinni DROP-stefnu þarf framsenda flæðið eigið samþykki, auk bakáttar sem flestar stefnur þekja þegar með established,related reglu.

iptables -A FORWARD -i eth0 -o tun0 -p tcp --dport 29443 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

Athugaðu stefnu FORWARD-keðjunnar áður en þú bætir einhverju við, því röð snemma DROP ræður því hvort reglan þín verður nokkuð spurð. Á hýsil þar sem síunin býr í nftables skaltu bæta samsvarandi reglu við forward krókinn í inet töflunni og staðfesta að grunnkeðjan sjái raunverulega framsenda umferð en ekki bara staðbundið inntak. Ef pakkatalning á nýju reglunni helst í núlli á meðan NAT-teljararnir hækka, er pakkanum varpað fyrir regluna þína. Það er merkið um að lesa röð keðjanna, ekki að bæta við annarri eintöku af sömu reglu.

Sannaðu það frá utanaðkomandi neti

Prófaðu frá ótengdu neti. Prófun frá annarri vél á sama LAN getur farið í gegnum hairpin NAT stuðning og æfir aldrei leiðina sem fjarlægur biðlari notar, svo græn niðurstaða þar sannar rangt.

tcpdump -ni any port 29443
conntrack -L | grep 29443

Keyrðu fyrirtektina á þjóninum og á biðlaranum samtímis. Fyrirtektin á þjóninum sýnir hvort þýddi pakkinn fari út í átt að göngunni; fyrirtektin á biðlaranum sýnir hvort beiðnin berist og hvert svarið er beint. Þýðingarfærsla í conntrack -L sannar að reglan hafi passað, og fjarvera hennar sannar að pakkinn hafi aldrei náð NAT-keðjunni.

Portskannar eru veik sönnun. Þeir tilkynna portið lokað þar til forritið er bundið og hlustar, svo notaðu raunverulega tengingu við raunverulega þjónustu. Þegar það virkar loks skaltu halda útsetningunni við þetta eina port: að framsenda SSH eða stjórnborð vegna þess að fyrsta reglan fannst klaufaleg er miklu stærri ákvörðun en að birta þjónustu.

Tengdir greinar