Narzędzia sieciowe

Konfiguracja w systemie Linux

Stacja z zainstalowanym systemem Linux pełni w sieci Internet jedną z dwóch ról:

  • komputer – wysyła i odbiera pakiety sieciowe
  • ruter – wysyła, odbiera pakiety, przekazuje pakiety między stacjami w sieci

Każdy komputer jest dołączony do sieci komputerowej przez co najmniej jedną kartę sieciową. Dana karta związana jest z pewną technologią sieci lokalnej, np. Ethernet, FDDI, Token Ring itd.

Karta sieciowa stanowi dla komputera interfejs fizyczny, łączący komputer z siecią (ninterfejs ethernetowym). Z każdym interfejsem fizycznym związany jest adres sprzętowy: MAC.

Z kolei interfejs logiczny jest punktem dostępu do sieci logicznej (np. sieci IP). Każdy interfejs logiczny posiada adres IP. W systemie Linux z danym interfejsem fizycznym może być związanych wiele interfejsów logicznych. Tj. karta sieciowa może mieć wiele adresów IP.

Każdy interfejs fizyczny i logiczny posiada swój numer, np.

  • eth0 określa interfejs fizyczny – kartę nr 0 w technologii Ethernet i jednocześnie domyślny interfejs logiczny (jeśli karta jest związana z jednym adresem IP)
  • eth0:1 określa interfejs logiczny nr 1 przy interfejsie fizycznym eth0

Typowe nazwy urządzeń:

  • lo – pętla zwrotna (loopback)

  • eth – przewodowe karty sieciowe (ethernet)

  • wlan, ath, wifi, radio – bezprzewodowe karty sieciowe

  • firewire, ib – firewire, infiniband

  • urządzenia wirtualne, mostki, tunele:

    • dummy
    • br, tun, tap
    • sit, tnl, ppp, vpn, gre
  • PredictableNetworkInterfaceNames:

    • eno1
    • sls1
    • wwp2s0
    • wlx78e7d1ea46da

Pakiety

Pakiet net-tools powstał w 1983 roku (początkowo w systemie BSD). Od tego czasu jest utrzymywany, jednak od przeszło 10 lat nie jest rozwijany.

Skład pakietu:

  • arp
  • dnsdomainname
  • domainname
  • hostname
  • ifconfig
  • ipmaddr
  • iptunnel
  • mii-tool
  • nameif
  • netstat
  • nisdomainname
  • plipconfig
  • rarp
  • route
  • slattach
  • ypdomainname

Pakiet iproute2 powstał około roku 2000 żeby zastąpić starsze pakiety (w tym net-tools) i dać dostęp do nowych możliwości kernela.

Skład pakietu:

  • arpd
  • ctstat
  • genl
  • ifcfg
  • ifstat
  • ip
  • lnstat
  • nstat
  • routef
  • routel
  • rtacct
  • rtmon
  • rtpr
  • rtstat
  • ss
  • tc

Inne narzędzia:

  • iputils:

    • narzędzia
    • arping
    • clockdiff
    • ipg
    • ping
    • ping6
    • rarpd
    • rdisc
    • tftpd
    • tracepath
    • tracepath6
    • traceroute6
  • traceroute

  • mtr

Polecenie ip

Pomoc: ip [argumenty] help, np.:

  • ip addr help
  • ip link help

Czytanie pomocy:

Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }
       ip [ -force ] -batch filename
where  OBJECT := { link | addr | addrlabel | route | rule | neigh | ntable |
                   tunnel | tuntap | maddr | mroute | mrule | monitor | xfrm |
                   netns | l2tp | tcp_metrics | token }
       OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |
                    -f[amily] { inet | inet6 | ipx | dnet | bridge | link } |
                    -4 | -6 | -I | -D | -B | -0 |
                    -l[oops] { maximum-addr-flush-attempts } |
                    -o[neline] | -t[imestamp] | -b[atch] [filename] |
                    -rc[vbuf] [size]}

Argumenty polecenia ip można dowolnie skracać, ale jeśli skróty kolidują, narzędzie samodzielnie wybiera rozwinięcie, więc wskazana jest ostrożność. Np. ip link show można zapisać jako ip l sh, ale ip l s jest już traktowane jako ip link set.

Konfiguracja urządzeń

Pokazanie stanu urządzeń;

  • ip link show – wszystkie urządzenia
  • ip link show dev eth0 – urządzenie eth0

Podniesienie/zatrzymanie urządzenia eth0:

  • ip link set dev eth0 up
  • ip link set dev eth0 down

Adresy IP

Pokazanie adresów ip urządzeń;

  • ip addr show – wszystkie urządzenia
  • ip addr show dev eth0 – urządzenie eth0

Przypisanie, usunięcie adresu 10.0.0.1/25 do/z urządzenia eth0:

  • ip addr add dev eth0 10.0.0.1/25
  • ip addr del dev eth0 10.0.0.1/25

Uwaga! podanie maski jest niezbędne, w przeciwnym wypadku maska jest ustawiana jako /32.

Usunięcie wszystkich adresów urządzenia eth0:

  • ip addr flush dev eth0

Przydatne komendy

  1. Identyfikacja urządzenia: ethtool -p eth0
  2. Sprawdzenie dostępności hosta: ping HOST
  3. Ścieżka do hosta: traceroute HOST, mtr HOST