Linux-centos8 網絡服務--查看網絡設置,測試網絡連接,設置網絡地址參數,修改網絡配置文件詳解 理論+實操(兼容centos7)

前言

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:702 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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章