電腦連接在一個網路中,以彼此交換信息或資源。兩台或更多的電腦透過被稱為 計算機網路 的網路媒體相互連接。有許多網路設備或媒體參與形成計算機網路。
裝有 Linux作業系統 的電腦,無論是小型還是大型網路,都可以通過其 多任務和多用戶 的特性成為網路的一部分。系統和網路的持續運行是 系統/網路管理員的 工作任務。
[ 您可能也喜歡:22個Linux網路命令供Sysadmin使用 ]
在本文中,我們將回顧在Linux中經常使用的網路配置和故障排除命令。
1. ifconfig 命令
ifconfig(接口配置器)命令用於初始化接口,分配 IP地址 給接口,並根據需要 啟用 或 禁用 接口。
使用此命令,您可以查看分配給接口的 IP地址 和 硬件 / MAC地址,以及 MTU(最大傳輸單元)大小。
# 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 用界面(eth0)命令僅顯示特定界面詳細信息,如IP地址、MAC地址等。使用-a
選項將顯示所有可用界面詳細信息,如果已禁用,也會顯示。
# 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
在Linux中設置IP地址和網關
在運行時為界面分配IP地址和網關。該設置將在系統重新啟動時被刪除。
# ifconfig eth0 192.168.50.5 netmask 255.255.255.0
啟用或禁用特定界面
要啟用或禁用特定界面,我們使用以下示例命令。
啟用eth0
# ifup eth0
禁用eth0
# ifdown eth0
設置MTU大小
默認情況下,MTU大小為1500。我們可以使用以下命令設置所需的MTU大小。將XXXX替換為大小。
# ifconfig eth0 mtu XXXX
將界面設置為混雜模式
網絡界面僅接收屬於該特定NIC的封包。如果將界面設置為混雜模式,它將接收所有封包。這對捕獲封包並稍後分析它們非常有用。為此,您可能需要超級用戶訪問權限。
# ifconfig eth0 - promisc
更新:大多數現代Linux發行版中已將ifconfig命令替換為IP命令。
2. Ping命令
封包網際網路探測(Packet INternet Groper)命令是測試兩個節點之間連通性的最佳方式。無論是區域網路(LAN)還是廣域網路(WAN)。
Ping使用ICMP(網際網路控制訊息協定)與其他設備通信。您可以使用以下命令ping主機名稱或IP地址。
# 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 www.tecmint.com PING tecmint.com (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 ping命令中,直到您中斷為止都會持續執行。帶有-c
選項的ping在N個請求(成功或錯誤回應)後退出。
# ping -c 5 www.tecmint.com PING tecmint.com (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 --- tecmint.com 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是一個網路故障排除工具,顯示到達目的地所花費的跳數,並確定封包的行進路徑。以下我們正在追蹤到全球DNS服務器IP地址,並且能夠到達目的地,同時顯示封包行進的路徑。
# 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(網路統計)命令顯示連接信息、路由表信息等。要顯示路由表信息,請使用-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
請參閱我們早前發表的有關Linux中的20個Netstat命令示例的文章。
更新:在大多數現代Linux發行版中,netstat命令被ss(套接字統計)命令取代。
5. Dig 命令
Dig(域名信息獲取者)查詢DNS相關信息,如A
記錄,CNAME,MX記錄等。此命令主要用於故障排除DNS相關查詢。
# dig www.tecmint.com; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6 <<>> www.tecmint.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<
要了解更多Dig命令的示例,請閱讀有關在Linux上查詢DNS的10個Dig命令的文章。
6. Nslookup 命令
nslookup命令也用於查找DNS相關查詢。以下示例顯示了A
記錄(IP地址)的tecmint.com。
# nslookup www.tecmint.com Server: 4.2.2.2 Address: 4.2.2.2#53 Non-authoritative answer: www.tecmint.com canonical name = tecmint.com. Name: tecmint.com Address: 50.116.66.136
要了解更多Nslookup命令,請閱讀有關在Linux上查詢DNS的8個Nslookup命令示例的文章。
7. Route命令
路由 命令還顯示和操作 IP 路由表。要查看 Linux 中的默認路由表,輸入以下命令。
# 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
使用以下命令添加、刪除路由和默認網關。
在 Linux 中添加路由
# route add -net 10.10.10.0/24 gw 192.168.0.1
在 Linux 中刪除路由
# route del -net 10.10.10.0/24 gw 192.168.0.1
在 Linux 中添加默認網關
# route add default gw 192.168.0.1
8. 主機命令
host 命令用於查找 IP 的名稱或名稱的 IP,以及查詢 IPv4 或 IPv6 的 DNS 記錄。
# 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
使用 -t
選項查找 DNS 資源記錄,如 CNAME、NS、MX、SOA 等。
# host -t CNAME www.redhat.com www.redhat.com is an alias for wildcard.redhat.com.edgekey.net.
9. Arp 命令
ARP(地址解析協議)有助於查看/添加內核的 ARP 表 內容。要查看默認表,請使用以下命令。
# arp -e Address HWtype HWaddress Flags Mask Iface 192.168.50.1 ether 00:50:56:c0:00:08 C eth0
10. Ethtool 命令
ethtool 是 mii-tool 的替代品。它用於查看、設置您的 網絡接口卡(NIC)的速度和雙工。您可以在 /etc/sysconfig/network-scripts/ifcfg-eth0 中使用 ETHTOOL_OPTS 變量永久設置雙工。
# ethtool eth0 Settings for eth0: Current message level: 0x00000007 (7) Link detected: yes
11. Iwconfig 命令
iwconfig 命令在 Linux 中用於配置 無線網絡接口。您可以查看和設置基本的 Wi-Fi 詳細信息,如 SSID、頻道和加密方式。您可以參考 iwconfig 的 man 頁面以獲取更多信息。
# iwconfig [interface]
12. 主機名命令
主機名 用於識別網絡中的主機。執行 主機名 命令以查看您的主機名。您可以在 /etc/sysconfig/network 中永久設置主機名。設置適當的主機名後需要重新啟動主機。
# hostname tecmint.com
13. Nmcli 和 Nmtui 工具
Nmcli 和 Nmtui 工具用於配置網絡設置,並用於管理網絡設備,在 Linux 系統中創建、修改、啟用/停用和刪除網絡連接。
# nmcli # nmtui

本文對 Linux 網絡管理員 在 Linux /類 Unix 操作系統中的日常使用可能會有所幫助。如果我們遺漏了什麼,請通過評論框分享。
Source:
https://www.tecmint.com/linux-network-configuration-and-troubleshooting-commands/