13 Příkazy pro konfiguraci sítě Linux a odstraňování problémů
Počítače jsou propojeny v síti, aby si navzájem vyměňovaly informace nebo zdroje. Dva nebo více počítačů jsou propojeny prostřednictvím síťového média zvaného počítačová síť. K vytvoření počítačové sítě je zapojena řada síťových zařízení nebo médií.
Počítač s operačním systémem Linux může být také součástí sítě, ať už se jedná o malou nebo velkou síť díky své povaze multitasking a víceuživatelské. Údržba systému a sítě v chodu je úkolem Správce systému/sítě.
V tomto článku se podíváme na často používané příkazy pro konfiguraci sítě a odstraňování problémů v Linuxu.
1. Příkaz ifconfig
Příkaz ifconfig (konfigurátor rozhraní) se používá k inicializaci rozhraní, přiřazení IP adresy rozhraní a povolení nebo deaktivovat rozhraní na vyžádání.
Pomocí tohoto příkazu můžete zobrazit IP adresu a Hardware/MAC adresu přiřazenou rozhraní a také MTU (Maximální velikost převodové jednotky).
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)
Příkaz ifconfig s rozhraním (eth0) zobrazuje pouze konkrétní podrobnosti rozhraní, jako je IP adresa, MAC adresa atd. s Možnost -a
zobrazí všechny dostupné detaily rozhraní, pokud je také zakázána.
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
Nastavte IP adresu a bránu v Linuxu
Přiřazení IP adresy a brány rozhraní za běhu. Nastavení bude odstraněno v případě restartu systému.
ifconfig eth0 192.168.50.5 netmask 255.255.255.0
Povolit nebo zakázat specifické rozhraní
Chcete-li povolit nebo zakázat konkrétní rozhraní, použijeme následující příklad příkazu.
Povolit eth0
ifup eth0
Zakázat eth0
ifdown eth0
Nastavení velikosti MTU
Ve výchozím nastavení je velikost MTU 1500. Požadovanou velikost MTU můžeme nastavit pomocí příkazu níže. Nahraďte XXXX velikostí.
ifconfig eth0 mtu XXXX
Nastavte rozhraní v promiskuitním režimu
Síťové rozhraní přijímalo pouze pakety patřící této konkrétní NIC. Pokud přepnete rozhraní do promiskuitního režimu, bude přijímat všechny pakety. To je velmi užitečné pro zachycení paketů a jejich pozdější analýzu. K tomu můžete vyžadovat přístup superuživatele.
ifconfig eth0 - promisc
Aktualizace: Příkaz ifconfig je ve většině moderních distribucí Linuxu nahrazen příkazem IP.
2. Příkaz Ping
Příkaz Ping (Packet INinternet Groper) je nejlepší způsob, jak otestovat připojení mezi dvěma uzly. Ať už je to Local Area Network (LAN) nebo Wide Area Network (WAN).
Ping používá ke komunikaci s ostatními zařízeními ICMP (Internet Control Message Protocol). Pomocí níže uvedených příkazů můžete pingnout název hostitele nebo ip adresu.
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
V Linuxu příkazu ping pokračujte ve vykonávání, dokud jej nepřerušíte. Ping s možností -c
ukončení po N počtu požadavků (odpověď na úspěch nebo chybu).
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. Příkaz Traceroute
traceroute je nástroj pro odstraňování problémů se sítí, který ukazuje počet přeskoků nutných k dosažení cíle a určuje také cestu paketů. Níže sledujeme cestu ke globální IP adrese DNS serveru a schopnost dosáhnout cíle také ukazuje cestu, kterou paket putuje.
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. Příkaz Netstat
Příkaz Netstat (Network Statistic) zobrazí informace o připojení, informace o směrovací tabulce atd. Chcete-li zobrazit informace o směrovací tabulce, použijte volbu jako -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
Další příklady příkazů Netstat naleznete v našem dřívějším článku o 20 příkladech příkazů Netstat v systému Linux.
Aktualizace: Příkaz netstat je ve většině moderních distribucí Linuxu nahrazen příkazem ss (socket statistics).
5. Příkaz Dig
Dig (doménový prohledávač informací) dotaz na DNS související informace, jako je A
záznam, CNAME , MX Record atd. Tento příkaz se používá hlavně k odstraňování problémů s dotazy souvisejícími s DNS.
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<
Další příklady Dig Command naleznete v článku o 10 Linux Dig Commands to Query DNS.
6. Příkaz Nslookup
Příkaz nslookup se také používá ke zjištění dotazů souvisejících s DNS. Následující příklady ukazují A
záznam (IP adresa) 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
Další příkaz Nslookup najdete v článku o 8 příkladech příkazů Nslookup pro Linux.
7. Příkaz trasy
Příkaz route také zobrazuje a manipuluje se směrovací tabulkou ip. Chcete-li zobrazit výchozí směrovací tabulku v Linuxu, zadejte následující příkaz.
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
Přidávání, odstraňování tras a výchozí brány pomocí následujících příkazů.
Přidat Route v Linuxu
route add -net 10.10.10.0/24 gw 192.168.0.1
Smazat trasu v Linuxu
route del -net 10.10.10.0/24 gw 192.168.0.1
Přidat výchozí bránu v Linuxu
route add default gw 192.168.0.1
8. Příkaz hostitele
Příkaz host k vyhledání názvu IP nebo IP k pojmenování v IPv4 nebo IPv6 a také dotaz na DNS záznamy.
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
Pomocí možnosti -t
lze zjistit záznamy zdrojů DNS jako CNAME, NS, MX, SOA ,atd.
host -t CNAME www.redhat.com
www.redhat.com is an alias for wildcard.redhat.com.edgekey.net.
9. Příkaz Arp
ARP (Address Resolution Protocol) je užitečný k zobrazení/přidávání obsahu ARP tabulek jádra. Chcete-li zobrazit výchozí tabulku, použijte příkaz as.
arp -e
Address HWtype HWaddress Flags Mask Iface
192.168.50.1 ether 00:50:56:c0:00:08 C eth0
10. Příkaz Ethtool
ethtool je náhradou za mii-tool. Slouží k zobrazení, nastavení rychlosti a duplexu vaší karty síťového rozhraní (NIC). Duplex můžete trvale nastavit v /etc/sysconfig/network-scripts/ifcfg-eth0 s proměnnou ETHTOOL_OPTS.
ethtool eth0
Settings for eth0:
Current message level: 0x00000007 (7)
Link detected: yes
11. Příkaz Iwconfig
Příkaz iwconfig v Linuxu se používá ke konfiguraci rozhraní bezdrátové sítě. Můžete zobrazit a nastavit základní detaily Wi-Fi, jako je SSID kanál a šifrování. Více informací naleznete na manuálové stránce iwconfig.
iwconfig [interface]
12. Příkaz Hostname
název hostitele slouží k identifikaci v síti. Chcete-li zobrazit název hostitele vašeho boxu, spusťte příkaz hostname. Název hostitele můžete nastavit trvale v /etc/sysconfig/network. Po nastavení správného názvu hostitele je třeba restartovat box.
hostname
linux-console.net
13. Nástroje Nmcli a Nmtui
Nástroje Nmcli a Nmtui se používají ke konfiguraci síťových nastavení a také ke správě síťových zařízení, vytváření, úpravě, aktivaci/deaktivaci a odstranění síťových připojení v systémech Linux.
nmcli
nmtui
Tento článek může být užitečný pro každodenní používání správců sítě Linux v Linuxu/operačních systémech podobných Unixu. Pokud jsme to zmeškali, sdílejte prosím prostřednictvím našeho pole komentářů.