Linux Ubuntu - zarządzanie sieciami
Praca w środowisku graficznym (GUI)
W środowisku graficznym sieć konfigurujemy za pomocą programu Network Manager. Jeśli ktoś jest przyzwyczajony do ręcznej konfiguracji poprzez terminal oraz zmianę plików to się zdziwi, że to nie działa jak trzeba.
Sprawdzenie konfiguracji sieciowej GUI
Klikamy ikonę sieci na panelu menu albo z launchera wybieramy ustawienia systemu => sieć
Konfigurowanie połączenia sieciowego GUI
Jak widać adresacja IP jest pobierana automatycznie. Ustawimy ją ręcznie.
Konfigurowanie połączenia bezprzewodowego GUI
Analogicznie jak z przewodowym.
Polecenia sieciowe
ifconfig
Polecenie ifconfig
służy do sprawdzenia i zmieniania konfiguracji interfejsów.
Przykład użycia:
uczen@linux:~$ ifconfig eth0 Link encap:Ethernet HWaddr 08:00:27:6d:43:f9 inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe6d:43f9/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:34 errors:0 dropped:0 overruns:0 frame:0 TX packets:88 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:4217 (4.2 KB) TX bytes:11656 (11.6 KB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:36 errors:0 dropped:0 overruns:0 frame:0 TX packets:36 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:3671 (3.6 KB) TX bytes:3671 (3.6 KB)
Przy większej liczbie interfejsów możemy wyświetlić informacje o pojedyńczym, np. ifconfig eth0
. Jeśli z kolei chcemy wyświetlić wszystkie, nawet nieużywane interfejsy wtedy ifconfig -a
.
ping
Polecenie ping
służy do diagnozowania połączeń sieciowych. Sprawdza aktywność hosta w sieci.
Przykład:
uczen@linux:~$ ping soisk.info PING soisk.info (176.119.32.183) 56(84) bytes of data. 64 bytes from cl2.netmark.pl (176.119.32.183): icmp_seq=1 ttl=56 time=26.2 ms 64 bytes from cl2.netmark.pl (176.119.32.183): icmp_seq=2 ttl=56 time=25.4 ms 64 bytes from cl2.netmark.pl (176.119.32.183): icmp_seq=3 ttl=56 time=26.9 ms 64 bytes from cl2.netmark.pl (176.119.32.183): icmp_seq=4 ttl=56 time=26.9 ms 64 bytes from cl2.netmark.pl (176.119.32.183): icmp_seq=5 ttl=56 time=26.9 ms ^C --- soisk.info ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4011ms rtt min/avg/max/mdev = 25.443/26.512/26.996/0.620 ms uczen@linux:~$ ping 10.0.0.1 PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data. 64 bytes from 10.0.0.1: icmp_seq=1 ttl=127 time=2.13 ms 64 bytes from 10.0.0.1: icmp_seq=2 ttl=127 time=3.72 ms 64 bytes from 10.0.0.1: icmp_seq=3 ttl=127 time=2.56 ms ^C --- 10.0.0.1 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2016ms rtt min/avg/max/mdev = 2.137/2.810/3.727/0.671 ms
W odróżnieniu od wersji windowsowej wysyłana jest nieograniczona ilość pakietów oraz wielkość pakietu jest dwa razy większa.
traceroute
Program traceroute
służy do badania trasy pakietów w sieci. W Ubuntu obecnie nie jest natywnie obsługiwany, trzeba go doinstalować.
mtr
Program mtr
jest połączeniem poleceń ping
oraz traceroute
. Jest obecny w Ubuntu.
Przykład:
mtr soisk.info
route
Program route
służy do sprawdzenia i konfiguracji tras. W poniższym przykładzie wyświetla tabelę routingu/
uczen@linux:~$ route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default 10.0.2.2 0.0.0.0 UG 0 0 0 eth0 10.0.2.0 * 255.255.255.0 U 0 0 0 eth0 link-local * 255.255.0.0 U 1000 0 0 eth0
nslookup
Polecenie nslookup
służy do odpytywania serwerów DNS. Poniżej zapytanie o adres domenowy soisk.info
. Uzyskano odpowiedź 176.119.32.183
. Jak widać ta odpowiedź jest Non-authoritative answer
, czyli nasz serwer nie miał adresu w swojej strefie i musiał odpytać inne serwery.
uczen@linux:~$ nslookup > soisk.info Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: Name: soisk.info Address: 176.119.32.183 >
dig
Program dig
odpytuje serwery DNS wyciągając szereg informacji.
Poniżej odpytano wpisany w konfigurację sieciową na stałe serwer DNS 8.8.8.8 (serwer DNS google) o adres soisk.info.
uczen@linux:~$ dig soisk.info ; <<>> DiG 9.9.5-3-Ubuntu <<>> soisk.info ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17855 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;soisk.info. IN A ;; ANSWER SECTION: soisk.info. 14399 IN A 176.119.32.183 ;; Query time: 176 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Mon May 23 10:18:42 CEST 2016 ;; MSG SIZE rcvd: 55
Zapytanie zostało skierowane na inny serwer (akurat lokalny serwer DNS dla domeny zsmi.local). Zapytanie dotyczy hosta serwer-pliki
, pełniącego rolę serwera plików.
uczen@linux:~$ dig @10.0.0.2 serwer-pliki.zsmi.local ; <<>> DiG 9.9.5-3-Ubuntu <<>> @10.0.0.2 serwer-pliki.zsmi.local ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28464 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4000 ;; QUESTION SECTION: ;serwer-pliki.zsmi.local. IN A ;; ANSWER SECTION: serwer-pliki.zsmi.local. 1200 IN A 10.0.0.4 ;; Query time: 10 msec ;; SERVER: 10.0.0.2#53(10.0.0.2) ;; WHEN: Mon May 23 10:27:03 CEST 2016 ;; MSG SIZE rcvd: 68
Pliki konfiguracyjne sieci (do wersji ubuntu 16.04)
Jak wspomniano wyżej w zwykłej, klienckiej wersji ubuntu, pliki konfiguracyjne istnieją, ale za konfigurację sieciową odpowiada Network Manager. Można go co prawda odinstalować albo wyłączyć. Ja użyłem do ćwiczeń serwerowej wersji Ubuntu, czyli Ubuntu Server. Tu wszystko działa jak trzeba.
/etc/network/interfaces
Dokładny opis w manualu man 5 interfaces
Przykład pliku:
# This file describes the network interfaces available on your system # and to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet dhcp
auto nazwa_interfejsu
interfejs ustawiany jest automatycznie podczas rozruchu.
iface nazwa_interfejsu
definiuje interfejs i tworzy jego ustawienia. Jak widać interfejs eth0 otrzymuje adresację z DHCP.
Przykład konfiguracji statycznej interfejsu eth0:
# This file describes the network interfaces available on your system # and to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 192.168.200.101 netmask 255.255.255.0 gateway 192.168.200.1
/etc/resolv.conf
Plik jest ustawiany automatycznie przy pobieraniu adresu z DHCP. W pliku znajdują się adresy serwerów DNS.
Przykład pliku
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver 10.0.0.2 search zsmi.local
/etc/hosts
Dawno, dawno temu, gdy nie było serwerów DNS nazwy definiowało się w tym pliku. Można go użyć do rozpoznawania nazw w sieci LAN.
127.0.0.1 localhost 127.0.1.1 linux # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters
Restartowanie interfejsu
Po zmianie konfiguracji adresacji IP należy zrestartować interfejs.
Polecenie ifdown eth0
wyłącza interfejs eth0.
uczen@linux:~$ sudo ifdown eth0 Internet Systems Consortium DHCP Client 4.2.4 Copyright 2004-2012 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/ Listening on LPF/eth0/08:00:27:6d:43:f9 Sending on LPF/eth0/08:00:27:6d:43:f9 Sending on Socket/fallback
Polecenie ifup eth0
włącza interfejs eth0.
uczen@linux:~$ sudo ifup eth0 Internet Systems Consortium DHCP Client 4.2.4 Copyright 2004-2012 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/ Listening on LPF/eth0/08:00:27:6d:43:f9 Sending on LPF/eth0/08:00:27:6d:43:f9 Sending on Socket/fallback DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3 (xid=0x6a02e075) DHCPREQUEST of 10.0.2.15 on eth0 to 255.255.255.255 port 67 (xid=0x6a02e075) DHCPOFFER of 10.0.2.15 from 10.0.2.2 DHCPACK of 10.0.2.15 from 10.0.2.2 bound to 10.0.2.15 -- renewal in 33483 seconds.
Konfigurowanie sieci poprzez netplan
W temacie pod linkiem wszystko wyjaśnione Ubuntu Server 20.04 - konfigurowanie sieci poprzez netplan