13 „Linux“ tinklo konfigūravimo ir trikčių šalinimo komandos


Kompiuteriai yra prijungti prie tinklo, kad galėtų keistis informacija ar ištekliais. Du ar daugiau kompiuterių, prijungtų per tinklo laikmeną, vadinamą kompiuterių tinklu. Kompiuterių tinklui formuoti yra daugybė tinklo įrenginių arba laikmenų. Kompiuteris, įkrautas su „Linux“ operacine sistema, taip pat gali būti tinklo dalis, nesvarbu, ar jis yra mažas, ar didelis tinklas pagal savo daugiafunkcinį ir daugkartinį naudojimą. Sistemos ir tinklo palaikymas veikia ir yra sistemos/tinklo administratoriaus užduotis. Šiame straipsnyje apžvelgsime dažnai naudojamą tinklo konfigūraciją ir trikčių šalinimo komandas sistemoje „Linux“.

1. ifconfig

„ifconfig“ (sąsajos konfigūratorius) komanda naudojama sąsajai inicializuoti, sąsajai priskirti IP adresą ir pagal poreikį įjungti arba išjungti sąsają. Naudodami šią komandą galite peržiūrėti IP adresą ir aparatūros/MAC adresą, priskirtą sąsajai, taip pat MTU (maksimalus perdavimo vienetas) dydį.

# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:192.168.50.2  Bcast:192.168.50.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe28:fd4c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6093 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4824 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:6125302 (5.8 MiB)  TX bytes:536966 (524.3 KiB)
          Interrupt:18 Base address:0x2000

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:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:480 (480.0 b)  TX bytes:480 (480.0 b)

„ifconfig with interface“ (eth0) komanda rodo tik konkrečią sąsajos informaciją, pvz., IP adresą, MAC adresą ir kt. su -a parinktimis bus rodoma visa prieinama sąsajos informacija, jei ji taip pat bus išjungta.

# ifconfig eth0

eth0      Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:192.168.50.2  Bcast:192.168.50.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe28:fd4c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6119 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4841 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:6127464 (5.8 MiB)  TX bytes:539648 (527.0 KiB)
          Interrupt:18 Base address:0x2000

IP adreso ir šliuzo priskyrimas sąsajai skristi. Nustatymas bus pašalintas, jei sistema bus paleista iš naujo.

# ifconfig eth0 192.168.50.5 netmask 255.255.255.0

Norėdami įjungti arba išjungti konkrečią sąsają, mes naudojame komandą pavyzdžiu taip.

# ifup eth0
# ifdown eth0

Pagal numatytuosius nustatymus MTU dydis yra 1500. Reikiamą MTU dydį galime nustatyti naudodami žemiau esančią komandą. Pakeiskite XXXX dydžiu.

# ifconfig eth0 mtu XXXX

Tinklo sąsajoje tik priimti paketai priklauso tam konkrečiam NIC. Jei sąsają įjungsite į ateitį, ji gaus visus paketus. Tai labai naudinga fiksuoti paketus ir analizuoti vėliau. Tam jums gali reikėti prieigos prie vartotojo.

# ifconfig eth0 - promisc

2. PING komanda

PING (Packet INternet Groper) komanda yra geriausias būdas patikrinti dviejų mazgų ryšį. Nesvarbu, ar tai vietinis tinklas (LAN), ar plačiajuostis tinklas (WAN). Jei norite bendrauti su kitais įrenginiais, „Ping“ naudokite ICMP (interneto valdymo pranešimų protokolą). Galite pinguoti IP adreso pagrindinio kompiuterio pavadinimą naudodami žemiau esančią komandą.

# ping 4.2.2.2

PING 4.2.2.2 (4.2.2.2) 56(84) bytes of data.
64 bytes from 4.2.2.2: icmp_seq=1 ttl=44 time=203 ms
64 bytes from 4.2.2.2: icmp_seq=2 ttl=44 time=201 ms
64 bytes from 4.2.2.2: icmp_seq=3 ttl=44 time=201 ms

OR

# ping linux-console.net

PING linux-console.net (50.116.66.136) 56(84) bytes of data.
64 bytes from 50.116.66.136: icmp_seq=1 ttl=47 time=284 ms
64 bytes from 50.116.66.136: icmp_seq=2 ttl=47 time=287 ms
64 bytes from 50.116.66.136: icmp_seq=3 ttl=47 time=285 ms

„Linux“ komandoje „ping“ vykdykite tol, kol nenutrauksite. Ping su -c parinktimi išeiti po N užklausos skaičiaus (atsakymas į sėkmę ar klaidą).

# ping -c 5 linux-console.net

PING linux-console.net (50.116.66.136) 56(84) bytes of data.
64 bytes from 50.116.66.136: icmp_seq=1 ttl=47 time=285 ms
64 bytes from 50.116.66.136: icmp_seq=2 ttl=47 time=285 ms
64 bytes from 50.116.66.136: icmp_seq=3 ttl=47 time=285 ms
64 bytes from 50.116.66.136: icmp_seq=4 ttl=47 time=285 ms
64 bytes from 50.116.66.136: icmp_seq=5 ttl=47 time=285 ms

--- linux-console.net ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4295ms
rtt min/avg/max/mdev = 285.062/285.324/285.406/0.599 ms

3. TRACEROUTE komanda

„traceroute“ yra tinklo trikčių šalinimo įrankis, rodantis, kiek apynių imtasi norint pasiekti tikslą, taip pat nustato paketų keliavimo kelią. Žemiau mes stebime maršrutą iki visuotinio DNS serverio IP adreso ir galime pasiekti tikslą, taip pat rodo to paketo kelią.

# traceroute 4.2.2.2

traceroute to 4.2.2.2 (4.2.2.2), 30 hops max, 60 byte packets
 1  192.168.50.1 (192.168.50.1)  0.217 ms  0.624 ms  0.133 ms
 2  227.18.106.27.mysipl.com (27.106.18.227)  2.343 ms  1.910 ms  1.799 ms
 3  221-231-119-111.mysipl.com (111.119.231.221)  4.334 ms  4.001 ms  5.619 ms
 4  10.0.0.5 (10.0.0.5)  5.386 ms  6.490 ms  6.224 ms
 5  gi0-0-0.dgw1.bom2.pacific.net.in (203.123.129.25)  7.798 ms  7.614 ms  7.378 ms
 6  115.113.165.49.static-mumbai.vsnl.net.in (115.113.165.49)  10.852 ms  5.389 ms  4.322 ms
 7  ix-0-100.tcore1.MLV-Mumbai.as6453.net (180.87.38.5)  5.836 ms  5.590 ms  5.503 ms
 8  if-9-5.tcore1.WYN-Marseille.as6453.net (80.231.217.17)  216.909 ms  198.864 ms  201.737 ms
 9  if-2-2.tcore2.WYN-Marseille.as6453.net (80.231.217.2)  203.305 ms  203.141 ms  202.888 ms
10  if-5-2.tcore1.WV6-Madrid.as6453.net (80.231.200.6)  200.552 ms  202.463 ms  202.222 ms
11  if-8-2.tcore2.SV8-Highbridge.as6453.net (80.231.91.26)  205.446 ms  215.885 ms  202.867 ms
12  if-2-2.tcore1.SV8-Highbridge.as6453.net (80.231.139.2)  202.675 ms  201.540 ms  203.972 ms
13  if-6-2.tcore1.NJY-Newark.as6453.net (80.231.138.18)  203.732 ms  203.496 ms  202.951 ms
14  if-2-2.tcore2.NJY-Newark.as6453.net (66.198.70.2)  203.858 ms  203.373 ms  203.208 ms
15  66.198.111.26 (66.198.111.26)  201.093 ms 63.243.128.25 (63.243.128.25)  206.597 ms 66.198.111.26 (66.198.111.26)  204.178 ms
16  ae9.edge1.NewYork.Level3.net (4.68.62.185)  205.960 ms  205.740 ms  205.487 ms
17  vlan51.ebr1.NewYork2.Level3.net (4.69.138.222)  203.867 ms vlan52.ebr2.NewYork2.Level3.net (4.69.138.254)  202.850 ms vlan51.ebr1.NewYork2.Level3.net (4.69.138.222)  202.351 ms
18  ae-6-6.ebr2.NewYork1.Level3.net (4.69.141.21)  201.771 ms  201.185 ms  201.120 ms
19  ae-81-81.csw3.NewYork1.Level3.net (4.69.134.74)  202.407 ms  201.479 ms ae-92-92.csw4.NewYork1.Level3.net (4.69.148.46)  208.145 ms
20  ae-2-70.edge2.NewYork1.Level3.net (4.69.155.80)  200.572 ms ae-4-90.edge2.NewYork1.Level3.net (4.69.155.208)  200.402 ms ae-1-60.edge2.NewYork1.Level3.net (4.69.155.16)  203.573 ms
21  b.resolvers.Level3.net (4.2.2.2)  199.725 ms  199.190 ms  202.488 ms

4. NETSTAT komanda

„Netstat“ (tinklo statistika) komanda rodo ryšio informaciją, maršruto lentelės informaciją ir pan. Norėdami rodyti maršruto lentelės informaciją naudokite parinktį kaip -r.

# netstat -r

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.50.0    *               255.255.255.0   U         0 0          0 eth0
link-local      *               255.255.0.0     U         0 0          0 eth0
default         192.168.50.1    0.0.0.0         UG        0 0          0 eth0

Norėdami gauti daugiau „Netstat“ komandos pavyzdžių, perskaitykite mūsų ankstesnį straipsnį apie 20 „Netstat“ komandų pavyzdžių sistemoje „Linux“.

5. DIG komanda

Kaskite (domeno informacijos groper) užklausą su DNS susijusiai informacijai, pavyzdžiui, įrašui, CNAME, MX įrašui ir pan. Ši komanda daugiausia naudojama su DNS susijusioms užklausoms šalinti.

# dig linux-console.net; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6 <<>> linux-console.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<

Norėdami gauti daugiau „Dig Command“ pavyzdžių, perskaitykite straipsnį apie 10 „Linux Dig Commands to Query DNS“.

6. NSLOOKUP komanda

„nslookup“ komanda taip pat naudojama norint sužinoti su DNS susijusias užklausas. Šie pavyzdžiai rodo linux-console.net įrašą (IP adresą).

# nslookup linux-console.net
Server:         4.2.2.2
Address:        4.2.2.2#53

Non-authoritative answer:
linux-console.net canonical name = linux-console.net.
Name:   linux-console.net
Address: 50.116.66.136

Norėdami gauti daugiau NSLOOKUP komandos, skaitykite straipsnį apie 8 „Linux Nslookup“ komandų pavyzdžius.

7. Maršruto komanda

maršruto komanda taip pat rodo ir valdo ip maršrutizavimo lentelę. Norėdami pamatyti numatytąją „Linux“ maršruto parinkimo lentelę, įveskite šią komandą.

# route

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.50.0    *               255.255.255.0   U     0      0        0 eth0
link-local      *               255.255.0.0     U     1002   0        0 eth0
default         192.168.50.1    0.0.0.0         UG    0      0        0 eth0

Maršrutų ir numatytojo šliuzo pridėjimas, ištrynimas su šiomis komandomis.

# route add -net 10.10.10.0/24 gw 192.168.0.1
# route del -net 10.10.10.0/24 gw 192.168.0.1
# route add default gw 192.168.0.1

8. Šeimininko komanda

pagrindinio kompiuterio komanda, norėdama rasti IP vardą arba IP vardą IPv4 arba IPv6, taip pat pateikti užklausą DNS įrašams.

# host www.google.com

www.google.com has address 173.194.38.180
www.google.com has address 173.194.38.176
www.google.com has address 173.194.38.177
www.google.com has address 173.194.38.178
www.google.com has address 173.194.38.179
www.google.com has IPv6 address 2404:6800:4003:802::1014

Naudodami -t parinktį galime sužinoti DNS išteklių įrašus, tokius kaip CNAME, NS, MX, SOA ir kt.

# host -t CNAME www.redhat.com

www.redhat.com is an alias for wildcard.redhat.com.edgekey.net.

9. ARP komanda

ARP (Address Resolution Protocol) yra naudingas norint peržiūrėti/pridėti branduolio ARP lentelių turinį. Norėdami pamatyti numatytąją lentelę, naudokite komandą kaip.

# arp -e

Address                  HWtype  HWaddress           Flags Mask            Iface
192.168.50.1             ether   00:50:56:c0:00:08   C                     eth0

10. ETTOLIO komanda

ethtool yra „mii-tool“ pakaitalas. Tai yra jūsų tinklo sąsajos kortelės (NIC) peržiūra, spartos nustatymas ir dupleksas. Galite visam laikui nustatyti dupleksą aplanke/etc/sysconfig/network-scripts/ifcfg-eth0 su kintamuoju ETHTOOL_OPTS.

# ethtool eth0

Settings for eth0:
        Current message level: 0x00000007 (7)
        Link detected: yes

11. IWCONFIG komanda

„iwconfig“ komanda „Linux“ naudojama konfigūruoti belaidžio tinklo sąsają. Galite pamatyti ir nustatyti pagrindinę „Wi-Fi“ informaciją, pvz., SSID kanalą ir šifravimą. Norėdami sužinoti daugiau, galite kreiptis į „iwconfig“ vadovą.

# iwconfig [interface]

12. PAVADINIMO komanda

pagrindinio kompiuterio vardas yra atpažinti tinkle. Vykdykite pagrindinio kompiuterio komandą, kad pamatytumėte savo langelio pagrindinį pavadinimą. Galite visam laikui nustatyti pagrindinio kompiuterio vardą aplanke/etc/sysconfig/network. Reikia iš naujo paleisti laukelį, kai nustatomas tinkamas pagrindinio kompiuterio vardas.

# hostname 

linux-console.net

13. GUI įrankis system-config-network

Komandinėje eilutėje įveskite system-config-network, kad sukonfigūruotumėte tinklo nustatymą, ir gausite gražią grafinę vartotojo sąsają (GUI), kurią taip pat galite naudoti konfigūruodami IP adresą, šliuzą, DNS ir kt., Kaip parodyta žemiau esančiame paveikslėlyje.

# system-config-network

Šis straipsnis gali būti naudingas kasdien naudojant „Linux“ administratorių „Linux“/„Unix“ tipo operacinėje sistemoje. Prašome pasidalinti per mūsų komentarų laukelį, jei mums nepavyko.