1. ifconfig命令 - 網絡接口配置器
ifconfig
(interface configurator)是Linux系統中最基礎的網絡配置工具。該命令可以初始化網絡接口、分配IP地址、啟用或禁用接口,同時還能查看接口的詳細信息。
查看網絡接口信息
# 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.0inet6 addr: fe80::20c:29ff:fe28:fd4c/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:6093 errors:0 dropped:0 overruns:0 frame:0TX packets:4824 errors:0 dropped:0 overruns:0 carrier:0collisions: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.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNING MTU:16436 Metric:1RX packets:8 errors:0 dropped:0 overruns:0 frame:0TX packets:8 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0 RX bytes:480 (480.0 b) TX bytes:480 (480.0 b)
配置IP地址和網關
# 臨時設置IP地址(重啟后失效)
ifconfig eth0 192.168.50.5 netmask 255.255.255.0
啟用和禁用網絡接口
# 啟用網絡接口
ifup eth0# 禁用網絡接口
ifdown eth0
設置MTU大小
# 設置MTU值(最大傳輸單元)
ifconfig eth0 mtu 1400
注意:在現代Linux發行版中,ifconfig
命令已被ip
命令取代。建議學習使用新的ip
命令。
IP命令官方文檔:https://man7.org/linux/man-pages/man8/ip.8.html
2. ping命令 - 網絡連通性測試
ping
(Packet Internet Groper)是測試兩個網絡節點之間連通性的最佳工具。它使用ICMP(Internet Control Message Protocol)協議進行通信。
基本ping測試
# 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# Ping域名
ping www.google.com
PING www.google.com (173.194.38.180) 56(84) bytes of data.
64 bytes from 173.194.38.180: icmp_seq=1 ttl=47 time=284 ms
64 bytes from 173.194.38.180: icmp_seq=2 ttl=47 time=287 ms
限制ping次數
# 發送5個ping包后停止
ping -c 5 www.google.com
3. traceroute命令 - 路由追蹤
traceroute
是一個網絡診斷工具,用于顯示數據包到達目標主機所經過的路由路徑。
# 追蹤到目標主機的路由
traceroute 4.2.2.2
traceroute to 4.2.2.2 (4.2.2.2), 30 hops max, 60 byte packets1 192.168.50.1 (192.168.50.1) 0.217 ms 0.624 ms 0.133 ms2 227.18.106.27.mysipl.com (27.106.18.227) 2.343 ms 1.910 ms 1.799 ms3 221-231-119-111.mysipl.com (111.119.231.221) 4.334 ms 4.001 ms 5.619 ms4 10.0.0.5 (10.0.0.5) 5.386 ms 6.490 ms 6.224 ms
4. netstat命令 - 網絡統計信息
netstat
(Network Statistics)命令顯示網絡連接、路由表信息等網絡統計數據。
查看路由表
# 顯示路由表
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發行版中,netstat
命令已被ss
(socket statistics)命令取代。
5. dig命令 - DNS查詢工具
dig
(Domain Information Groper)是一個強大的DNS查詢工具,用于查詢DNS記錄如A記錄、CNAME、MX記錄等。
# 查詢A記錄
dig www.google.com# 查詢特定記錄類型
dig MX google.com
DNS工具參考:https://www.isc.org/bind/
6. nslookup命令 - DNS查詢
nslookup
是另一個常用的DNS查詢工具,用于查詢域名解析信息。
# 查詢域名的IP地址
nslookup www.google.com
Server: 4.2.2.2
Address: 4.2.2.2#53Non-authoritative answer:
www.google.com canonical name = google.com.
Name: google.com
Address: 173.194.38.180
7. route命令 - 路由表管理
route
命令用于查看和操作IP路由表。
查看路由表
# 顯示路由表
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
default 192.168.50.1 0.0.0.0 UG 0 0 0 eth0
添加和刪除路由
# 添加路由
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命令 - 主機名解析
host
命令用于執行DNS查詢,可以查詢域名對應的IP地址或IP地址對應的域名。
# 查詢域名對應的IP
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 IPv6 address 2404:6800:4003:802::1014# 查詢CNAME記錄
host -t CNAME www.redhat.com
www.redhat.com is an alias for wildcard.redhat.com.edgekey.net.
9. arp命令 - ARP表管理
ARP(Address Resolution Protocol)用于查看和管理內核的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
的替代品,用于查看和設置網絡接口卡的速度和雙工模式。
# 查看網卡信息
ethtool eth0
Settings for eth0:Current message level: 0x00000007 (7)Link detected: yes
11. iwconfig命令 - 無線網絡配置
iwconfig
專門用于配置無線網絡接口,可以查看和設置WiFi的基本詳細信息。
# 查看無線網絡接口信息
iwconfig wlan0
12. hostname命令 - 主機名管理
hostname
命令用于查看或設置系統的主機名。
# 查看當前主機名
hostname# 設置主機名(臨時)
hostname tecmint.com
系統管理最佳實踐:https://www.redhat.com/en/topics/linux
13. nmcli和nmtui工具 - 網絡管理器
nmcli
和nmtui
是現代Linux系統中用于配置網絡設置的工具,可以管理網絡設備、創建、修改、激活/停用和刪除網絡連接。
使用nmcli
# 查看網絡連接狀態
nmcli connection show# 查看設備狀態
nmcli device status# 創建新的網絡連接
nmcli connection add type ethernet ifname eth0 con-name myconnection
使用nmtui
nmtui
提供了基于文本的圖形界面,使網絡配置更加直觀:
# 啟動網絡管理器文本界面
nmtui
實戰應用場景
網絡故障診斷步驟
- 檢查物理連接:使用
ethtool
確認網卡鏈路狀態 - 驗證IP配置:使用
ifconfig
或ip
命令檢查IP地址配置 - 測試本地連通性:使用
ping
測試網關連通性 - 檢查路由設置:使用
route
或netstat -r
查看路由表 - 驗證DNS解析:使用
nslookup
或dig
測試DNS解析 - 分析網絡路徑:使用
traceroute
追蹤數據包路徑
常見網絡問題解決方法
問題1:無法訪問外網
- 檢查默認網關配置
- 驗證DNS服務器設置
- 測試路由連通性
問題2:DNS解析失敗
- 檢查
/etc/resolv.conf
文件 - 使用
dig
或nslookup
測試DNS服務器 - 驗證網絡連接狀態
問題3:網絡性能問題
- 使用
ping
測試延遲 - 檢查網絡接口統計信息
- 分析網絡拓撲結構
安全考慮
在進行網絡配置時,需要注意以下安全要點:
- 最小權限原則:僅為必要的服務開放對應端口
- 定期監控:使用
netstat
或ss
監控網絡連接 - 防火墻配置:合理配置iptables規則
- 日志審計:定期檢查網絡訪問日志
網絡安全指南:https://www.nist.gov/cybersecurity