文章目錄
前言
Linux系統本身就被設計爲具有強大的網絡與通信功能,它支持 TCP/IP , ATM , IPX/SPX , X.2.5 , Frame-relay , AppleTalk等多種網絡通訊協議,並將協議的實現加入到Linux內核中,提供了高效的網絡通信處理能力
查看及測試網絡配置是管理Linux網絡服務的第一步
一:查看網絡設置
1.1:使用ifconfig 命令查看網絡接口地址
主機的網絡接口卡(網卡)通常稱爲"網絡接口"。
查看所有活動網絡接口的信息
ifconfig命令不帶任何選項和參數時,將顯示當前主機中已啓用(活動)的網絡接口信息
[root@localhost ~]# ifconfig
[root@shanan ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.100.60 netmask 255.255.255.0 broadcast 192.168.100.255
inet6 fe80::129e:4791:ac9d:75d6 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:1a:0b:5b txqueuelen 1000 (Ethernet)
RX packets 3817 bytes 2396490 (2.2 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1581 bytes 209328 (204.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:f7:1b:5e txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
'ens33:第一塊以太網卡的名稱'
' inet 192.168.100.60 :IP地址'
'netmask 255.255.255.0 :子網掩碼'
' broadcast 192.168.100.2 :廣播地址'
'ether 00:0c:29:1a:0b:5b : MAC地址'
'lo:虛擬的迴環接口,lo 是 loopback 的縮寫,不是真正的網絡接口,而是一個虛擬的網絡接口,lo 的IP地址默認爲 “127.0.0.1”,迴環地址通常僅用於對本機的網絡測試'
查看所有網絡接口信息
[root@shanan ~]# ifconfig -a
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.100.60 netmask 255.255.255.0 broadcast 192.168.100.255
inet6 fe80::129e:4791:ac9d:75d6 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:1a:0b:5b txqueuelen 1000 (Ethernet)
RX packets 3916 bytes 2403206 (2.2 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1610 bytes 212972 (207.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:f7:1b:5e txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0-nic: flags=4098<BROADCAST,MULTICAST> mtu 1500 //虛擬橋接網卡
ether 52:54:00:f7:1b:5e txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
查看指定網絡接口信息
當只需查看其中一個網絡接口的信息時,可以使用網絡接口的名稱作爲ifconfig命令的參數,不論該網絡接口是否處於激活狀態
[root@shanan ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.100.60 netmask 255.255.255.0 broadcast 192.168.100.255
inet6 fe80::129e:4791:ac9d:75d6 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:1a:0b:5b txqueuelen 1000 (Ethernet)
RX packets 3995 bytes 2409062 (2.2 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1648 bytes 218328 (213.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
1.2:使用 hostname命令查看主機名稱
查看當前主機名
[root@localhost ~]# hostname
localhost.localdomain
'localhost:主機名'
'localdomain:域'
臨時修改當前主機名
[
root@localhost ~]# hostname shanan
[root@localhost ~]# su
[root@shanan ~]# ifconfig
永久修改主機名兩種方式
vi /etc/hostname 在裏面修改
或
[root@shanan ~]# hostnamectl set-hostname sha
[root@shanan ~]# su
[root@sha ~]#
1.3:使用route命令查看路由表條目
直接執行route命令可以查看到當前主機中的路由表信息
linux系統中的路由表決定着從本主機向其他主機,其他網絡發送數據的去向,是排除網絡故障的關鍵信息
[root@sha ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default _gateway 0.0.0.0 UG 100 0 0 ens33
192.168.100.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
'Destination列對應目標網段的地址'
'Gateway列對應下一跳路由器地址'
'Genmask列對應子網掩碼'
'Iface列對應發送數據的網絡接口'
'目標網段爲default時,表示此行時默認網關記錄'
Route -n 顯示結果用IP地址顯示
[root@sha ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.100.2 0.0.0.0 UG 100 0 0 ens33
192.168.100.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
1.4:使用netstat命令查看網絡連接情況
netstat命令
查看系統的網絡連接狀態,路由表,接口統計等信息,是瞭解網絡狀態及排除網絡服務故障的有效工具
'netstat命令基本格式'
netstat [選項]
常用選項
-a:顯示當前主機中所有活動的網絡連接信息(包括監聽,非監聽狀態的服務端口)
-n:以數字的形式顯示相關的主機地址,端口等信息
-p:顯示與網絡連接相關聯的進程號,進程名稱信息('該選項需要root權限')
-t:查看TCP協議相關信息
-u:顯示UDP協議相關的信息
-r:顯示路由信息
-l:顯示處於監聽(listening)狀態的網絡連接及端口信息
通常使用“-ntap”組合選項,以數字形式顯示當前系統中所有的TCP連接信息,同時顯示對應的進程信息。
結合管道符號使用“grep”命令,還可以在結果中過濾出所需要的特定記錄。
[root@localhost ~]# netstat -ntap '以數字形式顯示當前系統中所有的TCP連接信息,同時顯示對應的進程信息。'
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 1978/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1194/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1195/cupsd
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 3807/sshd: root@pts
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/init
tcp 0 52 192.168.100.60:22 192.168.100.1:58824 ESTABLISHED 3797/sshd: root [pr
tcp6 0 0 :::22 :::* LISTEN 1194/sshd
tcp6 0 0 ::1:631 :::* LISTEN 1195/cupsd
tcp6 0 0 ::1:6010 :::* LISTEN 3807/sshd: root@pts
tcp6 0 0 :::111 :::* LISTEN 1/init
[root@sha ~]#
ESTABLISHED 狀態 表示已確認已連接
LISTEN 狀態 表示未連接,正則監聽
[root@sha ~]# netstat -nuap // 以數字形式顯示當前系統中所有的udp連接信息,同時顯示對應的進程信息。
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 192.168.122.1:53 0.0.0.0:* 1978/dnsmasq
udp 0 0 0.0.0.0:67 0.0.0.0:* 1978/dnsmasq
udp 0 0 0.0.0.0:111 0.0.0.0:* 1/init
udp 0 0 0.0.0.0:5353 0.0.0.0:* 888/avahi-daemon: r
udp 0 0 127.0.0.1:323 0.0.0.0:* 909/chronyd
udp 0 0 0.0.0.0:34297 0.0.0.0:* 888/avahi-daemon: r
udp6 0 0 :::111 :::* 1/init
udp6 0 0 :::56535 :::* 888/avahi-daemon: r
udp6 0 0 :::5353 :::* 888/avahi-daemon: r
udp6 0 0 ::1:323 :::* 909/chronyd
[root@sha ~]# netstat -ntap | grep 22
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 1978/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1194/sshd
tcp 0 52 192.168.100.60:22 192.168.100.1:58824 ESTABLISHED 3797/sshd: root [pr
tcp6 0 0 :::22 :::* LISTEN 1194/sshd
[root@sha ~]# netstat -r //查看路由表
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default _gateway 0.0.0.0 UG 0 0 0 ens33
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
1.5 : ss 命令 ,獲取socket統計信息
ss是Socket Statistics的縮寫。ss命令用來顯示處於活動狀態的套接字信息。它可以顯示和netstat類似的內容。但ss的優勢在於它能夠顯示更多更詳細的有關TCP和連接狀態的信息,而且比netstat更快速更高效。
語法格式:ss [參數]
root@sha ~]# ss -t state established
Recv-Q Send-Q Local Address:Port Peer Address:Port
0 52 192.168.100.60:ssh 192.168.100.1:58824
[root@sha ~]#
1.6 : netstat 和 ss 的對比
在早期運維工作中,查看服務器連接數一般都會用netstat命令。其實,有一個命令比netstat更高效,那就是ss(Socket Statistics)命令!
ss命令可以用來獲取socket統計信息,它可以顯示和netstat類似的內容。
ss的優勢在於它能夠顯示更多更詳細的有關TCP和連接狀態的信息,而且比netstat更快速更高效。原因如下:
1)當服務器的socket連接數量變得非常大時,無論是使用netstat命令還是直接cat /proc/net/tcp,執行速度都會很慢。可能你不會有切身的感受,但請相信我,當服務器維持的連接達到上萬個的時候,使用netstat等於浪費 生命,而用ss纔是節省時間。
2)而ss快的祕訣在於它利用到了TCP協議棧中tcp_diag。tcp_diag是一個用於分析統計的模塊,可以獲得Linux內核中第一手的信息,這就確保了ss的快捷高效。當然,如果你的系統中沒有tcp_diag,ss也可以正常運行,只是效率會變得稍慢(但仍然比 netstat要快)。
幾乎所有的Linux系統都會默認包含netstat命令,但並非所有系統都會默認包含ss命令。
netstat命令是net-tools工具集中的一員,這個工具一般linux系統會默認安裝的;ss命令是iproute工具集中的一員;
net-tools是一套標準的Unix網絡工具,用於配置網絡接口、設置路由表信息、管理ARP表、顯示和統計各類網絡信息等等,但是遺憾的是,這個工具自2001年起便不再更新和維護了。
iproute,這是一套可以支持IPv4/IPv6網絡的用於管理TCP/UDP/IP網絡的工具集
如果沒有ss命令,可以如下安裝:
yum install iproute iproute-doc
二:測試網絡連接
2.1:使用ping命令測試網絡連通性
測試網絡連通性
命令基本格式
ping [選項] 目標主機
[root@sha ~]# ping 192.168.1.164
PING 192.168.1.164 (192.168.1.164) 56(84) bytes of data.
64 bytes from 192.168.1.164: icmp_seq=1 ttl=128 time=0.605 ms
64 bytes from 192.168.1.164: icmp_seq=2 ttl=128 time=0.566 ms
64 bytes from 192.168.1.164: icmp_seq=3 ttl=128 time=0.439 ms
64 bytes from 192.168.1.164: icmp_seq=4 ttl=128 time=0.510 ms
64 bytes from 192.168.1.164: icmp_seq=5 ttl=128 time=0.490 ms
64 bytes from 192.168.1.164: icmp_seq=6 ttl=128 time=1.35 ms
64 bytes from 192.168.1.164: icmp_seq=7 ttl=128 time=0.717 ms
64 bytes from 192.168.1.164: icmp_seq=8 ttl=128 time=0.519 ms
^C
--- 192.168.1.164 ping statistics ---
8 packets transmitted, 8 received, 0% packet loss, time 208ms
rtt min/avg/max/mdev = 0.439/0.649/1.352/0.278 ms
‘按Ctrl C 組合鍵終止ping測試’
‘反饋目標主機不可達:可能目標地址不存在或主機已經關閉’
‘反饋 網絡不可達:表示沒有可用的路由記錄,如網關,無法到達目標主機所在網絡’
‘反饋 請求超時:表示數據到達對方,但回不來’
2.2:使用traceroute命令跟蹤數據包
測試從當前主機到目標主機之間經過的網絡節點
對於無法響應的節點,連接狀態將顯示爲*
traceroute命令比ping命令更準確的定位網絡連接的故障點(中斷點),執行速度也因此比ping命令慢
網絡測試中,先用ping,若發現網絡連接故障,在使用traceroute命令跟蹤查看故障節點
命令基本格式
traceroute 目標主機地址
[root@sha ~]# traceroute 192.168.1.164
traceroute to 192.168.1.164 (192.168.1.164), 30 hops max, 60 byte packets
1 _gateway (192.168.100.2) 0.533 ms 0.487 ms 0.456 ms
2 * * *
3 * * *
4 * * *
traceroute適合探測局域網 ,廣域網會可能被屏蔽
2.3:使用nslookup命令測試DNS域名解析
nslookup命令
測試DNS域名解析,將域名解析爲IP地址
Ns = name server
DNS端口 tcp 53 端口 作用 連接DNS服務器
UDP 53 端口 作用 解析
命令基本格式
nslookup 目標主機地址 [DNS服務器地址]
centos 8顯示結果
[root@sha ~]# nslookup www.baidu.com
Server: 8.8.8.8
Address: 8.8.8.8#53 // DNS解析服務器地址,端口 53
Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com. //別名
Name: www.a.shifen.com //百度真正的名字
Address: 112.80.248.76 // 百度服務器地址1
Name: www.a.shifen.com
Address: 112.80.248.75 // 百度服務器地址2
Windows10 顯示
2.5 : 配置dns 域名解析地址的3種方法
1. vi修改 /etc/resolv.conf nameserver 域名服務器IP
[root@sha ~]# echo nameserver 114.114.114.114 >/etc/resolv.conf
[root@sha ~]# cat /etc/resolv.conf
nameserver 114.114.114.114
2.直接在網卡配置參數裏修改
vi/etc/sysconfig/network-scripts/ifcfg-ens33
DNS1=114.114.114.114
3.直接修改本地的hosts文件
[root@sha ~]# vi /etc/hosts
2.6 : dig 域名解析測試命令
dig命令的全稱是“domain information groper”,它是一個用來靈活查詢DNS的工具,它會打印出DNS域名服務器的迴應,dig命令主要用來從DNS域名服務器查詢主機地址信息。
dig命令與nslookup命令功能基本相同,但是dig命令靈活性好、易用、輸出清晰。
語法格式: dig [參數] [IP]
root@sha ~]# dig www.baidu.com
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-16.P2.el8 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60382
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.baidu.com. IN A
;; ANSWER SECTION:
www.baidu.com. 30 IN CNAME www.a.shifen.com.
www.a.shifen.com. 104 IN A 112.80.248.76
www.a.shifen.com. 104 IN A 112.80.248.75
;; Query time: 3 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: 四 7月 02 09:52:55 EDT 2020
;; MSG SIZE rcvd: 101
三:使用網絡配置命令
3.1:設置網絡參數的方式
3.1.1:臨時配置:使用命令調整網絡參數
臨時修改,一般都是做維護的時候使用
簡單,快速,可直接修改運行中的網絡參數
一般只適合在調試網絡的過程中使用
系統重啓以後,所做的修改將會直接失效
3.1.2:固定設置:通過配置文件修改網絡參數
修改各項網絡參數的配置文件
適合對服務器設置固定參數時使用
需要重載網絡服務或者重啓以後纔會生效
3.2:設置網絡接口參數 ifconfig
設置網絡接口的IP地址,子網掩碼
ifconfig 接口名 IP地址 [netmask 子網掩碼]
ifconfig 網絡接口 IP地址[/掩碼長度]
例[root@sha ~]# ifconfig ens33:0 192.168.200.10/24
[root@sha ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.100.60 netmask 255.255.255.0 broadcast 192.168.100.255
inet6 fe80::129e:4791:ac9d:75d6 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:1a:0b:5b txqueuelen 1000 (Ethernet)
RX packets 10181 bytes 12069702 (11.5 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3127 bytes 259795 (253.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.200.10 netmask 255.255.255.0 broadcast 192.168.200.255
ether 00:0c:29:1a:0b:5b txqueuelen 1000 (Ethernet)
//臨時新增加的邏輯接口地址,重啓就失效,注意:當物理口DOWN掉之後,邏輯口也會隨之消失
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 4 bytes 156 (156.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4 bytes 156 (156.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
禁用或者重新激活網卡
ifconfig 網絡接口 up
ifconfig 網絡接口 down
例如
3.3:爲網卡綁定虛擬接口
在對服務器網絡進行調試的過程中,有時候需要臨時在同一個網卡上使用一個新的IP地址,但是又不能夠覆蓋掉原本的IP地址而導致服務程序不可用。
此時可以爲網卡綁定一個虛擬的網絡接口,然後在位虛擬接口配置新的IP地址(相當於一個網卡配置多個IP地址)
設置虛擬網絡接口的命令格式
ifconfig 接口名:序號 IP地址
[root@localhost ~]# ifconfig ens33:0 192.168.200.10/24
3.4:使用route命令設置路由記錄
使用route命令不僅可以用於查看路由表信息,還可以用來添加,刪除靜態的路由表條目,其中也包括設置默認網關地址(默認網關記錄是一條特殊的靜態路由條目)
默認網關的IP地址應該與本機其中一個接口的IP地址在同一個網段內
3.4.1添加到指定網段的路由記錄
route add -net 網段地址 gw IP地址
例如
[root@localhost ~]# route '原本的路由條目'
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
11.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 ens33
192.168.10.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
[root@localhost ~]# [root@sha ~]# route add -net 192.168.30.0/24 gw 192.168.200.10
添加靜態路由,本機訪問另一個網段192.168.30.0/24的數據都發給192.168.200.10'
[root@sha ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default _gateway 0.0.0.0 UG 100 0 0 ens33
192.168.30.0 sha 255.255.255.0 UG 0 0 0 ens33
192.168.100.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
192.168.200.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
[root@sha ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.100.2 0.0.0.0 UG 100 0 0 ens33
192.168.30.0 192.168.200.10 255.255.255.0 UG 0 0 0 ens33
192.168.100.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
192.168.200.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
3.4.2 刪除到指定網段的路由記錄
route del -net 網段地址
例如
[root@sha ~]# route del -net 192.168.30.0/24
[root@sha ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.100.2 0.0.0.0 UG 100 0 0 ens33
192.168.100.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
192.168.200.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
3.4.3 刪除路由表中的默認網關記錄
route del default gw IP地址
[root@sha ~]# route del default gw 192.168.100.2 刪除到192.168.100.2的默認網關記錄
[root@sha ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.100.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
192.168.200.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
同一個主機的路由表中只應有一條默認網關記錄,否則會導致主機的網絡瞭解出現故障
四:修改網絡配置文件
4.1:網絡接口配置文件
/etc/sysconfig/network-scripts/目錄下
文件名格式爲“ifcfg-xxx”
ifcfg-ens33:第一塊以太網卡的配置文件
…
迴環接口lo的配置文件是“ifcfg-lo”
[root@localhost ~]# ls /etc/sysconfig/network-scripts/ifcfg-*
/etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-lo
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
..省略部分內容
BOOTPROTO="dhcp" '設置網絡接口的配置方式,值爲 static 表示使用靜態指定的IP地址,值爲 dhcp 表示 通過dhcp的方式動態獲取地址'
DEVICE="ens33" '設置網絡接口的名稱'
ONBOOT="yes" '設置網絡接口是否在Linux系統啓動時激活'
IPADDR="192.168.100.60" '設置網絡接口的IP地址'
NETMASK="255.255.255.0" '設置網絡接口的子網掩碼'
GATEWAY="192.168.100.2" '設置網絡接口的默認網關地址'
4.2:啓動,禁用網絡接口配置
4.2.1 重啓network網絡服務
centos7下
[root@localhost ~]# systemctl restart network
或者
[root@localhost ~]# service network restart
禁用,啓用網絡接口
[root@localhost ~]# ifdown ens33 '關閉網卡'
成功斷開設備 'ens33'。
[root@localhost ~]# ifup ens33 '啓用網卡'
centos8下
[root@sha system]# nmcli c reload 重啓網絡服務
4.3:主機名稱配置文件
/etc/sysconfig/network文件 , centos6系統中再這
保存全局網絡設置,主要包括主機名信息
/etc/hostname文件,centos7系統中在這
4.4:域名解析配置文件
/etc/resolv.conf文件
保存本機需要使用的DNS服務器的IP地址
對該文件所做的修改會立刻生效
Linux系統中最多可以指定3個(第三個以後將被忽略)不同的DNS服務器地址,優先使用第一個DNS服務器
[root@localhost ~]# vim /etc/resolv.conf
search localdomain ‘默認的搜索域(域名後綴),即,當訪問主機localhost 時,相當於訪問 localhost.localdomain’
nameserver 100.100.1.30
nameserver 100.100.100.30
4.5:本地主機映射文件
/etc/hosts文件
保存主機名與IP地址的映射記錄
一般用來保存經常需要訪問的主機的信息
hosts文件和DNS服務器的比較
默認情況下,系統首先從hosts文件查找解析記錄
當訪問一個未知的域名時,先查找該文件中是否有相應的映射記錄,如果找不到在去向DNS服務器查詢
hosts文件只對當前的主機有效
因爲hosts文件只保存在本地
hosts文件可減少DNS查詢過程,從而加快訪問速度
在/etc/hosts文件中添加正確的映射記錄(經常訪問的一些網站),減少了DNS查詢,提高了上網速度
[root@localhost ~]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
6.6.6.6 www.baidu.com '這是新添加的,當訪問網站www.baidu.com時,就會直接向IP地址211.168.31.80發送web請求,省略了
五 : centos8下配置網絡命令nmcli 使用方法
因爲CentOS 8 棄用network.service,採用NetworkManager(NM)爲網卡啓用命令。當然,CentOS 8 可以安裝network.service作爲網卡服務,但爲了適應版本,此次還是得介紹nmcli命令的使用。
基於RHEL8/CentOS8的nmcli常用命令總結
# 查看ip(類似於ifconfig、ip addr)
nmcli
# 創建connection,配置靜態ip(等同於配置ifcfg,其中BOOTPROTO=none,並ifup啓動)
nmcli c add type ethernet con-name ethX ifname ethX ipv4.addr 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.method manual
# 創建connection,配置動態ip(等同於配置ifcfg,其中BOOTPROTO=dhcp,並ifup啓動)
nmcli c add type ethernet con-name ethX ifname ethX ipv4.method auto
# 修改ip(非交互式)
nmcli c modify ethX ipv4.addr '192.168.1.200/24'
nmcli c up ethX
# 修改ip(交互式)
nmcli c edit ethX
nmcli> goto ipv4.addresses
nmcli ipv4.addresses> change
Edit 'addresses' value: 192.168.1.200/24
Do you also want to set 'ipv4.method' to 'manual'? [yes]: yes
nmcli ipv4> save
nmcli ipv4> activate
nmcli ipv4> quit
# 啓用connection(相當於ifup)
nmcli c up ethX
# 停止connection(相當於ifdown)
nmcli c down
# 刪除connection(類似於ifdown並刪除ifcfg)
nmcli c delete ethX
# 查看connection列表
nmcli c show
# 查看connection詳細信息
nmcli c show ethX
# 重載所有ifcfg或route到connection(不會立即生效)
nmcli c reload
# 重載指定ifcfg或route到connection(不會立即生效)
nmcli c load /etc/sysconfig/network-scripts/ifcfg-ethX
nmcli c load /etc/sysconfig/network-scripts/route-ethX
# 立即生效connection,有3種方法
nmcli c up ethX
nmcli d reapply ethX
nmcli d connect ethX
# 查看device列表
nmcli d
# 查看所有device詳細信息
nmcli d show
# 查看指定device的詳細信息
nmcli d show ethX
# 激活網卡
nmcli d connect ethX
# 關閉無線網絡(NM默認啓用無線網絡)
nmcli r all off
# 查看NM納管狀態
nmcli n
# 開啓NM納管
nmcli n on
# 關閉NM納管(謹慎執行)
nmcli n off
# 監聽事件
nmcli m
# 查看NM本身狀態
nmcli
# 檢測NM是否在線可用
nm-online
上述提及的ifcfg均指代/etc/sysconfig/network-scripts/ifcfg-ethX及/etc/sysconfig/network-scripts/route-ethX