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.