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.