13 Linux-netværkskonfiguration og fejlfindingskommandoer
Computere er forbundet i et netværk for at udveksle information eller ressourcer hinanden. To eller flere computere forbundet via netværksmedier kaldet computernetværk. Der er et antal netværksenheder eller medier er involveret i dannelsen af computernetværk. Computer, der er fyldt med Linux-operativsystem, kan også være en del af netværket, uanset om det er lille eller stort netværk af dets multitasking- og multianvendelsesforhold. Vedligeholdelse af system og netværk i gang er en opgave for system-/netværksadministratorens job. I denne artikel vil vi gennemgå ofte anvendt netværkskonfiguration og fejlfinde kommandoer i Linux.
1. ifconfig
ifconfig (interface konfigurator) kommando bruges til at initialisere en interface, tildele IP-adresse til interface og aktivere eller deaktivere interface efter behov. Med denne kommando kan du se IP-adresse og hardware/MAC-adressetildeling til grænseflade og også MTU (Maximum transmission unit) størrelse.
# 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 med interface (eth0) kommando viser kun specifikke interface detaljer som IP-adresse, MAC-adresse osv. med -a indstillinger viser alle tilgængelige interface detaljer, hvis det også er deaktiveret.
# 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
Tildeling af en IP-adresse og gateway til interface på farten. Indstillingen fjernes i tilfælde af genstart af systemet.
# ifconfig eth0 192.168.50.5 netmask 255.255.255.0
For at aktivere eller deaktivere specifikt interface bruger vi eksempelkommandoen som følger.
# ifup eth0
# ifdown eth0
Som standard er MTU-størrelse 1500. Vi kan indstille den krævede MTU-størrelse med nedenstående kommando. Udskift XXXX med størrelse.
# ifconfig eth0 mtu XXXX
Netværksinterface, der kun modtages pakker, hører til det bestemte NIC. Hvis du sætter grænsefladen i promiskuøs tilstand, modtager den alle pakkerne. Dette er meget nyttigt at fange pakker og analysere senere. Til dette kan du kræve superbrugeradgang.
# ifconfig eth0 - promisc
2. PING-kommando
PING-kommandoen (Packet INternet Groper) er den bedste måde at teste forbindelsen mellem to noder på. Uanset om det er Local Area Network (LAN) eller Wide Area Network (WAN). Ping bruger ICMP (Internet Control Message Protocol) til at kommunikere til andre enheder. Du kan pinge værtsnavnet på ip-adressen ved hjælp af nedenstående kommando.
# 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
I Linux ping-kommandoen skal du fortsætte med at udføre, indtil du afbryder. Ping med -c option exit efter N antal anmodninger (succes eller fejl svar).
# 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-kommando
traceroute er et netværksfejlfindingsværktøj, der viser antallet af humle, der er taget for at nå destinationen, også bestemmer pakkens kørebane. Nedenfor sporer vi rute til global DNS-server IP-adresse og i stand til at nå destination viser også stien til den pakke, der rejser.
# 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-kommando
Netstat-kommando (Netværksstatistik) viser forbindelsesinfo, routingtabelinformation osv. For at få vist routingtabelinformation skal du bruge indstillingen som -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
For flere eksempler på Netstat Command, læs vores tidligere artikel om 20 Netstat Command-eksempler i Linux.
5. DIG-kommando
Dig (domæneinformation groper) forespørgsel DNS-relaterede oplysninger som A Record, CNAME, MX Record osv. Denne kommando bruges hovedsageligt til fejlfinding af DNS-relateret forespørgsel.
# 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<
For flere eksempler på Dig Command, læs venligst artiklen om 10 Linux Dig Commands til Query DNS.
6. Kommando af NSLOOKUP
nslookup-kommandoen bruger også til at finde ud af DNS-relateret forespørgsel. De følgende eksempler viser en registrering (IP-adresse) af linux-console.net.
# 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
For mere NSLOOKUP Command, læs artiklen om 8 Linux Nslookup Command Eksempler.
7. RUTE-kommando
rute kommando viser og manipulerer også ip routing tabel. For at se standard routingtabel i Linux skal du skrive følgende kommando.
# 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
Tilføjelse, sletning af ruter og standard Gateway med følgende kommandoer.
# 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. HOST-kommando
værtskommando for at finde navn til IP eller IP til navn i IPv4 eller IPv6 og også forespørge på DNS-poster.
# 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
Ved hjælp af -t-indstillingen kan vi finde ud af DNS-ressourceoptegnelser som CNAME, NS, MX, SOA osv.
# host -t CNAME www.redhat.com www.redhat.com is an alias for wildcard.redhat.com.edgekey.net.
9. ARP-kommando
ARP (Address Resolution Protocol) er nyttig til at få vist/tilføje indholdet af kernens ARP-tabeller. Brug kommandoen som for at se standardtabellen.
# arp -e Address HWtype HWaddress Flags Mask Iface 192.168.50.1 ether 00:50:56:c0:00:08 C eth0
10. ETHTOOL-kommando
ethtool er en erstatning for mii-tool. Det er at se, indstille hastighed og duplex på dit netværksinterfacekort (NIC). Du kan indstille duplex permanent i/etc/sysconfig/network-scripts/ifcfg-eth0 med ETHTOOL_OPTS-variablen.
# ethtool eth0 Settings for eth0: Current message level: 0x00000007 (7) Link detected: yes
11. IWCONFIG-kommando
iwconfig-kommandoen i Linux bruges til at konfigurere en trådløs netværksgrænseflade. Du kan se og indstille de grundlæggende Wi-Fi-detaljer som SSID-kanal og kryptering. Du kan henvise til man-siden til iwconfig for at vide mere.
# iwconfig [interface]
12. HOSTNAME-kommando
værtsnavn skal identificeres i et netværk. Udfør værtsnavnskommandoen for at se værtsnavnet på din boks. Du kan indstille værtsnavn permanent i/etc/sysconfig/netværk. Brug for at genstarte boksen, når du har angivet et korrekt værtsnavn.
# hostname linux-console.net
13. GUI-værktøjssystem-konfigurationsnetværk
Indtast system-config-netværk i kommandoprompten for at konfigurere netværksindstillinger, og du får en god grafisk brugergrænseflade (GUI), som muligvis også bruger til at konfigurere IP-adresse, gateway, DNS osv. Som vist på billedet nedenfor.
# system-config-network
Denne artikel kan være nyttig til daglig brug af Linux-netværksadministrator i Linux/Unix-lignende operativsystem. Del venligst gennem vores kommentarfelt, hvis vi gik glip af det.