iptables: utzi VPN bezeroei ostalari bakarrera iristen
Behar duzun araua FORWARD-en dago, ez INPUT-en. Onartu helmuga bat VPN taldearentzat, ukatu gainerakoa, eta gero frogatu kontagailuekin eta atzeraeragiteko agindu batekin.
Erlaziorik ez dutela diruditen bi laguntza-txostenek kausa bakarra partekatzen dute azkenean. Lehenengoan, administratzaile batek zerbitzariak tunelaren bidez soilik onar ditzan nahi du; bigarrenean, VPN erabiltzaileek barneko ostalari bakar batera iritsi beharko lukete eta ez gehiagora. Bi politikak FORWARDi dagozkio, eta biak INPUTen saiatu ohi dira. Emaitzak suebaki bat dirudi eta leku-marka baten gisa jokatzen du.
Zein katek erantzuten dio zure galderari
VPN bezero batek LANeko ostalari bati edo internet aldera bidaltzen dituen paketeak kernelak birbidaltzen ditu eta FORWARDen ebaluatzen dira. INPUTek eta OUTPUTek zerbitzarian bertan amaitzen den edo handik sortzen den trafikoa besterik ez dute ikusten. Beraz, tun0tik iristen ez dena ukatzeak zerbitzariaren entzule propioak babesten ditu, eta zure SSH saioa ere amaituko du, ezarritako fluxuak lehenengo onartzen ez badira. Ez du ezer aldatzen bezeroek nora joan daitezkeen.
Lehenik izendatu galdera: nork har dezakeen zerbitzaria, edo nora joan daitezkeen bezeroak. Sare gehienek bi erantzunak behar dituzte, kate desberdinetan.
Lehenik egoera, gero baimena, gero ukoa
Onarpen-zerrenda batek soilik funtzionatzen du baimen zehatza uko orokorraren gainean badago, eta itzulera-trafikoa bien gainetik onartzen bada. Txertatu arauak posizio esplizituetan, eta gero inprimatu katea iptables -S FORWARD erabiliz, ordena ikusgai izan dadin, suposatu beharrean.
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 REJECTBi xehetasunek erabakitzen dute honek trafiko errealarekiko kontaktuan iraungo duen. Egoera-araua gabe, orain onartu dituzun konexioen erantzunak ukoaren aurka ebaluatzen dira eta baztertu egiten dira. Mugarik gabeko LOG arau batek partizio txiki bat agortu dezake eskaneatze batek lehen aldiz jotzen duenean, beraz, gehitu -m limit --limit 10/min erregistratzen jarraitu aurretik. REJECTek berehala itzultzen du errore bat, zerrenda doitzen ari zaren bitartean atseginagoa dena; DROPek isilpean baztertzen du, beraz, errore bakoitza denbora-muga gisa agertzen da. Aukeratu bat nahita eta idatzi aukera aldaketaren erregistroan.
Birbidalketak eta NATek dagoeneko funtzionatu behar dute
Iragazketak ezin du frogatu bide bat existitzen denik. Egiaztatu lehenik kernelak batere birbidaltzen duen, eta egin ezarpen hori iraunkor, shell agindu bakarrekoaren ordez. Iragazkia azken geruza da, ez lehena.
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -s "$POOL" -o eth0 -j MASQUERADEMasqueradea non kokatzen den bezeroak nondik irteten diren araberakoa da. Tunelaren bidez urruneko sare batera irteten badira, NAT araua interfaze horretan jartzen da, ez WAN interfazean. Gero begiratu kontagailuei: POSTROUTING kontagailua inoiz mugitzen ez bada FORWARDeko onarpen kopurua igotzen den bitartean, itzulera-bidea hondatuta dago eta iragazkia ondo dago. Irakurketa horrek arratsalde oso bat aurreztu ohi du sekula arazoa izan ez ziren arauak berridazten.
Posta-blokea kate bat gorago dago
INPUTen 25 portua blokeatzeak VPN zerbitzarira bidalitako posta besterik ez du gelditzen. Tunelaren bidez posta bidaltzen duen bezero konprometitua birbidaltzen da, beraz, blokea FORWARDen egon behar da, 465 eta 587ren ondoan. Aplikazio batek posta legez errepikatzen badu, jarri bere helmuga eta portua arau horren gainean.
iptables -I FORWARD 2 -s "$POOL" -p tcp -m multiport --dports 25,465,587 -j REJECTUtzi uko-kontagailuari aste bat funtzionatzen beste ezer estutu aurretik. Igotzeari uzten dion zenbakia orain eten duen fluxu legitimoa da.
Irakurri berriro, eta gero frogatu bezero batetik
Irakurri arau-multzoa kernelak ematen duen moduan, ez zure scriptak idatzi zuen moduan. Hasi iptables -S FORWARD komandorekin, gero NAT taula iptables -t nat -L POSTROUTING -n -v komandorekin, gero probatzen ari zaren fluxuaren conntrack sarrera. Mantendu atzeraeragiteko agindu bat edo programatutako garbiketa bat, lana irauten duen bitartean. Inbokazio bakoitzak -w behar du, bestela bi administratzaile xtables-en blokeoan talka egingo dute. Horietako bat ere ez da hautazkoa aldaketa-leiho batean.
Amaitu taldeko bezero batetik eta kanpoko beste batetik probatzen. Makina bertan idatzi zenuen lekutik soilik funtzionatzen duen araua ez da politika bat.