eth0:0 waa calaamad, ma aha qalab: hagaaji isku-dhaca SNAT
Tirakoob eber ah waxay ka dhigan tahay in qaanuunku magacaabo interface aan jiri karin. Akhri qalabka dhabta ah, hagaaji isku-dhaca -o kadibna si ula kac ah u dooro ciwaanka la tarjumay.
Qaanuun NAT oo loogu talagalay in uu hal koox macaamiil VPN siiyo ciwaankiisa guud ahaan ayaa taagan eber baakad, halka isla kooxdaasi ay weli uga baxdo isha khaldan. Qaanuunku badanaa kama khaldana ciwaanka; wuxuu ka khaldamaa interface-ka. -o eth0:0 wuxuu tilmaamayaa qalab aan jirin, sababtoo ah eth0:0 waa calaamad ku lifaaqan ciwaan ku yaal eth0. Tirakoobka fiirsashadu waa habka ugu dhaqsiyaha badan ee taas lagu xaqiijin karo, hagaajintuna way ka yar tahay waxa baaritaanku sheegayo.
Hubi waxa kernel-ku u yaqaano qalabka
Akhri labada aragti si gooni ah ka hor intaadan wax beddelin:
ip link show
ip address show dev eth0
ip route get 203.0.113.20
Liiska xiriirku wuxuu muujinayaa interface-yada. Liiska ciwaanku wuxuu muujin karaa ciwaan IPv4 labaad oo sita calaamadda eth0:0, qalabka ciwaankaasna weli waa eth0. Buugga ciwaanka ee iproute2 wuxuu calaamadda u qaataa magac ciwaanka, ma aha xiriir labaad, waana isla farqigaas dhibaatada oo dhan ku tiirsan tahay.
Taariikhdu waxay sharraxdaa jahwareerka. Qoraalkii hore ifconfig eth0:0 wuxuu dhab ahaan u ekaa interface cusub, qoraalladii waagaasna weli waxay tilmaamayaan mid. Nidaamka maanta, alias-ku waa calaamad ku dul ciwaan, mana jiro wax ku jira wadada routing-ka ama netfilter-ka oo u qaata barta bixitaan gooni ah.
Hubi waxa qaanuunku dhab ahaan la simay
Tirakoobka la akhri liiska qaanuunada, ma aha xusuus:
iptables -t nat -L POSTROUTING -v -n --line-numbers
Qaanuun tirakoobka baakadiisa uu eber ku sii jiro inta taraafik la siman socdo lama qiimeeyo, iyo shuruudda interface-ka bixitaanka ee magacaabaysa eth0:0 waa sabab caadi ah. Qalabka bixitaanka ee wadadu dooratay waa eth0, sidaas darteed shuruud magac kale raadinaysa weligeed ma noqoto run, si kasta oo kernel-ku u doorto ciwaanka isha.
Beddel shuruudda qalabka dhabta ah oo calaamadda ka bixi. Haddii aad u baahan tahay in aad kala saarto laba kooxood oo wadaaga qalabkaas, ku kala saar prefix-ka isha, ma aha magac interface aan jiri karin. Laba qaanuun oo leh isku-dhac -s aan is-dul-saarnayn waa la akhrin karaa oo la tijaabin karaa; hal qaanuun oo qalab khiyaali ah leh labadaba ma aha. Qaanuun kasta ku dar faallo magacaabaysa kooxda, sababtoo ah lix bilood kadib prefix-ka keligiis cidna uma sheegayo sababta uu halkaas u joogo.
Hubi wadada dooratay qalabka
NAT postrouting wuxuu shaqeeyaa ka dib marka wadadu hore u dooratay interface bixitaan, sidaas darteed interface-ka qaanuunka waa in uu noqdaa kii wadadu dooratay. Weydii kernel-ka si toos ah ip route get oo ku saabsan ciwaan macmiil oo matala, oo akhri qalabka iyo isha uu soo sheegayo labadaba.
Haddii jawaabtu magacaabto eth0, qaybta interface-ka ee qaanuunka waa la xalliyay. Haddii ay magacaabto qalab tunnel, baakadku waligiis ma gaaro qaanuunka aad tafatirrayso, baaritaankuna wuxuu u gudbaa shaxda routing-ka iyo mudnaantiisa. Qaanuun waligiis aan simayn sababtoo ah baakadku meel kale ka baxay wuxuu soo bixitaanka tirakoobka uga muuqdaa sida qaanuun qalab si khaldan loo qoray leh. Ka hor intaadan wax tafatirin, xaqiiji midka labada xaaladood aad haysato, sababtoo ah tan labaad waxay u baahan tahay beddel routing-ka ee ma aha qoraal.
Si ula kac ah u dooro isha la tarjumay
Marka qalabku sax yahay, ciwaanka ishu waa go'aan gooni ah. Tani waa uun koox IPv4 tusaale ah iyo ciwaan tusaale ah:
iptables -t nat -A POSTROUTING -s 10.8.1.0/24 -o eth0 \
-j SNAT --to-source 203.0.113.20
Ciwaan ku qorista --to-source ma keenayso in qof uu dib kuugu routingeeyo. Bixiyaha sare ama milkiilaha ciwaanku waa in uu jawaabaha ciwaankaas u keeno host-kan, ciwaankuna waa in uu noqdaa mid aad xaq u leedahay in aad isticmaasho. Haddii uusan ahayn, qaanuunku wuu simi doonaa oo tarjumi doonaa, jawaabahuna weli meel kale ayaa tagi doona.
Beddelka ciwaanka ishu ma aha isla waxa beddelka xiriirka sare. Marka shuruudda dhabta ah ay tahay waddo jireed kale, siyaasadda routing-ku waa in ay marka hore doorato waddadaas; kadib SNAT waxay dib u qortaa isha qalabkii ay siyaasaddu dooratay. Calaamado dheeraad ah oo ku dul eth0 ma bixiyaan waddada ama fasaxa.
Ku xaqiiji xiriir aad hadda furatay
Fur xiriir macmiil cusub halkii aad dib u isticmaal lahayd mid jira. Dabagalka xiriirku wuxuu hayaa tarjumaadii uu diiwaangeliyay markii socodku bilaabmay, sidaas darteed fadhi duug ah wuxuu sii wadi karaa isticmaalka ciwaankii hore ee isha oo uu qaanuun cusub oo sax ah u muujiyo mid jabay. Fiiri tirakoobka oo kor u kacaya, kadibna fiiri isha la tarjumay xarigga ama dhamaadka fog.
Kooxo badan oo wadaaga hal interface, mid kasta sii isku-dhac isha oo cad iyo ciwaankiisa tarjumaad gaar ah, ku hay konfigurashanka maamulka ee firewall-ka oo qor nidaamka loo qiimeeyo. Kadib qor waxa aad xaqiijisay: qalabka ip route get laga helay, tirakoobkii dhaqaaqay, iyo ishii ay aragtay dhinaca fog. Diiwaankaas wuxuu ka jawaabaa warbixinta xigta isagoo aan ku celin jahwareerka calaamadda.