Artykuł z cyklu ‘moje boje czyli uczymy się na błędach’.
Instalowałem bezdostępowy system dla klienta (Gentoo Linux). Zastosowanie nieważne, istotna jest konfiguracja sieci. Założenie jakie podjąłem, to pobieranie adresu IP z DHCP, a jeśli niedostępne, to konfiguracja na sztywno. To dobrze rozwiązuje poniższa konfiguracja (/etc/conf.d/net):
config_eth0=( "dhcp" )
fallback_eth0=( "A.B.C.D/E" )
W zasadzie wszystko wydawało się poprawnie skonfigurowane i po testach poszło do klienta, ale nie przewidziałem przypadku, że klient podłączy się bezpośrednio z systemem Windows XP. W takim przypadku dhcpcd (zainstalowany przeze mnie klient DHCP) po nieudanej próbie pobrania adresu z serwera używa APIPA (Automatic Private IP Addressing). I nie mamy ani DHCP, ani na sztywno wpisanego adresu (bo dhcpcd zwróci 0 po APIPA i nie dojdzie do fallback), a w zamian coś losowego z 169.254.0.0/16.
Na szczęście można temu zapobiec dodając opcję -L (lub --noipv4ll; ll od local link). Po więcej przełączników warto (jak zawsze) spojrzeć do dokumentacji.
