iptables: láta VPN-biðlara ná aðeins einni vél
Reglan sem þú þarft er í FORWARD, ekki í INPUT. Leyfðu eitt áfangastað fyrir VPN-hópinn, hafnaðu restinni og sýndu það svo með teljurum og afturköllunarskipun.
Tvö stuðningsmál sem virðast ótengd eiga sér í raun sama orsök. Í því fyrra vill stjórnandi að þjónninn taki aðeins við tengingum úr göngunni; í því síðara eiga VPN-notendur að ná einni innri vél og engu öðru. Báðar stefnur tilheyra FORWARD og báðar eru yfirleitt reyndar í INPUT. Niðurstaðan lítur út eins og eldveggur og hegðar sér eins og staðgengill.
Hvaða keðja svarar spurningunni þinni
Pökkum sem VPN-biðlari sendir á vél í LAN, eða áfram á internetið, er vísað áfram af kjarnanum og þau metin í FORWARD. INPUT og OUTPUT sjá aðeins umferð sem endar á þjóninum sjálfum eða á uppruna sinn þar. Þess vegna verndar höfnun á öllu sem kemur ekki á tun0 eigin hlustendur þjónsins, og hún mun einnig enda SSH-setuna þína nema búið sé að leyfa tilteknar streymislínur fyrst. Það breytir engu um hvert biðlarar mega fara.
Nefndu spurninguna fyrst: hver má ná til þjónsins, eða hvert mega biðlarar fara. Flest net þurfa bæði svörin, í mismunandi keðjum.
Fyrst staðan, svo heimildin, svo höfnunin
Leyfislisti virkar aðeins ef tiltekna heimildin stendur ofan við almenna höfnun og ef afturumferð er leyfð ofan við báðar. Setjið reglur inn á skýrar staðsetningar og prentið svo keðjuna með iptables -S FORWARD svo röðin sé sýnileg en ekki gefin sér.
POOL=10.99.0.0/24
iptables -I FORWARD 1 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -I FORWARD 2 -s "$POOL" -d 172.31.20.15 -p tcp -m multiport --dports 443,3389 -j ACCEPT
iptables -I FORWARD 3 -s "$POOL" -j REJECTTveir þættir ráða því hvort þetta standist kynni við raunverulega umferð. Án stöðureglunnar eru svör við tengingunum sem þú leyfðir rétt í þessu sjálf metin gegn höfnuninni og hent. Ótakmörkuð LOG-regla getur fyllt litla skiptingu þegar skönnun lendir á henni í fyrsta sinn, svo bættu -m limit --limit 10/min við áður en þú heldur áfram að skrá. REJECT skilar villu strax, sem er vingjarnlegra meðan þú stillir listann; DROP hendir hljóðlega, svo hver mistök birtast sem tími sem rann út. Veldu eitt af ásetningi og skrifaðu valið í breytingaskrána.
Framsending og NAT verða þegar að virka
Síun getur ekki sannað að leið sé til. Staðfestu fyrst að kjarninn sendi áfram yfirleitt, og gerðu þá stillingu varanlega í stað einnota skipunar í skelinni. Síið er síðasta lagið, ekki það fyrsta.
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -s "$POOL" -o eth0 -j MASQUERADEHvar grímuklæðningin á heima fer eftir því hvaðan biðlararnir fara út. Ef þeir fara út um gönguna í átt að fjarlægu neti fer NAT-reglan á það viðmót en ekki WAN-viðmótið. Fylgstu svo með teljunum: ef POSTROUTING-teljarinn hreyfist aldrei á meðan fjöldi samþykkja í FORWARD hækkar er afturleiðin brotin og síið í lagi. Þessi lestur sparar síðdegi við að endurskrifa reglur sem voru aldrei vandamálið.
Póstblokkin tilheyrir einni keðju lengra fram
Að loka á gátt 25 í INPUT stöðvar aðeins póst sem er stílaður á VPN-þjóninn. Biðlari sem hefur verið brotinn og sendir póst í gegnum gönguna er sendur áfram, svo blokkin verður að sitja í FORWARD við hlið 465 og 587. Ef eitt forrit endursendir póst lögmætlega skaltu setja áfangastað þess og gátt fyrir ofan þá reglu.
iptables -I FORWARD 2 -s "$POOL" -p tcp -m multiport --dports 25,465,587 -j REJECTLáttu höfnunarteljarann ganga í eina viku áður en þú herðir eitthvað annað. Talan sem hættir að klifra er lögmæta straumið sem þú braust rétt í þessu.
Lestu það aftur og sannaðu það svo frá biðlara
Lestu reglusettið eins og kjarninn greinir frá því, ekki eins og skriftan þín skrifaði það. Byrjaðu á iptables -S FORWARD, svo NAT-töflunni með iptables -t nat -L POSTROUTING -n -v, svo conntrack-færslunni fyrir straumið sem þú ert að prófa. Hafðu afturköllunarskipun eða tímasetta hreinsun tiltæka svo lengi sem verkið stendur. Hvert kall þarf -w, annars rekast tveir stjórnendur á xtables-lásinn. Ekkert af þessu er valfrjálst í breytingaglugga.
Ljúktu með því að prófa frá biðlara innan hópsins og frá einum utan hans. Regla sem virkar aðeins frá vélinni sem þú slóst hana inn á er ekki stefna.