Administracja siecią w Red Hat Enterprise Linux 7

Administracja siecią w RHEL6 oparta była głównie o manualną konfigurację serwisu „network”, a usługa „NetworkManager” była zwykle wyłączana. Administrator edytował pliki z katalogu /etc/sysconfig/network-scripts/ więc musiał znać stosowne dyrektywy, a nie było narzędzia, które mogłoby mu w tym pomóc.

Wraz z nadejściem Red Hat Enterprise Linux 7, zmieniło się podejście do konfiguracji sieci. Usługa „NetworkManager” została poszerzona o nowe narzędzie „nmcli”, które uwalnia administratora od konieczności samodzielnego modyfikowania plików konfiguracyjnych (konfiguracja „po staremu” nadal jest wspierana).

W Red Hat Enterprise Linux 7 Red Hat zaleca porzucenie poleceń „ifconfig” i „netstat” na rzecz „ip” i „ss”.

Poniżej przegląd popularnych poleceń wykorzystywanych do konfiguracji siecią ipv4:

1. Polecenie “ip”

(opcjonalnie) Załaduj kilka kart sieciowych.
# modprobe dummy numdummies=3
# ip addr ls label "dummy*"

a) Zmiana nazwy

# ip link set dev dummy0 name kkk

b) Zmiana MAC

# ip link set dev kkk address 00:21:cc:d2:4e:0c

c) Pokaż link na kartach

# ip link [ls|show]
# ip link ls up
# ip link ls dev eth0

d) Pokaż statystyki

# ip -s -s link ls dev eth0

e) Ustawienie standardowego loopbacku

# ip addr add 127.0.0.1/8 dev lo brd + scope host

f) Dodanie adresu IP

# ip addr add 10.10.10.10/24 dev eth0 [brd +]
(brd + <- ostatni adres sieci: 10.10.10.255 <- standard)
(brd - <- ostatni adres sieci: 10.10.10.0)

g) Listowanie adresów

# ip addr [ls|show]
# ip addr ls to 10.10.10/24
# ip addr ls dev eth0
# ip addr ls label "dummy*"
# ip addr ls {dynamic|permanent}

h) Usuwanie adresów

# ip addr del 10.10.10.10/24 dev eth0
# ip addr flush dev eth0
# ip addr flush to 10.10.10/24
# ip addr flush {dynamic|permanent}

i) Operacje na tablicy ARP

# ip neigh [ls|show]
# ip neigh flush 10.10.10.10
# ip neigh flush to 10.10.10/24
# ip neigh flush dev eth0

j) Routing

# ip route [ls|show]
# ip route add 172.16/16 via 172.168.1.1 [dev eth0] [src 172.168.1.5]
# ip route flush cache
# ip route get 10.10.10.10 [from 172.168.1.5]
# ip route del {default|0/0}
# ip route add default via 10.10.11.254 [dev eth0]

Skanowanie po UDP.
# traceroute hostname
Skanowanie po ICMP.
# traceroute -I hostname
Skanowanie po TCP.
# traceroute -T hostname

2. Wystawione usługi

Polecenie „ss" używa podobnych przełączniów co „netstat".
Połączenia tcp:
# ss -tapn 
Połączenia udp:
# ss -uapn
wszystkie połączenia tcp i udp:
# ss -taupn
# lsof -P -i[4|6] -n

3. NetworkManager – nmcli

(Bardzo dobrze działa podpowiadanie składni – “bash completion”)

a) Wszystkie zdefiniowane połączenia sieciowe

# nmcli connection show

b) Tylko aktywne w tym czasie

# nmcli connection show --active

c) Szczegóły konkretnego połączenia

# nmcli connection show "System eth0"

d) Status urządzeń

# nmcli device [status]

e) Status jednogo urządzenia

# nmcli device show eth0

f) Tworzenie nowego połączania

# nmcli connection add help

g) Połączenie z dhcp, autoconnect

# nmcli connection add con-name "default" ifname eth0

h) Połączenie statyczne, bez autoconnect

# nmcli connection add con-name "Eth0" ifname eth0 autoconnect no type ethernet ip4 24.24.24.24/24 gw4 24.24.24.254

i) Włącz/wyłącz dowolną sieć

# nmcli connection {up|down} "Eth0"

j) Włącz/wyłącz interfejs sieciowy

# nmcli device [dis]connect eth0

k) Ustawienie DNSów

# nmcli connection modify "static" ipv4.dns 172.16.16.16
# nmcli connection modify "static" +ipv4.dns 8.8.8.8

l) Zmiana ip i gateway’a

# nmcli connection modify "static" ipv4.addresses 10.10.10.10/24 ipv4.gateway 10.10.10.254

m) Dołożenie następnego ip

# nmcli connection modify "static" +ipv4.addresses "11.11.11.11/24"

n) Włączenie/wyłączenie sieci – wszystkich interfejsów zarządzanych przez NM

# nmcli networking on/off

4. Hostname

Zapomnij o /etc/sysconfig/network. Za konfigurację nazwy hosta odpowiada plik /etc/hostname lub użyj polecenia „hostnamectl”.

# hostnamectl [status]
# hostnamectl set-hostname host.example.com

A jeśli spanikujesz, to odpal „nmtui”.