Firewall ичинде кайсы VPN портторун ачуу керек: протокол боюнча
PPTP үчүн TCP 1723 жана GRE керек, L2TP/IPsec үчүн UDP 500 жана 4500 жана ESP керек, ал эми SSTP, OpenVPN жана WireGuard ар бирине бир порттон керек. Эмнени ачуу керектиги бул жерде.
VPN туннели firewall-дан өтөбү же жокпу деп эки өзүнчө эреже чечет: клиент чалган порт жана жүктү ташыган протокол. Биринчисин гана ачсаңыз, туннель аутентификациядан өтөт, анан эч кандай маалымат жылбайт. Эң азы — PPTP үчүн бир TCP порту жана GRE, L2TP/IPsec жана IKEv2 үчүн эки UDP порту жана ESP, ал эми SSTP, OpenVPN жана WireGuard үчүн бирден порт. Багыт, абалды көзөмөлдөө жана NAT калганын чечет.
Клиент чалган порттон баштаңыз
Ар бир үй-бүлөнүн клиент биринчи кайрылган кирүү чекити бар, жана сиздин уруксат эрежеси ушул кирүү чекитин аташы керек. PPTP клиенттери TCP 1723кө туташат. L2TP/IPsec UDP 500дө IKE баштап, NAT аркылуу өтүү колдонулганда UDP 4500гө өтөт, L2TP кадры өзү туннелдин ичинде UDP 1701де болот. SSTP сессияны TCP 443тө TLSке ороп, IKEv2 UDP 500 жана 4500дө сүйлөшүү жүргүзөт, OpenVPN демейде UDP 1194 колдонот, бирок көп учурда TCP 443кө которулат, WireGuard UDP 51820де угат.
| Family | Rule to add on the gateway | Typical mistake |
|---|---|---|
| WireGuard | UDP port from ListenPort, for the peer address | Assuming 51820 when the config says otherwise |
| OpenVPN | The configured UDP or TCP port, often 443 | Opening 1194 after the server moved |
| SSTP | TCP 443 limited to the gateway IP | Allowing 443 to any destination |
| IKEv2 | UDP 500 and UDP 4500, plus ESP | Allowing only 500 and losing NAT-T |
| L2TP/IPsec | UDP 500, 4500, ESP, and 1701 inside the tunnel | Exposing 1701 to the internet |
| PPTP | TCP 1723 and IP protocol 47 | Writing a rule for TCP 47 |
Бул сандарды туруктуу касиет эмес, демейки маани катары кабыл алыңыз. WireGuard интерфейси өз конфигурациясы жарыялаган каалаган угуу портун колдонот, OpenVPN сервери администратор тандаган каалаган портто отура алат. Эрежени жазаардан мурун сервердин конфигурациясын окуңуз, анткени 1194 үчүн ачылган firewall 443кө көчүрүлгөн серверге эч нерсе кылбайт.
Үчүнчү тилке — өзгөртүү билеттеринин көбү ката кетире турган жер. Эреже бар, бирок ал туура эмес багытка, туура эмес максатка же туура эмес ташууга көрсөтөт.
GRE жана ESP — протокол номурлары, порт эмес
GRE жана ESPдин порттору такыр жок, ошондуктан порт номурларын гана кабыл алган firewall формасы аларды туюнта албайт. GRE — IP протоколу 47, ESP — IP протоколу 50, экөө тең IP аталышынын протокол талаасы аркылуу салыштырылат. TCP порту 47 деп жазылган эреже эч нерсеге дал келбейт, ошентип PPTP саясаты туура көрүнөт жана кол кармашуудан кийин ар бир пакетти таштайт.
Керектөөчү маршрутизаторлор муну өткөрүү белгисинин артына жашырат, ал протокол эрежесин жана GRE үчүн агымды картага түшүрүүгө керектүү NAT жардамчысын орнотот. Чыныгы firewall-да протоколду өзүңүз кошосуз: PPTP серверине IP протоколу 47ге уруксат бериңиз, IPsec шлюзине IP протоколу 50гө уруксат бериңиз. Платформа протокол талаасын сунуштабаган жерде инкапсуляция жол болуп саналат, ошондуктан IKEv2 UDP 4500гө кайта алат жана ошондуктан OpenVPN менен WireGuard бул көйгөйгө эч качан туш болушпайт.
Клиентти күнөөлөөдөн мурун эреженин эмнеге дал келерин текшериңиз. Шлюзде нөлдө турган пакет эсептегичи эреже эч качан иштебегенин айтат, клиент тарапта канча жолу кайра орнотсоңуз да бул өзгөрбөйт.
Багыт, абал жана NAT жоопту өзгөртөт
Сыртка чалган клиент жана ичке уккан шлюз — ар башка талаптар, жана ошол эле порт тизмеси бир багытта туура, экинчисинде туура эмес болушу мүмкүн. Абалды көзөмөлдөгөн firewall 500 жана 4500дөгү UDP агымын көзөмөлдөп, жоопторду экинчи эрежесиз кайтарат. ESP жана GRE порт ташышпайт, ошондуктан NAT түзмөгүнүн кармай турган жери жок жана сессияны ээрчүү үчүн жардамчы же инкапсуляция керек.
NAT аркылуу өтүү — көп унутулган бөлүк. IKEv2 UDP 500дөн баштап, NAT түзмөгүн аныктайт жана UDP 4500дө улантат, ошондуктан 500гө гана уруксат берген саясат орногон соң унчукпай калган туннель берет. L2TP/IPsec да ушундай кыймылды жасайт. Эгер жазууңуз биринчи алмашууну көрсөтүп, бирок туруктуу трафикти көрсөтпөсө, 500дө токтогон эрежени издеңиз.
Ар бир эреже менен багытты жазып отуруңуз. «UDP 4500гө уруксат бер» кайдан кайда экенин айтпайынча эч нерсе билдирбейт, ал эми көчүп жүргөн клиент үчүн туура эреже сайт-сайт өнөктөшү үчүн адатта туура эмес.
Ар бир жолду жазуу менен текшериңиз
Жазууну шлюзде жүргүзүңүз, клиентте эмес: клиент келгенди гана жазат. Бул чыпкалар жогорку үй-бүлөлөрдү камтыйт жана кайсы баскыч жетишпей жатканын көрсөтөт:
sudo tcpdump -ni any tcp port 1723
sudo tcpdump -ni any udp port 500 or udp port 4500
sudo tcpdump -ni any proto gre
sudo tcpdump -ni any proto 50
Чыгууну ырааттуулук катары окуңуз. Сүйлөшүү көрүнүп, жүк протоколу көрүнбөсө, таштоо клиент менен шлюздун ортосунда бир жерде болот. Экөө тең көрүнүп, барак дагы ачылбаса, firewall эми шектүү эмес; маршруттоого, DNSке же клиентке берилген дарек пулуна көңүл буруңуз.
tcpdump жок түзмөктө ушул эле далилдер интерфейс жана эреже эсептегичтеринен келет. Туннель интерфейсинде байттар кирип, чыкпаса — бул баштапкы уруксат эрежесине эмес, кайтуу жолуна көрсөтөт.
Коргой алган эрежелер топтомун калтырыңыз
TCP 443төгү SSTP портко негизделген каалаган чыпка үчүн кадимки HTTPSтен айырмаланбайт, жана тармак веб-трафикке гана уруксат бергенде максат ушул. Ошондуктан 443 эрежеси бүт интернетти эмес, шлюзду багыт катары атоого тийиш. Туннель иштеп баштаары менен убактылуу каалагандан-каалаганга эрежелерин өчүрүңүз. Кайсы эреже дал келгенин, бар жерде протокол номурларын жана багытты жазыңыз, кийинки адам далилден башташ үчүн.
Булуттук чекиттен-сайтка шлюздөр тандоону көрүнүктүү кылат: жүктөлгөн профиль 443төгү SSTP же 500 жана 4500дөгү IKEv2 колдонот, жана профиль чынында тандаганын гана ачуу керек. PPTP заманбап тармакта GRE өзгөчөлүгүнө татыктуу эмес, анткени уюлдук операторлор firewallыңызга карабастан 47 протоколун көп ташташат. Билетти жаппастан мурун эреже сервер конфигурациясындагы портко дал келерин, протокол талаасы үй-бүлөгө керектүү жерде коюлганын жана багыт каалаган дарек эмес, шлюз экенин ырастаңыз.