Ippubblika port tal-klijent VPN minn wara CGNAT: lista ta’ kontroll
Regola NAT tad-destinazzjoni waħedha tagħti konnessjonijiet nofshom miftuħin. Iffissa l-indirizz tat-tunnel, ittraduċi fiż-żewġ direzzjonijiet u kkonferma t-triq tar-risposta qabel ma tittestja.
Qiegħed servizz fuq laptop wara NAT tal-livell tal-operatur, indirizza dak il-laptop lejn VPS permezz ta’ VPN, u ħadd minn barra ma jista’ jasal għalih. Żżid regola NAT tad-destinazzjoni fuq il-VPS u tikseb xi ħaġa agħar mis-skiet: il-konnessjonijiet jiftħu, imbagħad jieqfu. Ir-risposta mhijiex nieqsa, qed toħroġ mit-triq default tal-klijent stess, li jfisser li s-server qatt ma jaraha. Agħmel dawn il-ħames kontrolli fl-ordni u waqaf fl-ewwel waħda li ma tinżammx.
Ikkonferma li s-server se jgħaddi xi ħaġa
Immarka din il-kaxxa qabel ma tikteb anki traduzzjoni waħda. Regola DNAT għal pakkett li l-qalba tirrifjuta li tgħaddi tiġi aċċettata mill-parser tar-regoli u mbagħad tintrema mit-triq tal-għaddi, li tipproduċi timeout li jidher bħala problema tal-firewall.
sysctl net.ipv4.ip_forward
sysctl -w net.ipv4.ip_forward=1
L-issettjar tiegħu f'qalba li qed taħdem mhuwiex l-istess bħall-issettjar tul reboot. Ikteb net.ipv4.ip_forward=1 f'fajl taħt /etc/sysctl.d/, ħaddem sysctl --system, u mbagħad aqra l-valur lura minflok tafda li l-fajl inqabad. Kontenitur li jmexxi l-ispazju tal-ismijiet tan-netwerk tiegħu stess jeħtieġ l-istess valur ġewwa dak l-ispazju, mhux biss fuq il-host.
Jekk il-qari lura għadu żero, waqaf hawn. Xejn aktar 'l isfel mhu se jaħdem.
Iffissa l-indirizz tat-tunnel qabel ma tirreferi għalih xi regola
Il-pool iqassam l-indirizzi fl-ordni tal-konnessjoni, għalhekk regola miktuba għall-kiri tal-lum tista’ tipponta bil-kwiet lejn klijent ieħor il-ġimgħa d-dieħla. Orbot l-indirizz mal-identità taċ-ċertifikat minflok mal-ordni tal-wasla.
client-config-dir /etc/openvpn/ccd
ifconfig-push 10.77.0.14 10.77.0.13
Dak il-par huwa t-tarf tal-klijent u t-tarf tal-pari ta’ tunnel punt sa punt, bis-server imqabbad mal-isem komuni taċ-ċertifikat. F'topoloġija ta’ subnet it-tieni valur jinqara bħala netmask minflok, għalhekk ikteb il-forma li taqbel mat-topoloġija li qed tintuża. Imbagħad erġa’ qabbad il-klijent u aqra l-indirizz fuq il-klijent stess, għax il-veduta tas-server tal-pool mhijiex prova ta’ dak li kkonfigura l-klijent.
Jekk l-indirizz jinbidel wara qbil mill-ġdid, waqaf. Regola NAT li ssegwi mira li tiċċaqlaq se tfalli b'mod intermittenti u ma tgħallmek xejn.
Ittraduċi fiż-żewġ direzzjonijiet
It-traduzzjoni tad-destinazzjoni tibgħat il-pakett li dieħel lill-klijent. It-traduzzjoni tas-sors hija dik li tagħmel il-klijent iwieġeb lis-server minflok lill-mittent oriġinali, u dik hija r-regola li n-nies iħallu barra.
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
Mingħajr it-tieni regola l-klijent iwieġeb permezz tal-link ISP tiegħu, għalhekk il-pari remot jara indirizz tas-sors li qatt ma tkellem miegħu, waqt li s-server ma jżommx entrata ta’ traċċar għar-risposta. L-osservatur ta’ barra jara handshake li jitlesta nofshu, u dan huwa eżattament is-sintomu li jibgħat lin-nies ifittxu bug tal-firewall li ma jeżistix.
Aqra r-regoli t-tnejn lura b'iptables -t nat -S u kkonferma li l-isem tal-interface huwa dak li jġorr l-indirizz pubbliku. Fuq host li diġà jiffiltra b'nftables, ikteb it-traduzzjoni f'katina NAT ta’ nftables tal-familja tal-indirizzi li taqbel minflok tħallat l-għodod.
Ħalli t-tabella tal-filtru tgħaddi
It-tabelli NAT jerġgħu jiktbu l-intestaturi; ma jagħtux permess. B'politika DROP default il-fluss li jgħaddi jeħtieġ l-aċċettazzjoni tiegħu stess, flimkien mad-direzzjoni tar-ritorn li ħafna mill-politiki diġà jkopru b'regola established,related.
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
Iċċekkja l-politika tal-katina FORWARD qabel ma żżid xejn, għax l-ordni ta’ DROP bikrija tiddeċiedi jekk ir-regola tiegħek tiġix ikkonsultata. Fuq host li l-filtraġġ tiegħu jgħix f'nftables, żid ir-regola ekwivalenti mal-hook forward tat-tabella inet u kkonferma li l-katina bażi tassew tara traffiku li jgħaddi u mhux biss input lokali. Jekk counter tal-pakketti fuq ir-regola l-ġdida jibqa’ żero waqt li l-counters NAT jogħlew, il-pakkett qed jintrema qabel ir-regola tiegħek. Dak huwa s-sinjal biex taqra l-ordni tal-ktajjen, mhux biex iżżid it-tieni kopja tal-istess regola.
Ipprovah minn netwerk ta’ barra
Ittestja minn netwerk mhux relatat. Sonda minn magna oħra fl-istess LAN tista’ tgħaddi mill-appoġġ tan-NAT hairpin u qatt ma teżerċita t-triq li juża klijent remot, għalhekk riżultat aħdar hemmhekk jipprova l-ħaġa ħażina.
tcpdump -ni any port 29443
conntrack -L | grep 29443
Ħaddem il-qbid fuq is-server u fuq il-klijent fl-istess ħin. Il-qbid tas-server juri jekk il-pakkett tradott joħroġx lejn it-tunnel; il-qbid tal-klijent juri jekk it-talba tasalx u fejn hija indirizzata r-risposta. Entrata ta’ traduzzjoni f'conntrack -L tipprova li r-regola qabdet, u n-nuqqas tagħha jipprova li l-pakkett qatt ma wasal għall-katina NAT.
L-iskaners tal-port huma prova dgħajfa. Huma jirrappurtaw il-port bħala magħluq sakemm l-applikazzjoni tkun marbuta u tisma’, għalhekk uża konnessjoni vera mas-servizz veru. Meta fl-aħħar jaħdem, żomm l-espożizzjoni fuq dak il-port wieħed: li tgħaddi SSH jew panel tal-amministrazzjoni għax l-ewwel regola dehrilha skomda huwa deċiżjoni ferm akbar milli tippubblika servizz.