Хатняму тунелю WireGuard патрэбны зваротны маршрут з LAN
Рукаўцісканне — гэта лёгкая частка. Вызначце падзел працы паміж роўтарам і шлюзам, пакіньце крыніцу ноўтбука нязменнай і дайце LAN зваротны маршрут.
Доступ дадому — гэта адна прыватная паслуга, а не другі выхад у інтэрнэт. 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. Дыяпазон тунеля не павінен перакрываць сетку, да якой ноўтбук ужо дастае, інакш прызначэнні становяцца неадназначнымі. Carrier-grade NAT або вышэйшы роўтар могуць блакаваць уваходны доступ, і ніякая лакальная перасылка порта гэтага не выправіць.
Абмяняйцеся ключамі, потым вызначце памер AllowedIPs
Стварыце асобную пару ключоў для кожнага пункта і пераносьце толькі публічныя ключы праз правераны канал. Запіс суседа на шлюзе дапускае толькі крыніцу тунеля ноўтбука, бо хатняя 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/32AllowedIPs — гэта хатні прэфікс плюс адрас тунеля шлюза, ніколі 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 і пакіньце астатнюю хатнюю сетку закрытай для гэтага суседа. Убудуйце правілы ў кіраўнік файрвола, які ўжо выкарыстоўваецца, замест таго каб яго скідваць. Маршрут для ўсяго хатняга прэфікса — не дазвол карыстацца кожнай прыладай унутры яго.
Уласная аўтэнтыфікацыя праграмы і файрвол хоста — асобная брама. Назавіце паслугу, якую дазваляе набор правілаў, каб наступны рэцэнзент мог зверыць яе з задуманай задачай.
Праверце звонку, потым выведзіце акуратна
Падніміце профілі праз іх уладальніка, пацвердзіце рукаўцісканне, затым праверце патрэбную праграму з дазволенай знешняй сеткі і праверце адказ. Паспрабуйце хатнюю паслугу, якая павінна заставацца забароненай, бо дазваляльнае правіла нябачнае, пакуль нешта ім не скарыстаецца. Для HTTPS выкарыстоўвайце імя з сертыфіката і дайце праверцы выканацца; увод сырага адраса і праходжанне праз папярэджанне нічога не даказваюць пра шлях. PersistentKeepalive неабавязковы: ён дапамагае суседу за NAT пасля прастою, але гэта не адсутны маршрут і не выпраўленне правоў.
Дынамічны публічны адрас патрабуе абнаўленняў DNS, і ноўтбук павінен паўторна вызначыць свой пункт пасля змены; новыя запісы DNS не перамяшчаюць наладжаны пункт. Выведзіце ноўтбук, выдаліўшы яго суседа з захаванай і актыўнай канфігурацыі; выдаленне аднаго профілю ноўтбука не адклікае дазвол шлюза.