Wieħed host pubbliku għall-VPN u l-web: kif tqassam ir-rwoli
IP pubbliku wieħed jista' jtemm it-tunnels, iservi HTTPS u jilħaq żewġ LAN privati. Iddeċiedi l-ewwel min għandu l-indirizz, kull port u l-politika tal-ġbir.
Magna waħda tista' tissodisfa t-tliet ħtiġijiet kollha f'daqqa: ittemm it-tunnels, twieġeb HTTPS u tilqa' bejn żewġ LAN privati. Jekk dan huwiex sensat jiddependi fuq tliet affarijiet li tista' tiddeċiedi fuq il-karta: min għandu l-indirizz pubbliku, min għandu kull par ta' port u protokoll, u liema proċess huwa permess jibgħat il-pakketti. Jekk dawn ikunu sewwa, il-host maqsum mhuwiex xi ħaġa speċjali. Jekk ikunu ħażin, se tqatta' tmiem il-ġimgħa fuq servizz li jibda nadif u qatt ma jwieġeb.
Dak li ġej huwa proċedura ta' deċiżjoni, mhux karta tal-bini. Kull pass jispiċċa bil-verifika li turi li r-rwol li għadek kif żidt huwa verament iżolat.
Agħżel is-sid tal-indirizz qabel il-ports
Punt tat-tmiem tat-tunnel u server tal-web jistgħu jaqsmu kernel; li taqsam indirizz, port u protokoll wieħed fl-istess ħin huwa dak li jfalli. WireGuard normalment jieħu UDP 51820, OpenVPN jieħu UDP 1194 jew TCP 443, u server tal-web jieħu TCP 443. Il-par li jweġġa' huwa OpenVPN fuq TCP 443 ħdejn HTTPS, għax it-tnejn iridu l-istess socket u l-kernel jagħtiha lil min qabbad l-ewwel. Biss demultiplexer quddiem, bħal sslh jew proxy li jifhem it-TLS, iħallihom jaqsmu dak il-port, u jżid komponent li l-falliment tiegħu jidher eżattament bħal problema tal-firewall.
Ħares lejn is-sidien qabel tibdel xejn: ss -lntup jistampa l-indirizz lokali, il-port u l-proċess ta' kull socket li qed jisma'. Żewġ ringieli li juru 0.0.0.0:443 ifissru li t-tieni servizz qatt ma qabbad, kemm kemm kien ferħan l-iskript init tiegħu. Il-pont iċaqlaq ukoll is-sid. Meta eth0 jingħaqad ma' br0, l-IP tmur għal br0 u kull regola tal-firewall li ssemmi eth0 tieqaf taqbel, għalhekk qabbad is-servizzi fuq il-pont u kkonferma b' ip -br addr.
L-istess regola tas-sjieda tispjega sorpriża li tidher mal-magni virtwali. Server tat-tunnel li jgħaddi ġewwa mistieden fuq l-istess LAN iżomm l-indirizz tal-mistieden, għalhekk il-konnessjonijiet diretti lejn l-indirizz tal-host stess jibqgħu fuq il-host u t-tunnel tal-mistieden qatt ma jarahom, x'jgħid il-profil tal-klijent.
Ittriq bejn iż-żewġ LAN jew NAT naħa waħda
Żewġ LAN li ma jarawx lil xulxin jistgħu kull wieħed iċempel lill-host pubbliku, li mbagħad jibgħat bejn it-tunnels. Dan id-disinn ittriqat jeħtieġ tliet affarijiet: ġbir mixgħul, rotta lejn kull prefiss imbiegħed u politika tal-ġbir li tħalli t-transitu jgħaddi. sysctl -w net.ipv4.ip_forward=1 tkopri l-ewwel, ip route add 10.20.0.0/24 dev wg1 it-tieni, u linja nftables bħal nft add rule inet filter forward iifname "wg0" oifname "wg1" accept it-tielet.
In-NAT tas-sors huwa eħfef biex iżżidu u aktar iebes biex tiddibbuġġjah. Il-maskerar jerġa' jikteb l-indirizz tal-klijent, għalhekk in-naħa l-bogħoda tara l-hub minflok il-host veru, u r-regoli tal-aċċess u l-logs tiegħu ma jibqgħux utli għall-attribuzzjoni. Meta ż-żewġ netwerks huma tiegħek, ittriq. Meta naħa waħda hija ta' terz li mhux se jżid rotta tar-ritorn, in-NAT hija l-għażla li titlaq din il-ġimgħa. Fi kwalunkwe każ, ikteb il-pjan tal-indirizzi, għax żewġ /24 li jikkoinċidu ma jistgħux jiġu ttrijati b'ebda konfigurazzjoni.
Xejn fil-fatt li l-kaxxa sservi bħala ħruġ tal-internet għal laptop ma jżomm lill-istess kaxxa milli ttemm tunnels deħlin. Huma biss l-indirizzi li jikkoinċidu li jżommu, u għalhekk il-pjan tal-indirizzi huwa d-dokument li jimpurtah.
Ittestja l-qsim waqt li żewġ rwoli huma waqfin
It-test utli huwa t-tnaqqis: waqqaf żewġ rwoli u kkonferma li t-tielet għadu jwieġeb. Talba tal-web għandha titlesta b'servizz tat-tunnel mitfi, u handshake tat-tunnel għandu jitlesta b'server tal-web waqaf. Jekk it-tnejn jaħdmu biss meta kollox qed jaħdem, għandek dipendenza aċċidentali, bħal tabella tal-firewall maqsuma, rotta mitlufa jew isem li jindika l-indirizz ħażin.
Tliet kmandi jagħmlu dan it-test konkret. curl -sk --resolve example.test:443:203.0.113.10 https://example.test/ jipprova li s-semmiegħ lokali jwieġeb mingħajr DNS estern, wg show fuq il-klijent jipprova li l-handshake tlesta, u tcpdump -ni any port 51820 fuq il-hub jifred problema tat-titjir mid-problema taċ-ċavetta. Handshake li qatt ma jidher fil-qabda miet qabel il-host: firewall tal-fornitur, indirizz pubbliku ħażin jew regola NAT fit-triq.
Irrepeti t-tnaqqis għall-LAN li jintbagħtu. B'peer wieħed skonnettjat, ping minn naħa għall-oħra tal-hub għandu jfalli; meta jerġa' jkun konness, il-ping għandu jirkupra mingħajr ma jmiss regola. Ping li jirkupra biss wara li jerġa' jinbeda t-tunnel jindika l-politika u mhux il-kisba, u dik hija tiswija differenti.
Żomm is-sett tar-regoli jinqara waqt li tnaqqas ir-rwoli. nft list ruleset għandha turi regola ta' aċċettazzjoni waħda għal kull direzzjoni li tassew għandek bżonn, u katina tal-ġbir li taċċetta kollox mhijiex separazzjoni, hija demo li taħdem.
Linji ta' aċċess biss IPv6 u servizzi IPv4
Xi linji ta' aċċess jagħtu biss kisba IPv6, u s-servizzi xorta jridu jiġu ppubblikati fuq IPv4. It-tunnel innifsu jivvjaġġa fuq il-familja li għadha tgħaddi t-traffiku, filwaqt li s-servizz ippubblikat joqgħod fuq indirizz ġewwa t-tunnel. Dan jaqleb is-suppożizzjoni tas-soltu u jkisser il-monitoraġġ bil-kwiet: regola tal-firewall jew verifika tal-uptime miktuba għall-passaġġ IPv4 issa tħares lejn interface li ma ġġorr xejn.
Ittestja kull familja waħedha b' curl -4 u curl -6, għax talba waħda li tirnexxi ma tgħid xejn dwar il-passaġġ li ma ppruvajtx. Is-sjieda tal-port ma tinbidilx bejn il-familji, imma s-semmiegħ jinbidel: ss -lntup jelenka s-sockets IPv4 u IPv6 f'ringieli separati, u 0.0.0.0:443 ma jkoprix [::]:443 sakemm il-proċess ma talabx socket dual-stack.
Servizz li jwieġeb fuq familja waħda u jirrifjuta fuq l-oħra normalment hija problema tas-semmiegħ, mhux tat-titjir. Qabel ma tiddikjara d-disinn lest, ikkonferma li kull rwol għandu l-indirizz jew il-port tiegħu stess, li l-ġbir huwa mixgħul u permess, u li kull rwol għadu jwieġeb b'żewġ oħra waqfin.