Үйге кіру — бір жеке қызмет, екінші интернет шығысы емес. WireGuard роутердің артындағы Linux машинасында аяқталады, роутер өзінің қазіргі жұмысын сақтайды, ал ноутбук туннель арқылы тек үй префиксін жібереді. Қай құрылғы жіберіп отырады және қайсысы аяқтайды — кейінгі әрбір ереже осыдан шығатын шешім. Осы бөлуді қате жасасаңыз, қосуды ойламаған NAT-ты жөндейсіз.

Кім жіберіп отыратынын және кім аяқтайтынын шешіңіз

Жалпыға ашық кіруді роутер ұстайды: ол UDP пакетін қабылдап, Linux хостқа береді. Сол хост WireGuard тыңдаушысын және LAN-ға жіберу шешімін ұстайды. Іс жүзінде салыстыру UDP 51820-ны 192.168.50.10-ға жібереді, ал қолданбаның өз порты жабық қалады. Рөлдерді бөлек ұстау файрволды қысқа ұстайды.

Интерфейсті жасамас бұрын мекенжай жоспарын жазыңыз. Роутер 192.168.50.1, шлюз 192.168.50.10, қызмет 192.168.50.20, туннель 10.77.0.0/24, шлюз .1 және ноутбук .2. Туннель ауқымы ноутбук қазірдің өзінде жететін желімен қабаттаспауы керек, әйтпесе межелер екіұшты болады. Оператор деңгейіндегі NAT немесе жоғары роутер кіріс қатынасын бөгей алады, және ешбір жергілікті порт бағыттауы оны түзетпейді.

Кілттерді алмасыңыз, сосын AllowedIPs өлшемін белгілеңіз

Әр шет үшін бөлек кілт жұбын жасаңыз және тек ашық кілттерді тексерілген арна арқылы жеткізіңіз. Шлюздің peer жазбасы тек ноутбук туннелінің көзін рұқсат етеді, өйткені үй LAN-ы ноутбуктің емес, шлюздің артында. LAN-ды сол жазбаға қою — сіз салмаған топологияны сипаттау.

[Interface]
Address = 10.77.0.2/32
PrivateKey = LAPTOP_PRIVATE_KEY_BASE64

[Peer]
PublicKey = HOME_PUBLIC_KEY_BASE64
Endpoint = home-vpn.example.com:51820
AllowedIPs = 192.168.50.0/24, 10.77.0.1/32

AllowedIPs — үй префиксі қосу шлюздің туннель мекенжайы, ешқашан 0.0.0.0/0 емес, сондықтан кәдімгі шолу өз жергілікті жолын сақтайды. Бір конфигурация иесін ұстаңыз және сол интерфейсті екінші желі менеджеріне ешқашан қоспаңыз.

Қайтару маршруты — адамдар өткізіп жіберетін бөлік

Бұл дизайн ноутбуктің 10.77.0.2 көзін шлюз ретінде жасырмай сақтайды, сондықтан үй құрылғылары оған қалай жауап беруді білуі керек. Үй роутеріне 10.77.0.0/24 үшін келесі секіріс 192.168.50.10 болатын статикалық маршрут қосыңыз және wg-quick-тің AllowedIPs-тен нені шығаратынын оның анықтамасында оқыңыз. Сол маршрутсыз аяқталған қол алысу ешқашан келмейтін қолданба жауаптарымен қатар өмір сүреді.

Егер роутер бұл маршрутты көтере алмаса, құжатталған қайтару дизайнын таңдаңыз. Үнсіз NAT қосу орнына жаңа жазылған көз моделін өзгертеді.

Бір қызметке рұқсат етіңіз, қосымша желіге емес

Шлюзде IPv4 жіберуді қосыңыз және файрволдың үш міндетін бөлек ұстаңыз: WireGuard тыңдаушысын өткізіңіз, ноутбук көзін тек 192.168.50.20-ға жіберіңіз және үй желісінің қалғанын сол peer үшін жабық қалдырыңыз. Ережелерді қолданыстағы файрвол менеджеріне біріктіріңіз, оны тазаламаңыз. Бүкіл үй префиксіне арналған маршрут оның ішіндегі әр құрылғыны пайдалануға рұқсат емес.

Қолданбаның өз аутентификациясы мен хост файрволы — бөлек қақпа. Ережелер жиынтығы рұқсат ететін қызметті атаңыз, келесі шолушы оны көзделген тапсырмамен салыстыра алсын.

Сырттан сынап көріңіз, сосын таза шығарыңыз

Профильдерді иесі арқылы көтеріңіз, қол алысуды растаңыз, сосын көзделген қолданбаны рұқсат етілген сыртқы желіден іске қосып, жауапты тексеріңіз. Рұқсат етілмейтін болып қалуы тиіс үй қызметін де байқап көріңіз, өйткені рұқсат беретін ереже оны бірдеңе пайдаланғанша көрінбейді. HTTPS үшін сертификаттағы атауды пайдаланып, тексеруді жүргізіңіз; шикі мекенжайды теру және ескертуден өту жол туралы ештеңе дәлелдемейді. PersistentKeepalive міндетті емес: бос тұрғаннан кейін NAT-қа байланған peer-ге көмектеседі, бірақ ол жетіспейтін маршрут та, рұқсатты түзету де емес.

Динамикалық ашық мекенжай DNS жаңартуларын қажет етеді, ал ноутбук өзгерістен кейін өз соңғы нүктесін қайта шешуі керек; жаңа DNS жазбалары конфигурацияланған соңғы нүктені жылжытпайды. Ноутбукті сақталған және белсенді конфигурациядан оның peer-ін алып тастау арқылы шығарыңыз; тек ноутбук профилін жою шлюздің рұқсатын күшінен шығармайды.

Қатысты мақалалар