Кућни 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. Опсег тунела не сме да се преклапа с мрежом до које лаптоп већ стиже, иначе одредишта постају двосмислена. 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/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 и оставите остатак кућне мреже затворен за тај peer. Интегришите правила у већ коришћени менаџер заштитног зида уместо да га испразните. Рута за цео кућни префикс није дозвола за коришћење сваког уређаја унутра.
Сопствена аутентификација апликације и заштитни зид домаћина су одвојена капија. Именујте услугу коју скуп правила дозвољава, да би следећи рецензент могао да је упореди са предвиђеним задатком.
Тестирајте споља, затим изведите чисто
Подигните профиле преко њиховог власника, потврдите руковање, затим испробајте предвиђену апликацију из одобрене спољне мреже и проверите одговор. Покушајте кућну услугу која мора да остане одбијена, јер је правило које дозвољава невидљиво док га нешто не употреби. За HTTPS користите име са сертификата и пустите валидацију да ради; куцање сирове адресе и прелажење преко упозорења ништа не доказује о путањи. PersistentKeepalive је опцион: помаже peer-у везаном за NAT после мировања, али то није рута која недостаје ни исправка дозволе.
Динамична јавна адреса захтева ажурирања DNS-а, а лаптоп мора поново да реши своју крајњу тачку после промене; нови DNS записи не померају конфигурисану крајњу тачку. Изведите лаптоп уклањањем његовог peer-а из сачуване и активне конфигурације; брисање само профила лаптопа не опозива ауторизацију пролаза.