nmcli

  1. Zaloguj się na maszynę wirtualną i skontroluj ustawienia interfejsów sieciowych. Porównaj wyniki komend:

    # ip address show
    # nmcli c[onnection] s[how]
    

    Czy w katalogu /etc/sysconfig/network-scripts znajduje się plik powiązany z interfejsem eth0?

    Porównaj wynik działania komend:

    # nmcli [-p] c s 'System eth0'
    # nmcli [-p] -f ip4 device show eth0
    

    Jaki serwer DNS jest zdefiniowany dla tego interfejsu?

    Zdefiniuj dodatkowy serwer DNS:

    # nmcli con mod 'System eth0' ipv4.dns 8.8.8.8
    

    Czy w katalogu /etc/sysconfig/network-scripts pojawił się plik powiązany z interfejsem eth0? Sprawdź jego zawartość.

  2. Utwórz połączenie oparte o interfejs eth1 nadając mu statyczne adresy z sieci 10.111.0.0/24 i 20.111.0.0/24:

    # nmcli con add type ethernet con-name labul ifname eth1 ip4 10.111.1.i/24 ip4 20.111.1.i/24 gw4 10.111.1.254
    

    gdzie i jest numerem maszyny wirtualnej.

    W katalogu /etc/sysconfig/network-scripts pojawił się plik powiązany z interfejsem eth1. Sprawdź jego zawartość.

  3. Obserwuj skutki działania komend nmcli con up|down labul oraz nmcli [-p] d[evice] s[how].

  4. Czy poniższe komendy pozwalają na przypisanie dwóch adresów do jednego interfejsu:

    # nmcli con add type ethernet con-name labul10 ifname eth2 ip4 10.111.1.i/24 gw4 10.111.1.254
    # nmcli con add type ethernet con-name labul20 ifname eth2 ip4 20.111.1.i/24 gw4 20.111.1.254
    

    Obserwuj skutki działania komend:

    # nmcli c up labul10; nmcli c; nmcli dev s
    # nmcli c up labul20; nmcli c; nmcli dev s
    
  5. Dodaj do pliku definiującego interfejs labul10 zmienną NM_CONTROLLED i porównaj działanie komend ifup|down eth1 oraz nmcli c s przy zmiennej ustawionej na “yes|no”. (Po każdej zmianie pliku konfiguracyjnego wymuś ponowne wczytanie pliku konfiguracyjnego, tj. zastosuj komendę nmcli con load /etc/sysconfig/network-scripts/ifcfg-labul10 lub nmcli con reload):

  6. Sprawdzić, czym różni się działanie komend

    # nmcli con up|down [id] name
    # nmcli con up|down [uuid] uuid
    

    od

    # nmcli dev [dis]connect eth1
    
  7. Wypróbuj edycję połączeń i ich własności używając komendy nmcli con edit. Jakie połączenie domyślnie podlega edycji?

  8. Przy pomocy nmcli con edit zmień adres IP przypisany do interfejsu eth1.

  9. Maszyna wirtualna wyposażona jest w dodatkowe interfejsy eth1 i eth2, które mogą zostać wykorzystane do utworzenia połączenia typu team. W tym celu należy wykonać następujące komendy:

    # nmcli con add con-name "team-team0" ifname team0 type team ip4 10.10.10.i/24 gw4 10.10.10.254
    # nmcli con add type ethernet con-name "team0-port1" ifname eth1 master team0
    # nmcli con add type ethernet con-name "team0-port2" ifname eth2 master team0
    

    Jakie pliki zostały utworzone w /etc/sysconfig/network-scripts? Co pokazują komendy

    # nmcli -p con show team-team0
    # nmcli -p con show team0-port1|2
    

    Czy działa komenda nmcli con up team-team0? Czy można użyć tego interfejsu do połączenia się z innymi hostami w lokalnej sieci? Monitoruj połączenie między hostami przy pomocy komendy ping i sprawdź, co się dzieje, jeśli jeden z interfejsów team-u zmienia status z up na down (ip link set down|up dev eth1).

    Interfejs tego typu może być zarządzany i monitorowany przy pomocy komendy teamdctl, np. teamdctl team0 state. Więcej man teamdctl. Zob. także man teamnl. W szczególności można zmienić domyślną metodę sterowania ruchem (roundrobin). teamd wspiera następujące metody (zob. https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_and_managing_networking/configuring-network-teaming_configuring-and-managing-networking):

    • roundrobin: Transmits data over all ports in turn.

    • broadcast: Transmits data over all ports.

    • activebackup: Transmits data over one port while the others are kept as a backup.

    • loadbalance: Transmits data over all ports with active Tx load balancing and Berkeley Packet Filter (BPF)-based Tx port selectors.

    • random: Transmits data on a randomly selected port.

    • lcap: Implements the 802.3ad Link Aggregation Control Protocol (LACP).

  10. Korzystając z drugiego z interfejsów ethernetowych, eth1, utwórz dodatkowe dwa interfejsy do komunikacji w ramach dwóch VLAN-ów: 10 i 20:

    # nmcli con add type vlan con-name vlan10 dev eth1 id 10
    # nmcli con add type vlan con-name vlan20 dev eth1 id 20 ip4 10.10.10.i/24 gw4 10.10.10.254
    

    W przypadku drugiej z komend trzeba zadbać, żeby dla każdej używanej maszyny wirtualnej adres IP interfejsu eth1.20@eth1 był inny. Czy istnieje połączenie między maszynami w ramach sieci 10.10.10.0/24?

  11. Sprawdź zawartość plików /etc/sysconfig/network-manager/ifcfg-vlan10|20.

  12. Jeśli interfejsy VLAN nie są potrzebne, to można je łatwo usunąć przy pomocy komendy nmcli con delete vlan10 vlan20.