Linux Ubuntu - zarządzanie sieciami

Z Systemy operacyjne i sieci komputerowe
Przejdź do nawigacji Przejdź do wyszukiwania


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ć

Ubuntusiec1.png

Ubuntusiec2.png

Konfigurowanie połączenia sieciowego GUI

Ubuntusiec3.png

Ubuntusiec4.png

Jak widać adresacja IP jest pobierana automatycznie. Ustawimy ją ręcznie.

Ubuntusiec5.png

Ubuntusiec6.png

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

Ubuntusiec10.png

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