Którym poleceniem w systemie Linux przypisuje się adres IP i maskę podsieci dla interfejsu eth0?
A. ipconfig eth0 172.16.31.1 netmask 255.255.0.0
B. ifconfig eth0 172.16.31.1 netmask 255.255.0.0
C. ipconfig eth0 172.16.31.1 mask 255.255.0.0
D. ifconfig eth0 172.16.31.1 mask 255.255.0.0
Pytanie z egzaminu CKE, wrzesień 2015 (arkusz E.13-X-15.08).
Wybrana komenda ifconfig eth0 172.16.31.1 netmask 255.255.0.0 jest poprawna, bo używa narzędzia ifconfig oraz właściwego parametru netmask do ustawienia maski podsieci na interfejsie eth0. W Linuksie ifconfig historycznie służyło do konfiguracji interfejsów sieciowych: można nim przypisać adres IPv4, maskę, włączyć interfejs poleceniem up albo sprawdzić aktualne ustawienia. W tym przykładzie eth0 to nazwa karty sieciowej, 172.16.31.1 to adres IP z prywatnej puli 172.16.0.0/12, a 255.255.0.0 oznacza maskę /16. W praktyce taka konfiguracja bywa używana przy szybkim testowaniu połączenia w sieci lokalnej, laboratorium szkolnym albo przy diagnostyce serwera bez aktywnego DHCP. Moim zdaniem warto jednak pamiętać, że ifconfig jest narzędziem starszym i w nowszych dystrybucjach częściej stosuje się ip addr add 172.16.31.1/16 dev eth0. Mimo to w pytaniu chodzi dokładnie o składnię ifconfig, a tam poprawne słowo kluczowe to netmask, nie samo mask. Dobra praktyka administracyjna jest taka, żeby po zmianie sprawdzić konfigurację poleceniem ifconfig eth0 lub ip addr show eth0 oraz upewnić się, że adres nie koliduje z innym urządzeniem w tej samej podsieci.
W tym zadaniu łatwo pomylić składnię poleceń z różnych systemów operacyjnych, bo nazwy narzędzi brzmią podobnie. ipconfig kojarzy się głównie z systemem Windows, gdzie służy do wyświetlania konfiguracji IP, odświeżania dzierżawy DHCP albo sprawdzania bramy domyślnej. W typowym Linuksie nie używa się ipconfig do przypisywania adresu interfejsowi eth0. To częsty błąd myślowy: ktoś pamięta, że konfiguracja IP brzmi jak ip config, więc wybiera ipconfig, ale administracyjnie to nie ta rodzina poleceń. W Linuksie historycznie używano ifconfig, a obecnie zalecane jest raczej narzędzie ip z pakietu iproute2. Druga pułapka dotyczy parametru mask. W składni ifconfig do podania maski podsieci stosuje się słowo netmask, czyli na przykład ifconfig eth0 172.16.31.1 netmask 255.255.0.0. Samo mask nie jest poprawnym parametrem dla tego polecenia w tym kontekście. Z mojego doświadczenia wynika, że takie pomyłki wychodzą często przy pracy w terminalu, gdy ktoś zna ideę adresu IP i maski, ale nie zapamiętał dokładnej składni narzędzia. A terminal jest dość bezlitosny, jedna literówka albo zły parametr i konfiguracja się nie wykona. Warto też zauważyć, że eth0 to klasyczna nazwa interfejsu Ethernet, choć w nowszych dystrybucjach spotkasz nazwy typu ens33, enp0s3 czy eno1. Sens konfiguracji pozostaje taki sam: adres IP musi pasować do maski podsieci i planu adresacji, a przed ustawieniem go ręcznie dobrze jest sprawdzić, czy nie działa DHCP oraz czy dany adres nie jest już zajęty w sieci.