Rakstīt -o tun+ šķiet precīza instrukcija, bet patiesībā tā ir aizstājējzīme, kas atbilst katram kodola tunelim. Otrs VPN klients, konteinera tilts vai sabrukušas sesijas atstāts interfeiss visi to apmierina, un tad resursdators pielaiž satiksmi, ko politika bija paredzēta novērst. Tālākā procedūra fiksē vienu ierīces nosaukumu, sakārto izņēmumus tā, lai tunelis tiešām varētu izveidoties, un atstāj jums ceļu atpakaļ, ja noteikumi iekrīt slikti. Katrs solis ir pietiekami īss, lai to varētu atsaukt atsevišķi.

1. solis: pierakstiet pašreizējos noteikumus

Pirms maināt noklusējuma politiku, saglabājiet pašreizējo stāvokli, lai atritināšana būtu komanda, nevis atmiņa. iptables-save > /root/iptables.pre ieraksta katru tabulu failā, ko varat atjaunot, un otrs terminālis ar atvērtu root sesiju nav paranoja, kad iestatāmā politika nogriež to nesošo savienojumu. Ja strādājat attālināti, ieplānojiet arī flush kā avārijas slēdzi.

Pēc tam uzskaitiet interfeisus, jo nosaukums, ko pieņēmāt, ir nosaukums, kas jums bija jāizlasa: ip -br link parāda, kas pastāv tieši tagad, un tunelis neparādīsies, kamēr nebūs pacelts. Pierakstiet ierīču nosaukumus, lasot tos.

2. solis: dodiet tunelim tā paša nosaukumu

OpenVPN klienta konfigurācijā pieņem dev tun_work, un tad Linux izveido interfeisu tieši ar šo nosaukumu, nevis piešķir tun0. Nosaukums paliek stabils starp atkārtotām pieslēgšanās reizēm, kamēr nekas cits uz to nepretendē, un tieši tas padara ierīci nosaucošo noteikumu jēgpilnu.

Kur nosaukumu nevar kontrolēt, saskaņojiet tuneļa adresi vai paketes atzīmi. Abi darbojas, abus grūtāk lasīt, un abi klusāk neizdodas, kad tunelis tiek pārnumurēts. Jebkurā gadījumā saskaņojiet vienu lietu un skaidri pasakiet, kuru.

3. solis: rakstiet politiku ar endpoint izņēmumu vispirms

Resursdators tikai ar VPN ir noklusējuma aizlieguma resursdators ar īsu izņēmumu sarakstu, un svarīgākais izņēmums ir tas, kas ļauj tunelim pastāvēt. Veidojiet to šādā secībā, endpoint noteikumu pirms tuneļa ierīces noteikuma, lai rokas paspiešanai būtu kur iet:

# allow the tunnel to be built, then everything the tunnel carries
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -A INPUT  -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -d 198.51.100.7 -p udp --dport 1194 -j ACCEPT
iptables -A OUTPUT -o tun_work -j ACCEPT
iptables -A INPUT  -i tun_work -j ACCEPT
iptables -A INPUT  -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

Burtiskā endpoint adrese un ports pieder jūsu pakalpojumu sniedzējam, nevis šai lapai. Ja endpoint ir resursdatora nosaukums, izšķiriet to vienreiz un fiksējiet rezultātu, jo noteikums nevar meklēt nosaukumu, un rotējoša atbilde klusi salauzīs politiku pēc nākamās DNS izmaiņas. Pārbaudiet arī portu, jo sniedzējiem, kas pārvieto jūs uz TCP 443, citādi būs vajadzīgs noteikums, ko neviens nav pierakstījis. Tunelis, kas darbojas tikai ar vienu protokolu, parasti ir tieši šī izlaidība, nevis ugunsmūra kļūme.

Maršrutētājā tā pati forma nonāk FORWARD ķēdē klientiem aiz tā, un paša maršrutētāja satiksmei vajag savus noteikumus. Noteikumu kopa, kas aptver tikai pārsūtītās paketes, atstāj SSH un DNS vecajā ceļā, un tā maršrutētājs kļūst nesasniedzams tajā mirklī, kad tunelis paceļas.

4. solis: pārbaudiet secību, ne tikai esamību

Noteikumi tiek vērtēti secīgi, tāpēc agrāk nākošais ACCEPT vienkārši apslēpj vēlāk pievienoto REJECT. established un related atbilstība ir tas, kas ļauj atbildēm uz jūsu pašu izejošajiem pieprasījumiem atgriezties, neatverot vispārīgu ienākošo ceļu, un tās novietošana pēc tuneļa pieņemšanas nozīmē, ka kritušais tunelis joprojām laiž cauri atgriešanās satiksmi savā interfeisā.

Turiet noteikumu skaitu pietiekami mazu, lai to varētu nolasīt vienā ekrānā. Noteikumu kopa, kuru nevarat auditēt, ir tā, kuru lāpīsiet, pievienojot izņēmumus augšā, un tā noklusējuma aizlieguma politikas pamazām iegūst noklusējuma atļaujas malu. Saskaitiet ACCEPT pirms un pēc izmaiņām.

5. solis: panāciet, lai tas pārdzīvo ielādi un adrešu saimi

Ar roku ievadītie noteikumi pazūd pārstartēšanas laikā, tāpēc ielādējiet tos no distribūcijas ugunsmūra servisa vai unit, kas darbojas pēc tam, kad tuneļa interfeiss pastāv. Atsauce uz tun_work skriptā, kas darbojas pirms OpenVPN starta, ir izplatīts veids, kā izveidot ielādes cilpu ar nomestu satiksmi.

Pēc tam pārbaudiet IPv6 atsevišķi, jo laba noklusējuma aizlieguma politika IPv4 neko nepasaka par otru saimi. ip -6 route pateiks, vai resursdatoram ir maršruts, kas varētu nest satiksmi ap tuneli, kurš apstrādā tikai IPv4, un ip6tables vai nftables vajag savus līdzvērtīgus noteikumus. Testējiet ar IPv6-only galamērķi, nevis paļaujieties uz noteikumu kopas simetriju.

6. solis: pārbaudiet un esiet gatavs atjaunot

Paceliet tuneli, pārliecinieties, ka paredzētais pakalpojums darbojas, pēc tam pamēģiniet kaut ko, ko politikai vajadzētu atteikt. Atjaunojiet ar iptables-restore < /root/iptables.pre, ja atbilde jūs pārsteidz, un tikai tad sāciet rediģēt noteikumus. Noturība kopā ar pārbaudītu atkopšanas ceļu ir tas, kas padara šo par izmaiņām, ko varat izdarīt divreiz.

Saistītie raksti