Mai watsa shiri ɗaya na jama'a don VPN da yanar gizo: yadda ake raba matsayi
IP ɗaya na jama'a na iya ƙarewa da tunnels, ba da HTTPS da isa ga LAN biyu masu zaman kansu. Fara yanke shawara wanda ya mallaki adireshin, kowane port da manufar tura.
Na'ura ɗaya na iya biyan buƙatu uku a lokaci ɗaya: ƙare tunnels, amsa HTTPS da tura tsakanin LAN biyu masu zaman kansu. Ko hakan yana da hankali ya dogara da abubuwa uku da za ka iya daidaita a takarda: wanda ya mallaki adireshin jama'a, wanda ya mallaki kowane haɗin port da protocol, da wace tsari aka ba izinin tura fakiti. Idan ka daidaita waɗannan, mai watsa shiri na tarayya ba wani abu ne na ban mamaki. Idan ka yi kuskure, za ka yi ƙarshen mako a kan sabis da ke farawa da tsabta kuma ba ya amsawa ko da yaushe.
Abin da ke biyo baya hanya ce ta yanke shawara, ba takardar gini ba. Kowane mataki ya ƙare da gwajin da ke tabbatar da matsayin da ka ƙara yana keɓe da gaske.
Zaɓi mai adireshin kafin ports
Ƙarshen tunnel da sabar yanar gizo na iya raba kernel; raba adireshi, port da protocol ɗaya a lokaci ɗaya shine abin da ke kasawa. WireGuard yawanci yana ɗaukar UDP 51820, OpenVPN yana ɗaukar UDP 1194 ko TCP 443, kuma sabar yanar gizo tana ɗaukar TCP 443. Haɗin da ke ciwo shine OpenVPN akan TCP 443 kusa da HTTPS, domin dukansu suna son socket ɗaya kuma kernel yana ba wanda ya fara ɗaure. Sai demultiplexer a gaba, kamar sslh ko proxy da ya san TLS, ke barin su raba wannan port, kuma yana ƙara sashi wanda gazawarsa ke kama da matsalar firewall daidai.
Duba masu adireshin kafin ka canza komai: ss -lntup yana buga adireshin gida, port da tsari na kowane socket da ke saurare. Layi biyu da ke nuna 0.0.0.0:443 suna nufin sabis na biyu bai taɓa ɗaure ba, komai farin cikin da script ɗin init ɗinsa ya kasance. Haɗa gada yana motsa mai adireshin kuma. Lokacin da eth0 ya haɗu da br0, IP yana matsawa zuwa br0 kuma kowace ƙa'idar firewall da ke ambaton eth0 ta daina daidaitawa, don haka ɗaure sabis a kan gadar ka tabbatar da ip -br addr.
Irin wannan ƙa'idar mallaka tana bayyana wani abin mamaki da ke bayyana tare da injinan kama-da-wane. Sabar tunnel da ke gudana cikin baƙo a kan LAN ɗaya tana riƙe adireshin baƙon, don haka haɗin da aka nufa ga adireshin mai watsa shiri da kansa yana tsayawa a kan mai watsa shiri kuma tunnel ɗin baƙon ba ya ganin su ko da yaushe, komai abin da bayanin abokin ciniki ya ce.
Yi routing tsakanin LAN biyu ko NAT gefe ɗaya
LAN biyu da ba sa ganin juna kowanne na iya buga wa mai watsa shiri na jama'a, wanda sannan yake turawa tsakanin tunnels. Wannan ƙirar routing tana buƙatar abubuwa uku: kunna tura, hanya zuwa kowane prefix na nesa da manufar tura da ke barin wucewar. sysctl -w net.ipv4.ip_forward=1 ya rufe na farko, ip route add 10.20.0.0/24 dev wg1 na biyu, kuma layin nftables kamar nft add rule inet filter forward iifname "wg0" oifname "wg1" accept na uku.
NAT na tushe ya fi sauƙin ƙarawa kuma ya fi wahalar gyara. Masquerading yana sake rubuta adireshin abokin ciniki, don haka gefen nesa yana ganin hub maimakon ainihin mai watsa shiri, kuma ƙa'idodin shigarsa da log ɗinsa sun daina amfani don gano mai laifi. Lokacin da cibiyoyin biyu naka ne, yi routing. Lokacin da gefe ɗaya na wani ɓangare na uku ne wanda ba zai ƙara hanyar dawowa ba, NAT shine zaɓin da zai fita wannan makon. Ko ta yaya, rubuta shirin adireshi, domin /24 biyu masu haɗuwa babu wani tsari da zai iya yin routing ɗinsu.
Babu wani abu game da zama hanyar fita ta intanet ga kwamfutar tafi-da-gidanka da zai hana wannan akwatin ƙarewar tunnels masu shigowa. Adireshi masu haɗuwa ne kawai ke hana, wanda shine dalilin da ya sa shirin adireshi shine takardar da ta fi muhimmanci.
Gwada rabuwar yayin da matsayi biyu a tsaye
Gwajin da ke da amfani shine ragi: tsayar da matsayi biyu ka tabbatar na uku yana amsawa har yanzu. Buƙatar yanar gizo ya kamata ta kammala yayin da sabis ɗin tunnel a kashe, kuma handshake ɗin tunnel ya kamata ya kammala yayin da sabar yanar gizo a tsaye. Idan dukansu suna aiki ne kawai lokacin da komai ke gudana, kana da dogaro na bazata, kamar teburin firewall na tarayya, hanya da ta ɓace ko suna da ke nuni ga adireshin da bai dace ba.
Umarni uku suna mai da wannan gwajin a bayyane. curl -sk --resolve example.test:443:203.0.113.10 https://example.test/ yana tabbatar da mai saurare na gida yana amsawa ba tare da DNS na waje ba, wg show a kan abokin ciniki yana tabbatar da handshake ya kammala, kuma tcpdump -ni any port 51820 a kan hub yana raba matsalar routing daga matsalar maɓalli. Handshake da ba ya bayyana a cikin kamawa ya mutu kafin mai watsa shiri: firewall na mai bayarwa, adireshin jama'a mara kyau ko ƙa'idar NAT a hanya.
Maimaita ragi ga LAN da ake turawa. Da peer ɗaya a katse, ping ta hub ya kamata ya kasa; da an sake haɗa shi, ping ya kamata ya warke ba tare da taɓa ƙa'ida ba. Ping da ke warkewa kawai bayan sake kunna tunnel yana nuni ga manufa maimakon isarwa, wanda wani gyara ne daban.
Ka riƙe tsarin ƙa'idoji a bayyane yayin da kake rage matsayi. nft list ruleset ya kamata ya nuna ƙa'idar karɓa ɗaya ga kowace hanya da kake buƙata da gaske, kuma sarkar tura da ke karɓar komai ba rabuwa ba ce, gwaji ne mai aiki.
Layukan shiga IPv6 kawai da sabis na IPv4
Wasu layukan shiga suna ba da isar IPv6 kawai, kuma dole ne a wallafa sabis a kan IPv4 har yanzu. Tunnel ɗin kansa yana tafiya a kan iyali da ke wucewa da zirga-zirga har yanzu, yayin da sabis ɗin da aka wallafa yana zaune a kan adireshi cikin tunnel. Wannan yana juyar da zato na yau da kullum kuma yana karya sa ido a hankali: ƙa'idar firewall ko duba lokacin aiki da aka rubuta don hanyar IPv4 yanzu tana lura da wata mu'amala da ba ta ɗauke da komai.
Gwada kowane iyali da kansa da curl -4 da curl -6, domin buƙata ɗaya da ta yi nasara ba ta ce komai game da hanyar da ba ka gwada ba. Mallakar port ba ya canzawa tsakanin iyalai, amma mai saurare yana canzawa: ss -lntup yana jera sockets na IPv4 da IPv6 a layi daban, kuma 0.0.0.0:443 ba ya rufe [::]:443 sai dai idan tsarin ya nemi socket na dual-stack.
Sabis da ke amsawa a iyali ɗaya kuma ya ƙi a ɗayan yawanci matsalar mai saurare ce, ba ta routing ba. Kafin ka kira ƙirar an gama, tabbatar kowane matsayi yana da adireshinsa ko port ɗinsa, an kunna tura kuma an yarda, kuma kowane matsayi yana amsawa har yanzu yayin da sauran biyun a tsaye.