Firewall da ke ba da izinin tashar VPN kawai ba doka ɗaya ba ce. Hukunce-hukunce uku ne daban waɗanda kwatsam suka shafi lambar tasha ɗaya: sarkar shigarwa tana yanke shawarar abin da zai iya isa ga wani tsari na gida, sarkar turawa tana yanke shawarar abin da zai iya wucewa ta gidan a madadin abokan cinikin rami, kuma teburin NAT yana sake rubuta adireshin tushe a hanyar fita. Ka yi kuskure a ɗaya daga cikinsu kuma sakamakon ba safai ya zama tsayawa mai tsabta ba. Za ka sami gidan da ke karɓar abokan ciniki amma ba ya ɗora wani abu, ko gidan da ya yi kama da a rufe har sai wani ya karanta tsarin sarkoki.

Tashar da ba za a iya rufewa ba

Mai sauraron VPN dole ya karɓi haɗi daga adireshi da ba za ka iya tsammani ba, don haka aiki ne na jama'a bisa ma'anarsa. Wannan ita ce kaɗai keɓewa da aka gina ƙirar a kanta: tashar UDP ɗaya don OpenVPN, tashar UDP ɗaya don WireGuard, tashar TCP ɗaya don VPN na SSL. Duk sauran na bayan rami ne, wato ayyukan aikace-aikace ya kamata su ɗaure ga adireshin rami ko ga loopback maimakon kowace fuska.

Amma ɗaurewa ba tilastawa ba ce. Tsarin da aka ɗaure ga 0.0.0.0 ana iya isa gare shi ne kawai idan doka ta yarda, kuma manufar da aka saba ita ce madadin zirga-zirgar da babu wata doka da ta dace da ita, ba dokar da ke kula da tashar ba. Yardar da aka sanya sama da ƙin ka yarda ce har yanzu, kuma kawar da aiki daga adireshin jama'a haɓaka ce mai zaman kanta ba madadin sarkar ba.

Shigarwa, turawa da NAT suna amsa tambayoyi daban-daban

Zirga-zirgar shigarwa na gidan ne kansa, don haka mai sauraron VPN da hanyar gudanarwa suna zaune a nan. Zirga-zirgar turawa tana wucewa ta gidan, kuma abokan cinikin rami suna buƙatarta tare da net.ipv4.ip_forward=1. Tsarin gargajiya da ya karye rabi yana ba da izinin tafiyar fita kuma ya manta alkiblar dawowa, don haka abokin ciniki ya kammala musafaha sannan babu abin da ke lodawa; dokar conntrack don zirga-zirgar da aka kafa da mai alaƙa tana rufe wannan alkibla.

NAT ita ce tambaya ta uku. Ba tare da sake rubutu a postrouting ba, fakiti da aka tura suna fita da tushen sirri na rami kuma ana watsar da su a sama, domin babu wata hanyar sadarwa bayan gidan da ta san yadda za a mayar da tafkin. Faɗin tushe a wannan dokar dole ya dace da tafkin VPN, ba da adireshin gidan kansa ba, kuma haka ma ga dokar turawa da ke ambaton rukunin abokan ciniki.

IPv6 manufa ce ta biyu, ba tunani na baya ba. Gidan da ke da sarkar IPv4 mai tsanani da buɗaɗɗen manufa a ip6tables bai rufe kome ba; ayyukan har yanzu ana isa gare su ta ɗayan iyali. Ko ka kwatanta tsarin dokoki da ip6tables ko ka kashe IPv6 da gangan a fuskokin jama'a, kuma ka rubuta wanda ka zaɓa.

Tushe da za a iya karantawa a lokaci ɗaya

Fara da ƙin, sannan ka ƙara kawai abin da gidan yake buƙata. Da farko loopback da amsoshi, sannan hanyar gudanarwa, sannan mai sauraron rami, sannan manufar turawa ga abokan ciniki:

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT
iptables -A INPUT -p udp --dport 1194 -m conntrack --ctstate NEW -j ACCEPT
sysctl -w net.ipv4.ip_forward=1
iptables -A FORWARD -i tun0 -o eth0 -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

Sunayen fuskoki, tashar da tafkin wurare ne na riƙe; ka karanta su daga uwar garken maimakon kwafa su. Ajiye sakamakon yana da muhimmanci kamar rubuta shi, domin tsarin dokoki da ke rayuwa cikin ƙwaƙwalwa kawai yana ɓacewa a sake kunnawa na gaba kuma yana sake buɗe gidan a hankali. Ka mai da shi dawwama da tsarin rarraba, kuma ka riƙe kwafi a wajen na'urar don ranar da na'urar ba za ta tashi ba.

Rufe tashar ƙarshe ba tare da rasa gidan ba

Akwai tarko a ƙirar. Idan SSH yana wanzuwa ne kawai ta rami, aikin VPN da ya gaza yana ɗaukar SSH tare da shi, kuma hanya ɗaya tilo ta dawowa na iya zama console da ba ka taɓa buɗewa ba. Kafin ka rufe tashar jama'a ta ƙarshe, tabbatar da cewa wannan console tana nan kuma da gaske za ka iya amfani da ita, ko ka riƙe hanyar gudanarwa ɗaya mai ƙunci wadda ba ta dogara da rami ba: SSH daga tsayayyen adireshi, maɓalli kawai, tabbatar da kalmar sirri a kashe.

Ka yi amfani da canjin daga zaman da aka riga aka kafa, ba ta hanyar haɗin da za ka tace ba. Ka tsara juyawa domin kuskure ya ƙare maimakon ya zama na dindindin, misali aikin systemd-run --on-active=10min wanda ke maido da tsarin dokokin baya, kuma ka riƙe zaman SSH na biyu a buɗe yayin da kake gwada na farko. Sannan ka tabbatar aikin juyawa yana tashi da gaske, domin dawowa da ba a gwada ba ɗaya ne da babu dawowa.

Duba hanyar, ba rubutun ba

Karanta dokokin da aka loda, ba fayil ɗin da ya kamata ya loda su ba. Daga wani gidan waje da aka ba da izini, tabbatar cewa tashoshi da aka nufa ne kawai ke amsawa; daga cikin rami, tabbatar cewa ayyukan da ka yi niyyar wallafawa ana isa gare su. Manufar ƙin da aka saba wadda kuma ke toshe zirga-zirgar rami tana kama da kullewar da ke aiki har sai wani ya yi ƙoƙarin amfani da ita.

iptables -S
iptables -t nat -S
ss -lntup
ip -4 addr show

Rubuta tashar da aka yarda, tafkin abokan ciniki, fuskar rami, tushen gudanarwa da tsarin console kusa da saitin. Canji na gaba a tafkin ko sunan fuska dole ya dace a cikin tacewa da dokar NAT duka, in ba haka ba gidan zai koma yanayin buɗe rabi ba tare da wani ya lura ba.

Ɗabi'a ɗaya ta fi tsarin dokoki daraja: bayan kowane canji, ka tabbatar da hanyar turawa da buƙatar abokin ciniki kuma ka tabbatar da hanyar dawowa da zaman na biyu. Kullewar da ba ka yi amfani da ita ba zato ce kawai.

Labarai masu alaƙa