Зашто DHCP резервација није статичка IP адреса за ваш VPN сервер
Резервација се поклапа са идентификатором клијента, а не са машином, и никада не чини вашу јавну IP адресу статичком. Шта заправо помера адресу кућног VPN сервера.
Преместио сам кућни VPN уређај са Wi-Fi на Ethernet и његова „трајна“ адреса се променила исте вечери. На рутеру ништа није било покварено. Резервација се поклапала са бежичним адаптером, а тог адаптера више није било на путу.
Иста заблуда има и другу половину. Поправљање LAN адресе не чини ништа за адресу на коју се повезују твоји пријатељи и нема никакве везе са приватним базеном који VPN даје клијентима. Три адресе, три одвојена начина отказа, и само један од њих је посао резервације.
Резервација се поклапа са клијентом, а не са уређајем
У DHCPv4 резервација је везана за хардверску адресу клијента; у DHCPv6 за DUID који клијент треба да задржи. Поље hostname је ознака за људе. Оно што рутер заиста пореди јесте идентификатор који стиже у захтеву.
Читајте запис као услов: када овај идентификатор пита, дајте му ову адресу. Обнове задржавају исти закуп док се поклапање држи, а поновно покретање само поново пита. Када се идентификатор промени, захтев промаши резервацију и клијент узима оно што динамички базен понуди. Без грешке, без упозорења, само друга адреса.
OpenWrt јасно показује облик. Један config host блок у /etc/config/dhcp повезује име, MAC и адресу, и документација о статичким закупима објашњава како тај запис сарађује са базеном. Други рутери крију иста три поља иза другачијих ознака.
Где се поклапање тихо прекида
Замена хардвера је уобичајен случај. Промените мрежну картицу или преместите машину између Ethernet-а и Wi-Fi-ја, и адреса коју рутер види мења се с њом. Стара резервација остаје на листи и даље изгледа исправно.
Поновна инсталација је други случај и најјаче гризе на IPv6. Нова инсталација може да створи нови DUID док је стари IPv4 закуп још важећи, па адреса v4 преживи неко време, а запис v6 престане да се примењује без икаквог видљивог уређивања.
Трећи је причвршћен идентификатор клијента. Неколико DHCP клијената дозвољава да поставите низ идентификатора уместо да користите MAC. Ако надоградња или преписивање конфигурације изостави то подешавање, поклапање нестаје иако се машина није померила.
Четврти је дуплирање: стари блок и нови блок за исти хост. Сервер одговара оним правилом које се поклопи, често адресом базена коју сте хтели да избегнете. Обришите стари запис уместо да додате други.
Конфигурација на страни хоста и шта кошта
Постављање адресе на хосту потпуно уклања питање поклапања. Интерфејс се подиже са том адресом без обзира на то да ли DHCP одговара, и то је оно што желите од машине која мора бити доступна након поновног покретања рутера.
Цена је власништво. Сада ви дајете префикс, мрежни пролаз и резолвере, и сами морате да држите адресу изван динамичког базена. На Ubuntuu са netplan-ом то носи /etc/netplan/01-vpn.yaml:
network:
version: 2
ethernets:
eth0:
dhcp4: false
addresses: [192.168.50.10/24]
routes:
- to: default
via: 192.168.50.1
nameservers:
addresses: [192.168.50.1]Корисници NetworkManager-а долазе до истог стања са nmcli con mod "Wired connection 1" ipv4.method manual ipv4.addresses 192.168.50.10/24 ipv4.gateway 192.168.50.1, затим са nmcli con up "Wired connection 1". Примените netplan са netplan try при првом покушају уместо са netplan apply; погрешно укуцан пролаз скида уређај са мреже и оставља вас да тражите конзолу.
Ипак задржите одговарајућу резервацију. Није сувишна. Запис бележи адресу на страни рутера и спречава DHCP сервер да ту адресу да гостујућем уређају ако неко касније прошири базен.
Стабилна LAN адреса није јавна крајња тачка
Усмерите прослеђивање порта на 192.168.50.10 и правило преживљава сваку промену на страни LAN-а. Стабилну интернет адресу вам не даје. Ваша јавна IP адреса припада провајдеру и може се померити при поновном повезивању или замени модема, за шта служи динамички DNS.
Иза NAT-а на нивоу оператера уопште нема јавне IPv4 адресе за прослеђивање и ниједна резервација је не ствара. Прво проверите WAN страницу рутера: ако је адреса у дељеном опсегу, долазно прослеђивање не може да ради, колико год резервација била чиста.
Трећа адреса је базен тунела, често нешто као 10.8.0.0/24. Те адресе постоје само унутар тунела и никада се не појављују на LAN-у. Њихово мешање са LAN адресом сервера је начин на који порт на крају заврши прослеђен клијенту који је онлајн само док је повезан.
Проверите путању оним редом којим се крши
Почните од рутера. Упоредите запис у табели закупа са циљем резервације; ако је сервер узео адресу базена, идентификатор је погрешан, а ip link show на хосту вам даје вредност за поређење.
Затим хост. ip -4 addr show eth0 треба да прикаже очекивану адресу и префикс. Друга адреса на истом интерфејсу обично значи да DHCP још ради поред ваше статичке конфигурације.
Затим прослеђивање. Потврдите да одредиште још увек одговара адреси коју сте управо проверили и да нешто слуша са ss -lntp. Прослеђивање ка затвореном порту споља изгледа тачно као покварено прослеђивање.
Завршите споља, на телефону са искљученим Wi-Fi-јем. Тај један тест раздваја „локална адреса је погрешна“ од „јавна доступност је покварена“, два проблема која ова постава стално меша.
Запишите три адресе, LAN, јавну и базен тунела, и означите који систем поседује сваку. Када следећег месеца веза откаже, знаћете коју да проверите уместо да мењате све три одједном.