Bakit hindi pinoprotektahan ng home NAT ang iyong VPN interface
Ipinapasa ng home router ang tunnel, ngunit ang host ang humahatol sa na-decrypt na packet. Basahin nang hiwalay ang listener, ang panloob na landas at ang patakaran sa pagpasok.
Tumatanggap pa rin ng mga SSH connection na dumarating sa VPN ang mga laptop sa likod ng home router na walang port forwarding. Hindi ito kontradiksyon, dahil dalawang magkaibang device ang humahatol sa dalawang magkaibang packet. Ipinapasa ng router ang naka-encrypt na transport, at ang host ang nagpapasya kung ano ang gagawin sa na-decrypt na packet na dumarating sa interface ng tunnel nito. Ang paghihiwalay ng dalawang pasyang iyon ang buong ehersisyo.
Ipinapasa ng router ang tunnel, hinahatulan ng host ang packet
Iguhit ang landas mula sa malayong pinagmulan hanggang sa serbisyo bago tumingin sa kahit isang patakaran. Ang panlabas na bahagi ay ang VPN transport, na pinangangasiwaan ng router at gateway. Nagsisimula ang panloob na bahagi kapag tinanggal ng endpoint ang tunnel layer at nakatanggap ang host ng packet na naka-address sa VPN address nito.
Pagsamahin ang dalawang bahaging iyon at nakakakuha ang router ng kredito para sa pasyang ginagawa ng host. Ang pahina ng port forwarding o log ng router ay naglalarawan lamang ng mga panlabas na usapan, at wala sa kanila ang nagsasabi kung aling na-decrypt na trapiko ang tatanggapin ng host. Inilalapat ng host ang sarili nitong patakaran sa pagpasok sa panloob na packet, tulad ng sa anumang packet na dumarating sa isang interface. Sa patakarang iyon talaga nareresolba ang usapin ng pagkakalantad.
Ang wildcard listener ay hindi pampublikong serbisyo
Sa Linux, ang pagbigkis sa INADDR_ANY ay nangangahulugan ng bawat lokal na address, kaya makakasagot ang isang serbisyo sa isang tunnel interface na hindi nito pinangalanan. Inilalarawan ng sanggunian sa IP socket ang pagbigkis na iyon, at sulit itong basahin bago maghinuha mula sa listahan ng listener. Ang wildcard entry ay katotohanan tungkol sa socket, hindi pahayag tungkol sa maabot.
Ang dalawang linya sa ibaba ay ang parehong serbisyo sa dalawang magkaibang pagbigkis, at ang pagkakaiba ang buong sagot sa kung mahalaga ang interface. Basahin kung aling address nakaupo ang socket bago ang anupaman.
ss -lntp "sport = :22"
LISTEN 0 4096 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=812,fd=3))
LISTEN 0 4096 10.8.0.6:22 0.0.0.0:* users:(("sshd",pid=812,fd=4))
Pangalanan ang kaayusang makakaabot sa port
Tatlong kaayusan ang naglalagay ng packet sa interface na iyon, at may magkaibang may-ari ang mga ito. Ang pagpangalan sa tamang isa ang nagpapasya kung sino ang kailangang magpalit ng patakaran.
| Arrangement | What reaches the port | Where the decision lives |
|---|---|---|
| Another permitted VPN peer | A packet from the same tunnel subnet | Gateway forwarding policy and host input rules |
| A deliberate public forward | Traffic the gateway publishes on purpose | Gateway service definition |
| A subnet routed behind the gateway | Client traffic from the far side | Gateway route and host input rules |
Ang resulta ng browser na nagpapakita ng pampublikong exit address ay walang sinasabi tungkol sa alinman sa tatlo, dahil inilalarawan nito kung paano lumalabas ang papalabas na trapiko at hindi kung ano ang pinapayagan sa papalapit na trapiko. Gumawa nang paurong mula sa listener at sa source address sa log ng serbisyo. Kung ang pinagmulan ay isa pang tunnel peer, ang patakaran ng gateway ang kawili-wiling dokumento. Kung ito ay isinaling address, hanapin ang salin bago magpalit ng patakaran.
Limitahan ang serbisyo sa landas na nilayon mo
Kung kailangan lamang ng SSH mula sa isang landas ng pamamahala, isulat ang landas na iyon bilang source range at isang interface. Pagkatapos ay limitahan ang mga patakaran sa pagpasok ng host ayon sa interface, destinasyon at pinagmulan sa halip na ayon sa pangalan ng network, dahil ang pangalang mukhang pribado ay maaaring kumatawan sa anumang address. Mag-iwan ng ruta para sa taong aayos ng susunod na problema.
nft add rule inet filter input iifname "tun0" ip saddr 10.8.0.0/24 tcp dport 22 accept
nft list chain inet filter input
Ang patakarang nagpapangalan sa tunnel interface at sa saklaw ng pamamahala ay nagsasaad ng layunin sa isang lugar. Ihambing ito sa patakarang isinulat para sa Wi-Fi network, na walang sinasabi tungkol sa na-decrypt na trapiko ng tunnel. Kapag hindi nagkasundo ang dalawang layer, ang patakaran ng host ang nakakaharap ng packet.
Iwanan ang mga login at patch kung nasaan mismo ang mga ito; ang maabot ang isang port ay hindi kailanman kapareho ng pinapayagang gamitin ito. Itala ang pamilya ng address at oras para sa anumang hindi pamilyar na pinagmulan, at mag-imbestiga bago magbintang sa isang feature o kahinaan. Ang patakarang tumatanggap sa bawat tunnel peer ay ibang disenyo kaysa sa tumatanggap sa isang subnet ng pamamahala, at walang linya ng log ang magsasabi kung alin ang nilayon.
Tanggapin ang pagwawasto sa isang tagumpay at isang pagtanggi
Patunayan ang dalawang hati: nagtagumpay ang isang aprubadong koneksyon at tinatanggihan ang isang ibinukod na landas. Ang pagtanggi ang hating nilalaktawan ng mga tao, at ito ang nagpapakita na gumagana ang patakaran sa halip na nakatayo sa tabi ng mapagpayag na default. Subukan mula sa ibinukod na panig sa halip na mangatwiran tungkol dito.
Ulitin ang pares pagkatapos ng muling pagkonekta, dahil ang tunnel na bumabalik na may ibang pangalan ng interface ay maaaring tahimik na lumampas sa patakarang nakasaklaw sa luma. Ang hangganang mahalaga ay ang inilalapat ng host sa mga packet na aktwal nitong natatanggap.