UFW өчүргүчү VPN'иңизди тосуп жатабы? Теңтушка уруксат бериңиз
Тышка чыгууну тыюу салган эрежеңиз туннелдин кол алышуусун кулатат. ufw enable алдында кошулган бир теңтуш өзгөчөлүгү саясатты өчүргүчкө айландырат.
Сиз текшерүү тизмесин аткардыңыз: тышка чыгууну тыюу салыңыз, туннелге уруксат бериңиз, ufw күйгүзүңүз. Анан кардар кол алышууда күтүп калат жана эч качан туташпайт, же туташат жана эч бир барак жүктөлбөйт. Эки ийгиликсиздик тең бир кемчиликтен келет. Туннелдин болушуна жол берүүчү эреже жок, анткени туннел пакеттериңиз чыккан интерфейс эмес.
Эмне үчүн tun0ге уруксат башында эч нерсеге дал келбейт
tun0ди кардар сессия пайда болгондон кийин түзөт. Ошол сессияны куруучу датаграммалар — провайдерге 1194 портуна адрестелген жөнөкөй UDP пакеттер, алар физикалык баштапкы дарек менен wlan0 же eth0 аркылуу чыгат. allow out on tun0 чыгуучу интерфейси tun0 болгон трафикке гана дал келет, ошондуктан кол алышуу учурунда ал эч нерсеге дал келбейт.
Анын үстүнө default deny outgoing койсоңуз, сырткы пакеттер интерфейс пайда боло электе эле ыргытылат. Кардар кайра аракет кылат, убакыт бүтөт жана TLS же кол алышуу катасын билдирет, бул адамдарды сертификаттар менен MTU ичинен издөөгө жиберет, ал эми файрвол байланышты үнсүз жейт. Трафигиңизди кармап турууга тийиш эреже ошол трафиктин кармалышына тоскоол болуп жатат.
Рефлекстик оңдоо агындыны туруктуу кылат. sudo ufw allow out on wlan0, же демейкини кайра уруксатка буруу туннелди көтөрүп, машинаны өчүргүчсүз калтырат: кийинки жолу туннел кулаганда, баары физикалык адаптер аркылуу уланат. Мен так ошол эки өзгөртүүгө жарым күнүмдү жоготтум, кайсы пакетти чындап чыпкалаганымды түшүнгөнгө чейин.
Эки пакет топтомуна эмне керек
Трафигиңиз файрволдон эки жолу, эки формада өтөт. Ички пакет туннел дарегинен tun0 аркылуу тышка чыгат. Сырткы пакет физикалык даректен теңтушка барат жана зымда көрүнгөн жалгыз нерсе — ошол. Ар бир формага бир эреже:
sudo ufw allow out on tun0
sudo ufw allow out to 203.0.113.10 port 1194 proto udp
sudo ufw allow out to 203.0.113.10 port 443 proto tcp comment 'tcp fallback'
Даректи жана портту өз профилиңиздегилер менен алмаштырыңыз. WireGuard теңтуштары адатта 51820/udp аркылуу жооп берет; TCP 443 аркылуу жүргөн OpenVPN профилдерине анын ордуна ошол порт керек. Деталдар башка, форма бирдей: эки эреже тең кууш, жана чогуу туннел өчүк турганда машина жете алган жалгыз багыттарды аныктайт.
Тартип — экинчи уламыш. Чийки iptables менен сиз тизмекти жогорудан ылдый окуп, кайсы эреже жеңээрин ойлойсуз. ufw — терген тизмеңиздин жука кабыгы эмес; ал эрежелериңизди өз тизмектерине компиляциялап, киргизүү чекиттерин тандайт. ufw status аларды ufw тартибинде басып чыгарат, сиздин тартибиңиз менен эмес. Эреже этибарга алынбагандай көрүнсө, бир нерсени кайра жазганга чейин ufw show added ди iptables -S | grep ufw компиляцияланган топтом менен салыштырыңыз.
Өзгөчөлүк бир даректин кенендигинде калышы керек
Теңтуш эрежеси кардар чалган даректи атап турганда гана туура. Провайдерлер четки чекиттерди айландырат, ал эми хост атын чечүүчү профиль DNS өзгөрүүсүн жаңы дарекке ээрчитет, эреже болсо эскисин көрсөтүп кала берет. Айлап иштеген туннел көтөрүлүүдөн калганда, бир нерсени кеңейтүүдөн мурун эрежедеги даректи кардар издеп жаткан дарек менен салыштырыңыз.
Бүт ички тармакка же 1194 портундагы ар бир багытка кеңейтүү саясатты кайра тешиги бар файрволго айландырат. Өзгөчөлүк — өчүргүч; ал кенен болгондон кийин, өчүрө турган эч нерсе калбайт. Аны бир даректе кармап, кайсы профиль жана провайдерге таандык экенин атаган комментарий калтырыңыз, анткени алты айдан кийин дарек кокустан көрүнөт.
Аттарды чечүү өзүнчө сапка татыктуу. Издөө туннел пайда боло электе, физикалык интерфейс аркылуу жүрөт, ошондуктан катуу тышка чыгууну тыюу саясаты кардарды өз серверин таба албай калтырышы мүмкүн. Чечүүчүңүздүн дарегине 53 портуна уруксат бериңиз, же бир жолу чечип, даректи профилде бекитиңиз. Ар бир интерфейсте DNSке уруксат берүү — чечим, демейки эмес.
Саясатты туннел керек боло электе куруңуз
ufw enable бүт саясатты бирден колдонуп, тизмектерин кайра жүктөйт, ал эми иштеп турган файрволдо демейки саясатты өзгөртүү аларды да кайра жүктөйт. ufw нускамасы бул SSH сыяктуу бар байланыштарды үзүшү мүмкүн экенин эскертет. Ошондуктан буйруктар ушундай тартипте жүрөт, SSH эрежеси күйгүзүүдөн мурун жана консолдук сессия ачык турганда:
sudo ufw default deny incoming
sudo ufw default deny outgoing
sudo ufw allow out on tun0
sudo ufw allow out to 203.0.113.10 port 1194 proto udp
sudo ufw allow 22/tcp
sudo ufw enable
sudo ufw status verbose
ufw reset бул блоктон атайын чыгарылган. Ал ар бир эрежени жок кылып, файрволду өчүрөт, ал эми алыскы хостто кийинки күйгүзүү сессияңызды үзгөн нерсе. Эгер баары бир кайра орнотсоңуз, SSH эрежесин кошуп, андан ары жүрүүдөн мурун консол аркылуу кайтуунун экинчи жолун ырастаңыз.
Тартип кооздук эмес. ufw иштеп турганда кошулган эрежелер эч нерсени чайкабайт, бирок демейки саясатты бураган учурда тизмектер кайра жүктөлөт, ал эми эски саясат уруксат берген сессия алар менен кошо кетет. Демейкилерди, уруксаттарды жана күйгүзүүнү бир өтүүдө жасаңыз, машинага көз каранды эмес кирүү жолуңуз бар кезде.
Бөгөттөлгөн абалды сынап көрүңүз жана артка кайтарууну сактаңыз
Сыналбаган өчүргүч — божомол. Кардарды атайын ажыратып, баракты жүктөөгө аракет кылыңыз: ал ийгиликсиз болушу керек. Кайра туташыңыз, ал эч бир эрежеге тийбестен калыбына келиши керек. sudo ufw status verbose демейкилерди жана журнал абалын ырастайт, ал эми ufw status numbered сыноо эрежеси максатынан ашып кеткенде кайсынысын жок кылуу керектигин көрсөтөт.
Кайтарылма скриптти түз скрипттин жанында кармаңыз. Тышка чыгууну тыюу жана өлүк туннели бар машина өз оңдоосун жүктөй албайт, ошондуктан артка кайтаруу дискиде жатып, консолдон окулушу керек:
sudo ufw reset
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw enable
Аны туннел мурун эле өчүп, эрежелерди алуу керек болгондо иштетиңиз, кадимки кадам катары эмес. Терминалды жаппас мурун төрт нерсе аткарылышы керек: теңтуш эрежеси так бир даректи атайт, DNSтин аталган өзгөчөлүгү бар, күйгүзүү уруксаттардан кийин келди, ал эми туннелди тартуу жөнөкөй трафикти өлтүрөт, бирок кардарды такыр өлтүрбөйт.