VPN, які падключаецца, але нічога не дасягае, звычайна апісваюць як праблему міжсеткавага экрана, і рашэнне, да якога звяртаюцца, — змясціць інтэрфейс тунеля ў давераную зону. Гэта працуе ў тым сэнсе, што трафік пачынае ісці, але таксама прапускае значна больш, чым меркаваная паслуга. Дзве палітыкі тут розныя: адна прапускае знешні транспарт да сокета, які слухае, другая дазваляе расшыфраванаму трафіку дасягнуць пэўнага рэсурсу. Менавіта стаўленне да іх як да адной налады ператварае вузкі дазвол у шырокі. Яны вырашаюцца ў розных месцах, і таму гэтую памылку так лёгка зрабіць.

Дзве палітыкі, адзін тунель

Знешняя палітыка адказвае на простае пытанне: ці можа пакет з гэтай крыніцы дасягнуць UDP 1194 на гэтым хосце? Унутраная палітыка адказвае на іншае: ці можа аўтэнтыфікаваны кліент за гэтым тунелем дасягнуць гэтага прызначэння, па гэтым пратаколе, на гэтым порце? Першае — пра сокет, другое — пра шлях, і firewalld мадэлюе іх рознымі аб'ектамі, бо яны вырашаюцца ў розных кропках. Адно — уласцівасць сокета на гэтым хосце, другое — уласцівасць шляху праз яго.

Практычны вынік такі: працоўны тунель нічога не кажа пра другую палітыку, а правільная другая палітыка не робіць першую непатрэбнай.

Прапусціце сапраўдны знешні слухач

Пачніце з агляду таго, што ўжо прызначана, а не з здагадак. Прачытайце актыўныя зоны, пакажыце зону, якая сапраўды прымае ўваходны трафік, і праверце ўсталяванае апісанне паслугі, бо назва паслугі апісвае набор партоў і нічога не кажа пра тое, ці супадае з ёй слухач гэтага сервера.

firewall-cmd --get-active-zones
firewall-cmd --zone=public --list-all
firewall-cmd --info-service=openvpn

Калі слухач сапраўды UDP 1194 у гэтай зоне, адкрыйце менавіта гэты порт і транспарт, а затым замацуйце тое ж канкрэтнае правіла пасля праверкі. Праверце і прывязкі па крыніцы, бо зона, прывязаная да дыяпазону крыніц, можа перахапіць трафік раней, чым зона інтэрфейса яго ўбачыць.

Дазвольце расшыфраванае прызначэнне асобна

Злучэнне з паслугай, якая працуе на самім VPN-серверы, — гэта палітыка лакальнага ўваходу. Злучэнне, якое перасылаецца на іншы хост у LAN, патрабуе палітыкі перасылкі, перасылка, уключаная ў ядры, і зваротны маршрут — гэта тры асобныя патрабаванні, якія людзі часта зводзяць у адно. Сучасныя аб'екты палітык firewalld апісваюць накіраваны трафік паміж уваходнай зонай і выхадной зонай, і менавіта там слушна выказваць, якія крыніцы VPN могуць дасягаць якіх прыватных паслуг.

Вызначце дазволеныя крыніцы яўна, а ўсё астатняе няхай правальваецца ў адмову. Дазвол для знешняй паслугі — не гэтая палітыка, як бы ні выглядала размяшчэнне зон.

Чаму давер да інтэрфейса — няправільны кароткі шлях

Змяшчэнне інтэрфейса тунеля ў зону, мэта якой прымае ўсё, прапускае ўвесь расшыфраваны трафік да кожнай паслугі, якую прадстаўляе хост, уключаючы тыя, што вы не правяралі. Перанацэльванне даверанай зоны на абмежавальную на машыне, што працуе, яшчэ горш, бо іншыя інтэрфейсы і дыяпазоны крыніц могуць ужо залежаць ад яе сэнсу і зменяць паводзіны, калі вы яе адрэдагуеце. Калі вам патрэбна вузкая палітыка, стварыце яе; не прыстасоўвайце агульную зону.

Таксама трымайце прызначэнне зоны для тунеля стабільным праз любы кампанент, які валодае гэтай канфігурацыяй. Страта прызначэння пры перазапуску дае збой, які выглядае як праблема правілаў міжсеткавага экрана, а насамрэч з'яўляецца праблемай захавання.

Праверце тры рэчы, уключаючы адну адмову

Праверце знешняе злучэнне звонку, праверце адну дазволеную ўнутраную паслугу з падключанага кліента і праверце адну паслугу, якая павінна заставацца недасяжнай. Трэцяя праверка адрознівае палітыку ад пабочнага эфекту, і менавіта яе прапускаюць, бо ўсё выглядае так, быццам працуе. Калі адмоўленая паслуга адказвае, вы прапусцілі зону, а не паслугу.

Запішыце зону, порт, транспарт і аб'ект палітыкі ў нататкі сервера. Інакш наступная змена на гэтым хосце пачнецца з той жа здагадкі.

Падобныя артыкулы