Zuia mteja mmoja wa OpenVPN kutoka LAN bila kusimamisha handaki
Bandika anwani ya handaki ya mteja kwenye cheti chake, tupa trafiki yake ya LAN kwenye kichwa cha FORWARD, kisha thibitisha IPv6, vikao vinavyofuatiliwa na kustahimili baada ya kuwasha upya.
Mteja mmoja kwenye seva yako ya OpenVPN lazima apoteze ufikiaji wa LAN wakati handaki zingine zote zinaendelea. Ukitafuta hili, jibu bora kwa kawaida husema daemon haiwezi, jambo ambalo ni nusu kweli tu: OpenVPN haina firewall kwa kila mteja, lakini mwenyeji anayemaliza handaki tayari huchuja pakiti. Maamuzi mawili muhimu ni utambulisho unaozuia na nafasi ya sheria. Yafanye sawa na mabadiliko yanakuwa mstari mmoja unaoweza kuujaribu na kuuondoa.
Bandika mteja kabla ya kuandika sheria
OpenVPN hukodisha anwani za handaki kutoka kwenye bwawa, kwa hiyo 10.8.0.6 ni nafasi, si mtu. Kikao kinapoisha kodi inarudi na inaweza kupewa muunganisho unaofuata, ikimaanisha sheria iliyoandikwa dhidi ya anwani hiyo inafuata nafasi, si mtumiaji. Kwa hiyo amua kwanza unachozuia kwa kweli: anwani kwa jaribio fupi, au cheti cha mtu unayetaka kumbakiza nje.
Ili kufunga anwani kwenye cheti, tengeneza faili katika folda inayotajwa na client-config-dir na uipe faili common name ya cheti hasa. Weka agizo moja ndani yake, ifconfig-push 10.8.0.6 255.255.255.0, na mteja huyo huhifadhi anwani ile ile ya handaki wakati wa kuunganisha tena. Mipangilio miwili lazima iwepo ili hii ifanye kazi: client-config-dir lazima itangazwe katika usanidi wa seva, na anwani inayotumwa lazima iwe katika subnet ambayo seva inaweza kuielekeza. Ikikosekana moja, faili hupuuzwa bila hitilafu, jambo linalofanya jaribio la firewall linalofuata lipotoshe.
Kizuizi cha muda kinaweza kutumia anwani ya bwawa, mradi tikiti irekodi ni kikao gani kilikuwa nayo wakati huo.
Mpangilio huamua kama utupaji utaendeshwa
Kwenye lango la Linux linalopitisha kati ya handaki na LAN, pakiti hupita mnyororo wa FORWARD. Soma amri hapa chini kama sentensi: ingiza kwenye kichwa cha FORWARD, linganisha trafiki inayoingia kutoka tun0, kutoka kwa mwenyeji mmoja huyo, inayoelekea subnet ya LAN, na uitupie.
iptables -I FORWARD -i tun0 -s 10.8.0.6/32 -d 192.168.1.0/24 -j DROP-I ndiyo inayofanya sheria iende. Ikiongezwa kwa -A, inatua chini ya idhini yoyote pana kwa subnet ya handaki na haioni pakiti kamwe. Thibitisha nafasi kwa iptables -vnL FORWARD --line-numbers, na soma vihesabu pia: utupaji wa juu usiohesabu chochote unamaanisha trafiki inakuja kwa njia nyingine.
Anwani ya LAN ya lango yenyewe ni njia nyingine. Pakiti zinazotumwa kwenye sanduku yenyewe huenda INPUT, si FORWARD, kwa hiyo mteja anaweza kupoteza mwenyeji wa LAN na bado kufungua ukurasa wa usimamizi wa router. Ongeza sheria ya INPUT inayolingana wakati hilo ni muhimu.
Kile kichujio hakiwezi kuona
Uchujaji hufanyika pakiti inapotathminiwa, kwa hiyo kikao cha TCP kilichoanzishwa kinaweza kuendelea hadi kifungwe au kuwekwa upya. Ikiwa kizuizi lazima kifanye kazi mara moja, safisha mitiririko iliyofuatiliwa ya chanzo hicho kwa conntrack -D -s 10.8.0.6 baada ya sheria kuingia. Ikiwa sekunde chache za mwingiliano zinakubalika, rekodi chaguo hilo badala ya kuliacha kama dhana. Vyovyote vile, mtu anayefuata anahitaji kujua kama sheria inasimamisha trafiki hai au miunganisho mipya tu.
Trafiki kati ya wenzake haigusi firewall ya mwenyeji kamwe. client-to-client ikiwa imewezeshwa, OpenVPN hupitisha pakiti hizo ndani ya daemon, kwa hiyo FORWARD wala INPUT haziziona. Suluhisho pekee ni kuzima client-to-client au kukubali kwamba wenzake wanaweza kufikiana; sheria ya iptables haitaona trafiki hiyo.
IPv6, firmware na kustahimili baada ya kuwasha upya
Sheria ya IPv4 haisemi chochote kuhusu IPv6. Ikiwa handaki na LAN hubeba familia zote mbili, sheria inayolingana lazima iwepo katika ip6tables, au katika seti ya sheria za nftables inayomiliki sera kwenye mwenyeji huyo. Firmware ya router mara nyingi huficha netfilter nyuma ya ufupisho wake, kwa hiyo sintaksia na majina ya jedwali yaliyonakiliwa kutoka jukwaa yanaweza yasitumike.
Kwenye OpenWrt, njia iliyoandikwa ni ingizo la usanidi wa firewall na si mstari wa iptables ulioandikwa kwa mkono, na mstari ulioandikwa kwa mkono unaweza kutoweka firewall inapopakiwa upya. Usambazaji mwingine hurejesha sheria kupitia netfilter-persistent, kitengo cha kuwasha au hifadhi ya muuzaji, na mbinu hizo hazibadilishani. Thibitisha uliyochagua kwa kuwasha upya, kwa sababu upakiaji upya hufanya mazoezi ya njia nyingine.
Thibitisha kwa kila njia, kisha rudi nyuma kwa usafi
Jaribu kila njia kivyake, kwa sababu ukaguzi mmoja uliofanikiwa huficha mingine. Mteja aliyesimamishwa bado anapaswa kufikia intaneti kupitia handaki lakini ashindwe dhidi ya mwenyeji wa LAN, mteja wa pili anapaswa kufikia mwenyeji huyohuyo, na anwani ya lango na njia ya mwenzake zinahitaji kila moja uchunguzi wake. Andika matokeo kando ya sheria ili mabadiliko yanayofuata yawe na msingi. Jedwali hapa chini ni seti inayofaa kubaki kwenye tikiti.
| Njia | Inayotarajiwa na sheria | Inaposhindwa |
|---|---|---|
| Mteja aliyesimamishwa kuelekea mwenyeji wa LAN | Hakuna jibu | Sheria iko chini ya idhini, au chanzo hakilingani |
| Mteja aliyesimamishwa kuelekea intaneti | Hufanya kazi kupitia tun0 | Sheria ni pana mno, bila ulinganifu wa lengwa |
| Mteja wa pili kuelekea mwenyeji yuleyule wa LAN | Hufanya kazi | Sheria ililingana zaidi ya mwenyeji aliyekusudiwa |
| Mteja aliyesimamishwa kuelekea anwani ya LAN ya lango | Husimamishwa tu na sheria ya INPUT inayolingana | Sheria ya INPUT haipo |
| Mteja aliyesimamishwa kuelekea anwani ya handaki ya mwenzake | Bado inafanya kazi | client-to-client imewezeshwa na iko nje ya wigo wa firewall |
Kurudi nyuma ni kufuta kulingana na maelezo, si flush: iptables -D FORWARD -i tun0 -s 10.8.0.6/32 -d 192.168.1.0/24 -j DROP huondoa ingizo hilo hasa na kuacha sehemu nyingine ya mnyororo ikiwa sawa. Ondoa mstari huo huo kutoka faili yoyote inayorejesha sheria wakati wa kuwasha, ipakie upya, na uthibitishe kwamba mteja anafikia mwenyeji wa LAN tena. Flush ya FORWARD pia ingebatilisha sheria usizoandika, jambo linalofanya kurudi nyuma kuwa tukio la pili.
Kabla ya kufunga tikiti, thibitisha mambo matatu: anwani iliyobandikwa inalingana na cheti, sheria iko juu ya idhini na kihesabu si sifuri, na faili ya kudumu ina sheria ile ile uliyojaribu. Ikiwa moja haipo, kizuizi ni udanganyifu katika kikao cha shell.