Linux Sysadmins rokasgrāmata tīkla pārvaldībai, problēmu novēršanai un atkļūdošanai


Sistēmas administratora ikdienas uzdevumi ietver serveru un tīklu konfigurēšanu, uzturēšanu, problēmu novēršanu un pārvaldību datu centros. Linux ir daudz rīku un utilītu, kas paredzēti administratīviem mērķiem.

Šajā rakstā mēs pārskatīsim dažus no visbiežāk izmantotajiem komandrindas rīkiem un utilītprogrammām tīkla pārvaldībai Linux dažādās kategorijās. Mēs izskaidrosim dažus izplatītākos lietošanas piemērus, kas ievērojami atvieglos tīkla pārvaldību Linux.

Šis saraksts ir vienlīdz noderīgs pilna laika tīkla inženieriem.

Tīkla konfigurācijas, problēmu novēršanas un atkļūdošanas rīki

ifconfig ir komandrindas saskarnes rīks tīkla saskarnes konfigurēšanai un tiek izmantots arī saskarņu inicializēšanai sistēmas sāknēšanas laikā. Kad serveris ir izveidots un darbojas, to var izmantot, lai interfeisam piešķirtu IP adresi un pēc pieprasījuma iespējotu vai atspējotu interfeisu.

To izmanto arī, lai skatītu pašreiz aktīvo saskarņu statusu IP adrese, Aparatūra/MAC adrese, kā arī MTU (Maximum Transmission Unit) lielumu. Tādējādi ifconfig ir noderīgs atkļūdošanai vai sistēmas regulēšanai.

Šeit ir piemērs, kā parādīt visu aktīvo tīkla saskarņu statusu.

$ ifconfig

enp1s0    Link encap:Ethernet  HWaddr 28:d2:44:eb:bd:98  
          inet addr:192.168.0.103  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::8f0c:7825:8057:5eec/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:169854 errors:0 dropped:0 overruns:0 frame:0
          TX packets:125995 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:174146270 (174.1 MB)  TX bytes:21062129 (21.0 MB)

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:15793 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15793 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:2898946 (2.8 MB)  TX bytes:2898946 (2.8 MB)

Lai uzskaitītu visas pašreiz pieejamās saskarnes augšup vai lejup, izmantojiet karodziņu -a .

$ ifconfig -a 	

Lai interfeisam piešķirtu IP adresi, izmantojiet šo komandu.

$ sudo ifconfig eth0 192.168.56.5 netmask 255.255.255.0

Lai aktivizētu tīkla saskarni, ierakstiet.

$ sudo ifconfig up eth0

Lai deaktivizētu vai izslēgtu tīkla saskarni, ierakstiet.

$ sudo ifconfig down eth0

Piezīme: Lai gan, ja ifconfig ir lielisks rīks, tas tagad ir novecojis (novecojis), tā aizstāšana ir ip komanda, kas ir paskaidrota zemāk.

Kāda ir atšķirība starp ifconfig un ip komandu ”, lai uzzinātu vairāk par to.)

Šī komanda parādīs IP adresi un citu informāciju par tīkla saskarni.

$ ip addr show

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 28:d2:44:eb:bd:98 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.103/24 brd 192.168.0.255 scope global dynamic enp1s0
       valid_lft 5772sec preferred_lft 5772sec
    inet6 fe80::8f0c:7825:8057:5eec/64 scope link 
       valid_lft forever preferred_lft forever
3: wlp2s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 38:b1:db:7c:78:c7 brd ff:ff:ff:ff:ff:ff
...

Lai īslaicīgi piešķirtu IP adresi noteiktam tīkla interfeisam (eth0), ierakstiet.

$ sudo ip addr add 192.168.56.1 dev eth0

Lai noņemtu piešķirto IP adresi no tīkla saskarnes (eth0), ierakstiet.

$ sudo ip addr del 192.168.56.15/24 dev eth0

Lai kodolā parādītu pašreizējo kaimiņu tabulu, ierakstiet.

$ ip neigh

192.168.0.1 dev enp1s0 lladdr 10:fe:ed:3d:f3:82 REACHABLE

ifup komanda aktivizē tīkla saskarni, padarot to pieejamu datu pārsūtīšanai un saņemšanai.

$ sudo ifup eth0

ifdown komanda atspējo tīkla saskarni, saglabājot to stāvoklī, kurā tā nevar pārsūtīt vai saņemt datus.

$ sudo ifdown eth0

ifquery komandu izmanto, lai parsētu tīkla saskarnes konfigurāciju, ļaujot jums saņemt atbildes uz vaicājumu par to, kā tā pašlaik ir konfigurēta.

$ sudo ifquery eth0

ethtool ir komandrindas lietderība tīkla interfeisa kontrollera parametru un ierīču draiveru vaicāšanai un modificēšanai. Tālāk sniegtajā piemērā parādīts ethtool un komandas lietojums, lai apskatītu tīkla saskarnes parametrus.

$ sudo ethtool enp0s3

Settings for enp0s3:
	Supported ports: [ TP ]
	Supported link modes:   10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Supported pause frame use: No
	Supports auto-negotiation: Yes
	Advertised link modes:  10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Advertised pause frame use: No
	Advertised auto-negotiation: Yes
	Speed: 1000Mb/s
	Duplex: Full
	Port: Twisted Pair
	PHYAD: 0
	Transceiver: internal
	Auto-negotiation: on
	MDI-X: off (auto)
	Supports Wake-on: umbg
	Wake-on: d
	Current message level: 0x00000007 (7)
			       drv probe link
	Link detected: yes

ping (Packet INternet Groper) ir utilīta, ko parasti izmanto, lai pārbaudītu savienojamību starp divām tīkla sistēmām (lokālais tīkls (LAN) vai platjoslas tīkls (WAN)). Tas izmanto ICMP (Internet Control Message Protocol), lai sazinātos ar tīkla mezgliem.

Lai pārbaudītu savienojamību ar citu mezglu, vienkārši norādiet, piemēram, tā IP vai resursdatora nosaukumu.

$ ping 192.168.0.103

PING 192.168.0.103 (192.168.0.103) 56(84) bytes of data.
64 bytes from 192.168.0.103: icmp_seq=1 ttl=64 time=0.191 ms
64 bytes from 192.168.0.103: icmp_seq=2 ttl=64 time=0.156 ms
64 bytes from 192.168.0.103: icmp_seq=3 ttl=64 time=0.179 ms
64 bytes from 192.168.0.103: icmp_seq=4 ttl=64 time=0.182 ms
64 bytes from 192.168.0.103: icmp_seq=5 ttl=64 time=0.207 ms
64 bytes from 192.168.0.103: icmp_seq=6 ttl=64 time=0.157 ms
^C
--- 192.168.0.103 ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5099ms
rtt min/avg/max/mdev = 0.156/0.178/0.207/0.023 ms

Jūs varat arī pateikt ping iziet pēc noteikta ECHO_REQUEST pakešu skaita, izmantojot karodziņu -c, kā parādīts.

$ ping -c 4 192.168.0.103

PING 192.168.0.103 (192.168.0.103) 56(84) bytes of data.
64 bytes from 192.168.0.103: icmp_seq=1 ttl=64 time=1.09 ms
64 bytes from 192.168.0.103: icmp_seq=2 ttl=64 time=0.157 ms
64 bytes from 192.168.0.103: icmp_seq=3 ttl=64 time=0.163 ms
64 bytes from 192.168.0.103: icmp_seq=4 ttl=64 time=0.190 ms

--- 192.168.0.103 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3029ms
rtt min/avg/max/mdev = 0.157/0.402/1.098/0.402 ms

Traceroute ir komandrindas lietderība, lai izsekotu pilnu ceļu no vietējās sistēmas uz citu tīkla sistēmu. Tas izdrukā apiņu skaitu (maršrutētāja IP) tajā ceļā, pa kuru ceļojat, lai sasniegtu gala serveri. Pēc ping komandas tā ir viegli lietojama tīkla traucējummeklēšanas utilīta.

Šajā piemērā mēs izsekojam maršrutu paketes, kas paņemtas no vietējās sistēmas uz kādu no Google serveriem ar IP adresi 216.58.204.46.

$ traceroute 216.58.204.46

traceroute to 216.58.204.46 (216.58.204.46), 30 hops max, 60 byte packets
 1  gateway (192.168.0.1)  0.487 ms  0.277 ms  0.269 ms
 2  5.5.5.215 (5.5.5.215)  1.846 ms  1.631 ms  1.553 ms
 3  * * *
 4  72.14.194.226 (72.14.194.226)  3.762 ms  3.683 ms  3.577 ms
 5  108.170.248.179 (108.170.248.179)  4.666 ms 108.170.248.162 (108.170.248.162)  4.869 ms 108.170.248.194 (108.170.248.194)  4.245 ms
 6  72.14.235.133 (72.14.235.133)  72.443 ms 209.85.241.175 (209.85.241.175)  62.738 ms 72.14.235.133 (72.14.235.133)  65.809 ms
 7  66.249.94.140 (66.249.94.140)  128.726 ms  127.506 ms 209.85.248.5 (209.85.248.5)  127.330 ms
 8  74.125.251.181 (74.125.251.181)  127.219 ms 108.170.236.124 (108.170.236.124)  212.544 ms 74.125.251.181 (74.125.251.181)  127.249 ms
 9  216.239.49.134 (216.239.49.134)  236.906 ms 209.85.242.80 (209.85.242.80)  254.810 ms  254.735 ms
10  209.85.251.138 (209.85.251.138)  252.002 ms 216.239.43.227 (216.239.43.227)  251.975 ms 209.85.242.80 (209.85.242.80)  236.343 ms
11  216.239.43.227 (216.239.43.227)  251.452 ms 72.14.234.8 (72.14.234.8)  279.650 ms  277.492 ms
12  209.85.250.9 (209.85.250.9)  274.521 ms  274.450 ms 209.85.253.249 (209.85.253.249)  270.558 ms
13  209.85.250.9 (209.85.250.9)  269.147 ms 209.85.254.244 (209.85.254.244)  347.046 ms 209.85.250.9 (209.85.250.9)  285.265 ms
14  64.233.175.112 (64.233.175.112)  344.852 ms 216.239.57.236 (216.239.57.236)  343.786 ms 64.233.175.112 (64.233.175.112)  345.273 ms
15  108.170.246.129 (108.170.246.129)  345.054 ms  345.342 ms 64.233.175.112 (64.233.175.112)  343.706 ms
16  108.170.238.119 (108.170.238.119)  345.610 ms 108.170.246.161 (108.170.246.161)  344.726 ms 108.170.238.117 (108.170.238.117)  345.536 ms
17  lhr25s12-in-f46.1e100.net (216.58.204.46)  345.382 ms  345.031 ms  344.884 ms

MTR ir mūsdienīgs komandrindas tīkla diagnostikas rīks, kas ping un traceroute funkcionalitāti apvieno vienā diagnostikas rīkā. Tās izeja tiek atjaunināta reāllaikā, pēc noklusējuma, līdz izejat no programmas, nospiežot q .

Vieglākais veids, kā palaist mtr, ir norādīt kā resursdatora nosaukumu vai IP adresi kā argumentu šādi.

$ mtr google.com
OR
$ mtr 216.58.223.78
linux-console.net (0.0.0.0)                                   Thu Jul 12 08:58:27 2018
First TTL: 1

 Host                                                   Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. 192.168.0.1                                         0.0%    41    0.5   0.6   0.4   1.7   0.2
 2. 5.5.5.215                                           0.0%    40    1.9   1.5   0.8   7.3   1.0
 3. 209.snat-111-91-120.hns.net.in                      23.1%    40    1.9   2.7   1.7  10.5   1.6
 4. 72.14.194.226                                       0.0%    40   89.1   5.2   2.2  89.1  13.7
 5. 108.170.248.193                                     0.0%    40    3.0   4.1   2.4  52.4   7.8
 6. 108.170.237.43                                      0.0%    40    2.9   5.3   2.5  94.1  14.4
 7. bom07s10-in-f174.1e100.net                          0.0%    40    2.6   6.7   2.3  79.7  16.

Izmantojot karodziņu -c , kā parādīts, jūs varat ierobežot pingu skaitu līdz noteiktai vērtībai un iziet no mtr pēc šīm pingēm.

$ mtr -c 4 google.com

route ir komandrindas lietderība, lai parādītu vai manipulētu ar Linux sistēmas IP maršrutēšanas tabulu. To galvenokārt izmanto, lai konfigurētu statiskos maršrutus uz noteiktiem resursdatoriem vai tīkliem, izmantojot saskarni.

Kernel IP maršrutēšanas tabulu var apskatīt, ierakstot.

$ route

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    100    0        0 enp0s3
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 enp0s3
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

Maršrutēšanas konfigurēšanai var izmantot daudzas komandas. Šeit ir daži noderīgi:

Maršrutēšanas tabulai pievienojiet noklusējuma vārteju.

$ sudo route add default gw <gateway-ip>

Pievienojiet tīkla maršrutu maršrutēšanas tabulai.

$ sudo route add -net <network ip/cidr> gw <gateway ip> <interface>

Dzēsiet konkrētu maršruta ierakstu no maršrutēšanas tabulas.

$ sudo route del -net <network ip/cidr>

Nmcli ir viegli lietojams, skriptējams komandrindas rīks, lai ziņotu par tīkla statusu, pārvaldītu tīkla savienojumus un kontrolētu NetworkManager.

Lai skatītu visas tīkla ierīces, ierakstiet.

$ nmcli dev status

DEVICE      TYPE      STATE      CONNECTION         
virbr0      bridge    connected  virbr0             
enp0s3      ethernet  connected  Wired connection 1 

Lai pārbaudītu tīkla savienojumus savā sistēmā, ierakstiet.

$ nmcli con show

Wired connection 1  bc3638ff-205a-3bbb-8845-5a4b0f7eef91  802-3-ethernet  enp0s3 
virbr0              00f5d53e-fd51-41d3-b069-bdfd2dde062b  bridge          virbr0 

Lai skatītu tikai aktīvos savienojumus, pievienojiet karodziņu -a .

$ nmcli con show -a

Tīkla skenēšanas un veiktspējas analīzes rīki

netstat ir komandrindas rīks, kas parāda noderīgu informāciju, piemēram, tīkla savienojumus, maršrutēšanas tabulas, saskarnes statistiku un daudz ko citu, kas attiecas uz Linux tīkla apakšsistēmu. Tas ir noderīgi tīkla problēmu novēršanai un veiktspējas analīzei.

Turklāt tas ir arī būtisks tīkla pakalpojumu atkļūdošanas rīks, ko izmanto, lai pārbaudītu, kuras programmas kādās ostās klausās. Piemēram, šī komanda parādīs visus TCP portus klausīšanās režīmā un to, kādas programmas tos klausās.

$ sudo netstat -tnlp

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:587             0.0.0.0:*               LISTEN      1257/master         
tcp        0      0 127.0.0.1:5003          0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN      1015/dovecot        
tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN      1015/dovecot        
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:465             0.0.0.0:*               LISTEN      1257/master         
tcp        0      0 0.0.0.0:53              0.0.0.0:*               LISTEN      1404/pdns_server    
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      1064/pure-ftpd (SER 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      972/sshd            
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      975/cupsd           
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      1257/master         
tcp        0      0 0.0.0.0:8090            0.0.0.0:*               LISTEN      636/lscpd (lscpd -  
tcp        0      0 0.0.0.0:993             0.0.0.0:*               LISTEN      1015/dovecot        
tcp        0      0 0.0.0.0:995             0.0.0.0:*               LISTEN      1015/dovecot        
tcp6       0      0 :::3306                 :::*                    LISTEN      1053/mysqld         
tcp6       0      0 :::3307                 :::*                    LISTEN      1211/mysqld         
tcp6       0      0 :::587                  :::*                    LISTEN      1257/master         
tcp6       0      0 :::110                  :::*                    LISTEN      1015/dovecot        
tcp6       0      0 :::143                  :::*                    LISTEN      1015/dovecot        
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
tcp6       0      0 :::80                   :::*                    LISTEN      990/httpd           
tcp6       0      0 :::465                  :::*                    LISTEN      1257/master         
tcp6       0      0 :::53                   :::*                    LISTEN      1404/pdns_server    
tcp6       0      0 :::21                   :::*                    LISTEN      1064/pure-ftpd (SER 
tcp6       0      0 :::22                   :::*                    LISTEN      972/sshd            
tcp6       0      0 ::1:631                 :::*                    LISTEN      975/cupsd           
tcp6       0      0 :::25                   :::*                    LISTEN      1257/master         
tcp6       0      0 :::993                  :::*                    LISTEN      1015/dovecot        
tcp6       0      0 :::995                  :::*                    LISTEN      1015/dovecot        

Lai skatītu kodola maršrutēšanas tabulu, izmantojiet karodziņu -r (kas ir ekvivalents maršruta palaišanai iepriekš).

$ netstat -r

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         gateway         0.0.0.0         UG        0 0          0 enp0s3
192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 enp0s3
192.168.122.0   0.0.0.0         255.255.255.0   U         0 0          0 virbr0

Piezīme: Lai gan Netstat ir lielisks rīks, tas tagad ir novecojis (novecojis), tā aizstāšana ir ss komanda, kas ir paskaidrota zemāk.

ss (ligzdu statistika) ir spēcīga komandrindas utilīta ligzdu izpētei. Tas izgāž kontaktligzdas statistiku un parāda līdzīgu informāciju kā netstat. Turklāt tas parāda vairāk TCP un stāvokļa informācijas, salīdzinot ar citām līdzīgām utilītprogrammām.

Šajā piemērā parādīts, kā uzskaitīt visus serverī atvērtos TCP portus (ligzdas).

$ ss -ta

State      Recv-Q Send-Q                                        Local Address:Port                                                         Peer Address:Port                
LISTEN     0      100                                                       *:submission                                                              *:*                    
LISTEN     0      128                                               127.0.0.1:fmpro-internal                                                          *:*                    
LISTEN     0      100                                                       *:pop3                                                                    *:*                    
LISTEN     0      100                                                       *:imap                                                                    *:*                    
LISTEN     0      128                                                       *:sunrpc                                                                  *:*                    
LISTEN     0      100                                                       *:urd                                                                     *:*                    
LISTEN     0      128                                                       *:domain                                                                  *:*                    
LISTEN     0      9                                                         *:ftp                                                                     *:*                    
LISTEN     0      128                                                       *:ssh                                                                     *:*                    
LISTEN     0      128                                               127.0.0.1:ipp                                                                     *:*                    
LISTEN     0      100                                                       *:smtp                                                                    *:*                    
LISTEN     0      128                                                       *:8090                                                                    *:*                    
LISTEN     0      100                                                       *:imaps                                                                   *:*                    
LISTEN     0      100                                                       *:pop3s                                                                   *:*                    
ESTAB      0      0                                             192.168.0.104:ssh                                                         192.168.0.103:36398                
ESTAB      0      0                                                 127.0.0.1:34642                                                           127.0.0.1:opsession-prxy       
ESTAB      0      0                                                 127.0.0.1:34638                                                           127.0.0.1:opsession-prxy       
ESTAB      0      0                                                 127.0.0.1:34644                                                           127.0.0.1:opsession-prxy       
ESTAB      0      0                                                 127.0.0.1:34640                                                           127.0.0.1:opsession-prxy       
LISTEN     0      80                                                       :::mysql                                                                  :::*             
...

Lai parādītu visus aktīvos TCP savienojumus kopā ar taimeriem, izpildiet šo komandu.

$ ss -to

NC (NetCat) tiek saukta arī par “Šveices tīkla armijas nazi”, ir spēcīga lietderība, ko izmanto gandrīz visiem uzdevumiem, kas saistīti ar TCP, UDP vai UNIX domēna ligzdām. Tas tiek izmantots atvērti TCP savienojumi, klausieties patvaļīgos TCP un UDP portos, veiciet ostu skenēšanu un daudz ko citu.

Varat to izmantot arī kā vienkāršus TCP starpniekserverus tīkla dēmonu pārbaudei, lai pārbaudītu, vai ir pieejami attālinātie porti un daudz kas cits. Turklāt, lai pārsūtītu failus starp diviem datoriem, varat izmantot nc kopā ar pv komandu.

Šis piemērs parādīs, kā skenēt ostu sarakstu.

$ nc -zv server2.tecmint.lan 21 22 80 443 3000

Varat arī norādīt ostu diapazonu, kā parādīts.

$ nc -zv server2.tecmint.lan 20-90

Šajā piemērā parādīts, kā izmantot nc, lai atvērtu TCP savienojumu ar servera2.tecmint.lan 5000 portu, izmantojot avota portu 3000 ar 10 sekunžu noildzi.

$ nc -p 3000 -w 10 server2.tecmint.lan 5000 

Nmap (Network Mapper) ir spēcīgs un ļoti universāls rīks Linux sistēmas/tīkla administratoriem. To izmanto, lai apkopotu informāciju par vienu resursdatoru vai izpētītu visu tīklu tīklus. Nmap tiek izmantots arī drošības skenēšanai, tīkla auditam un atvērtu portu atrašanai attālajos resursdatoros un vēl daudz vairāk.

Varat skenēt resursdatoru, izmantojot, piemēram, tā resursdatora nosaukumu vai IP adresi.

$ nmap google.com 

Starting Nmap 6.40 ( http://nmap.org ) at 2018-07-12 09:23 BST
Nmap scan report for google.com (172.217.166.78)
Host is up (0.0036s latency).
rDNS record for 172.217.166.78: bom05s15-in-f14.1e100.net
Not shown: 998 filtered ports
PORT    STATE SERVICE
80/tcp  open  http
443/tcp open  https

Nmap done: 1 IP address (1 host up) scanned in 4.92 seconds

Alternatīvi izmantojiet IP adresi, kā parādīts.

$ nmap 192.168.0.103

Starting Nmap 6.40 ( http://nmap.org ) at 2018-07-12 09:24 BST
Nmap scan report for 192.168.0.103
Host is up (0.000051s latency).
Not shown: 994 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
902/tcp  open  iss-realsecure
4242/tcp open  vrml-multi-use
5900/tcp open  vnc
8080/tcp open  http-proxy
MAC Address: 28:D2:44:EB:BD:98 (Lcfc(hefei) Electronics Technology Co.)

Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds

Izlasiet mūsu šādus noderīgus rakstus par komandu nmap.

  1. Kā Linux sistēmā izmantot Nmap Script Engine (NSE) skriptus
  2. Praktisks ceļvedis par Nmap (tīkla drošības skeneris) Kali Linux
  3. Uzziniet visas Linux tīklā savienotās tiešraides saimnieku IP adreses

DNS uzmeklēšanas utilītas

resursdatora komanda ir vienkārša lietderība DNS uzmeklēšanas veikšanai, tā tulko resursdatora nosaukumus uz IP adresēm un otrādi.

$ host google.com

google.com has address 172.217.166.78
google.com mail is handled by 20 alt1.aspmx.l.google.com.
google.com mail is handled by 30 alt2.aspmx.l.google.com.
google.com mail is handled by 40 alt3.aspmx.l.google.com.
google.com mail is handled by 50 alt4.aspmx.l.google.com.
google.com mail is handled by 10 aspmx.l.google.com.

dig (domēna informācijas groper) ir arī vēl viena vienkārša DNS uzmeklēšanas lietderība, kas tiek izmantota, lai vaicātu ar DNS saistītu informāciju, piemēram, ierakstu, CNAME, MX ierakstu utt., piemēram:

$ dig google.com

; <<>> DiG 9.9.4-RedHat-9.9.4-51.el7 <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23083
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 14

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;google.com.			IN	A

;; ANSWER SECTION:
google.com.		72	IN	A	172.217.166.78

;; AUTHORITY SECTION:
com.			13482	IN	NS	c.gtld-servers.net.
com.			13482	IN	NS	d.gtld-servers.net.
com.			13482	IN	NS	e.gtld-servers.net.
com.			13482	IN	NS	f.gtld-servers.net.
com.			13482	IN	NS	g.gtld-servers.net.
com.			13482	IN	NS	h.gtld-servers.net.
com.			13482	IN	NS	i.gtld-servers.net.
com.			13482	IN	NS	j.gtld-servers.net.
com.			13482	IN	NS	k.gtld-servers.net.
com.			13482	IN	NS	l.gtld-servers.net.
com.			13482	IN	NS	m.gtld-servers.net.
com.			13482	IN	NS	a.gtld-servers.net.
com.			13482	IN	NS	b.gtld-servers.net.

;; ADDITIONAL SECTION:
a.gtld-servers.net.	81883	IN	A	192.5.6.30
b.gtld-servers.net.	3999	IN	A	192.33.14.30
c.gtld-servers.net.	14876	IN	A	192.26.92.30
d.gtld-servers.net.	85172	IN	A	192.31.80.30
e.gtld-servers.net.	95861	IN	A	192.12.94.30
f.gtld-servers.net.	78471	IN	A	192.35.51.30
g.gtld-servers.net.	5217	IN	A	192.42.93.30
h.gtld-servers.net.	111531	IN	A	192.54.112.30
i.gtld-servers.net.	93017	IN	A	192.43.172.30
j.gtld-servers.net.	93542	IN	A	192.48.79.30
k.gtld-servers.net.	107218	IN	A	192.52.178.30
l.gtld-servers.net.	6280	IN	A	192.41.162.30
m.gtld-servers.net.	2689	IN	A	192.55.83.30

;; Query time: 4 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Thu Jul 12 09:30:57 BST 2018
;; MSG SIZE  rcvd: 487

Nslookup ir arī populāra komandrindas lietderība, lai vaicātu DNS serverus gan interaktīvi, gan bez interaktīviem. To izmanto, lai vaicātu DNS resursu ierakstus (RR). Jūs varat uzzināt domēna “A” ierakstu (IP adresi), kā parādīts.

$ nslookup google.com

Server:		192.168.0.1
Address:	192.168.0.1#53

Non-authoritative answer:
Name:	google.com
Address: 172.217.166.78

Varat arī veikt reverso domēna uzmeklēšanu, kā parādīts.

$ nslookup 216.58.208.174

Server:		192.168.0.1
Address:	192.168.0.1#53

Non-authoritative answer:
174.208.58.216.in-addr.arpa	name = lhr25s09-in-f14.1e100.net.
174.208.58.216.in-addr.arpa	name = lhr25s09-in-f174.1e100.net.

Authoritative answers can be found from:
in-addr.arpa	nameserver = e.in-addr-servers.arpa.
in-addr.arpa	nameserver = f.in-addr-servers.arpa.
in-addr.arpa	nameserver = a.in-addr-servers.arpa.
in-addr.arpa	nameserver = b.in-addr-servers.arpa.
in-addr.arpa	nameserver = c.in-addr-servers.arpa.
in-addr.arpa	nameserver = d.in-addr-servers.arpa.
a.in-addr-servers.arpa	internet address = 199.180.182.53
b.in-addr-servers.arpa	internet address = 199.253.183.183
c.in-addr-servers.arpa	internet address = 196.216.169.10
d.in-addr-servers.arpa	internet address = 200.10.60.53
e.in-addr-servers.arpa	internet address = 203.119.86.101
f.in-addr-servers.arpa	internet address = 193.0.9.1

Linux tīkla pakešu analizatori

Tcpdump ir ļoti spēcīgs un plaši izmantots komandrindas tīkla sniffer. To izmanto, lai tvertu un analizētu TCP/IP paketes, kas pārsūtītas vai saņemtas tīklā, izmantojot konkrētu saskarni.

Lai tvertu paketes no noteiktā interfeisa, norādiet to, izmantojot opciju -i .

$ tcpdump -i eth1

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp0s3, link-type EN10MB (Ethernet), capture size 262144 bytes
09:35:40.287439 IP linux-console.net.ssh > 192.168.0.103.36398: Flags [P.], seq 4152360356:4152360552, ack 306922699, win 270, options [nop,nop,TS val 2211778668 ecr 2019055], length 196
09:35:40.287655 IP 192.168.0.103.36398 > linux-console.net.ssh: Flags [.], ack 196, win 5202, options [nop,nop,TS val 2019058 ecr 2211778668], length 0
09:35:40.288269 IP linux-console.net.54899 > gateway.domain: 43760+ PTR? 103.0.168.192.in-addr.arpa. (44)
09:35:40.333763 IP gateway.domain > linux-console.net.54899: 43760 NXDomain* 0/1/0 (94)
09:35:40.335311 IP linux-console.net.52036 > gateway.domain: 44289+ PTR? 1.0.168.192.in-addr.arpa. (42)

Lai tvertu noteiktu pakešu skaitu, izmantojiet opciju -c , lai ievadītu vēlamo numuru.

$ tcpdump -c 5 -i eth1

Varat arī tvert un saglabāt paketes failā vēlākai analīzei. Izmantojiet karodziņu -w , lai norādītu izvades failu.

$ tcpdump -w captured.pacs -i eth1

Wireshark ir populārs, spēcīgs, daudzpusīgs un viegli lietojams rīks pakešu uztveršanai un analizēšanai pakešu komutācijas tīklā reāllaikā.

Jūs varat arī saglabāt tajā saglabātos datus failā vēlākai pārbaudei. To izmanto sistēmas administratori un tīkla inženieri, lai uzraudzītu un pārbaudītu paketes drošības un problēmu novēršanas nolūkos.

Izlasiet mūsu rakstu “10 padomi, kā izmantot Wireshark, lai analizētu tīkla paketes, lai uzzinātu vairāk par Wireshark”.

bmon ir spēcīga komandrindas tīkla uzraudzības un atkļūdošanas lietderība Unix tipa sistēmām, tā uztver ar tīkliem saistītu statistiku un vizuāli izdrukā cilvēkiem draudzīgā formātā. Tas ir uzticams un efektīvs reāllaika joslas platuma monitors un ātruma novērtētājs.

Izlasiet mūsu rakstu “bmon - jaudīgs tīkla joslas platuma uzraudzības un atkļūdošanas rīks, lai uzzinātu vairāk par bmon”.

Linux ugunsmūra pārvaldības rīki

iptables ir komandrindas rīks tabulu IP pakešu filtrēšanas un NAT noteikumu kopas konfigurēšanai, uzturēšanai un pārbaudei. To izmantoja, lai izveidotu un pārvaldītu Linux ugunsmūri (Netfilter). Tas ļauj uzskaitīt esošos pakešu filtru noteikumus; pievienot, dzēst vai modificēt pakešu filtru kārtulas; uzskaitiet pakešu filtru kārtulu likumu skaitītājus.

Jūs varat uzzināt, kā lietot Iptables dažādiem mērķiem, izmantojot mūsu vienkāršās, bet visaptverošās rokasgrāmatas.

  1. IPTable (Linux Firewall) padomu/komandu pamatnostādnes
  2. 25 noderīgi IPtable ugunsmūra noteikumi, kas jāzina katram Linux administratoram
  3. Kā iestatīt Iptables ugunsmūri, lai iespējotu attālo piekļuvi pakalpojumiem
  4. Kā bloķēt ICMP pieprasījumus Linux sistēmām

Firewalld ir spēcīgs un dinamisks dēmons, lai pārvaldītu Linux ugunsmūri (Netfilter) tāpat kā iptables. Programmā iptables INPUT, OUTPUT un FORWARD CHAINS vietā tiek izmantotas “tīkla zonas”. Pašreizējos Linux izplatījumos, piemēram, RHEL/CentOS 7 un Fedora 21+, iptables aktīvi aizstāj ar firewalld.

Lai sāktu darbu ar firewalld, skatiet tālāk norādītās rokasgrāmatas:

  1. Noderīgi noteikumi “FirewallD”, lai konfigurētu un pārvaldītu ugunsmūri Linux
  2. Kā konfigurēt ‘FirewallD’ RHEL/CentOS 7 un Fedora 21
  3. Kā startēt/apturēt un iespējot/atspējot ugunsmūriD un Iptables ugunsmūri Linux
  4. Samba iestatīšana un FirewallD un SELinux konfigurēšana, lai atļautu failu koplietošanu operētājsistēmā Linux/Windows

Svarīgi: Iptables joprojām tiek atbalstīts, un tos var instalēt ar YUM pakotņu pārvaldnieku. Tomēr vienā serverī jūs nevarat vienlaikus izmantot Firewalld un iptables - jums tas jāizvēlas.

UFW ir labi pazīstams un noklusējuma ugunsmūra konfigurācijas rīks Debian un Ubuntu Linux izplatījumos. Tas tiek izmantots, lai iespējotu/atspējotu sistēmas ugunsmūri, pievienotu/dzēstu/modificētu/atiestatītu pakešu filtrēšanas noteikumus un daudz ko citu.

Lai pārbaudītu UFW ugunsmūra statusu, ierakstiet.

$ sudo ufw status

Ja UFW ugunsmūris nav aktīvs, varat to aktivizēt vai iespējot, izmantojot šādu komandu.

$ sudo ufw enable

Lai atspējotu UFW ugunsmūri, izmantojiet šo komandu.

$ sudo ufw disable 

Izlasiet mūsu rakstu “Kā iestatīt UFW ugunsmūri Ubuntu un Debian”, lai uzzinātu vairāk par UFW).

Ja vēlaties atrast vairāk informācijas par konkrētu programmu, varat skatīt tās rokasgrāmatas, kā parādīts.

$ man programs_name

Tas pagaidām ir viss! Šajā visaptverošajā ceļvedī mēs pārskatījām dažus no visbiežāk izmantotajiem komandrindas rīkiem un utilītprogrammām tīkla pārvaldībai Linux, dažādās kategorijās, sistēmas administratoriem un vienlīdz noderīgus pilna laika tīkla administratoriem/inženieriem.

Jūs varat dalīties savās domās par šo ceļvedi, izmantojot zemāk esošo komentāru veidlapu. Ja mēs esam palaiduši garām kādu bieži lietotu un svarīgu Linux tīkla rīku/utilītu vai jebkādu noderīgu saistītu informāciju, arī informējiet mūs.