Преместив домашна 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 одговара, и тоа е она што го сакате од машина што мора да биде достапна по рестартирање на рутерот.

Цената е сопственост. Сега вие ги обезбедувате префиксот, портата и резолверите, и самите мора да ја држите адресата надвор од динамичниот базен. Во Ubuntu со 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 му припаѓа на ISP и може да се помести при повторно поврзување или замена на модем, за што служи динамичниот 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, јавната и базенот на тунелот, и означете кој систем ја поседува секоја. Кога следниот месец ќе откаже врска, ќе знаете која да ја проверите наместо да ги менувате сите три одеднаш.

Поврзани статии