前言
- 查看及測驗網路
- 查看指定的網路介面資訊
- 查看主機名稱
- 查看路由表條目
- 查看網路連接情況
- 測驗網路連接
- 測驗 DNS 域名決議
- 設定網路地址引數
- 使用網路配置命令
- 禁用、激活網路介面
- 為網卡系結虛擬介面
- 添加、洗掉默認網關記錄
- 修改主機的名稱
- 修改網路組態檔
- 啟用、禁用網路介面配置
- 主機名稱組態檔
- 域名決議組態檔
- 本地主機映射檔案
查看及測驗網路配置是管理 Linux 網路服務的第一步,本節將學習 Linux 作業系統中的網路查看及測驗命令,其中講解的大多數命令以普通用戶權限就可以完成操作,但普通用戶在執行/sbin/目錄中的命令時需要指定命令檔案的絕對路徑,
查看及測驗網路
1.查看網路介面地址
主機的網路介面卡(網卡)通常稱為網路介面,在 Linux 作業系統中,使用 ifconfig 命令可以查看網路介面的地址配置資訊(Interface Configuration),
##最小化安裝需要 yum -y install net-tools
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.4.11 netmask 255.255.255.0 broadcast 192.168.4.255
…… //省略部分內容
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
…… //省略部分內容
在上述輸出結果中,ens33 對應為第一塊物理網卡,lo 對應為虛擬的回環介面,
?ens33:第一塊以太網卡的名稱,“ens33”中的“en”是“EtherNet”的縮寫,表示網卡型別為以太網,“s”表示熱插拔插槽上的設備(hot-plug Slot),數字“33”表示插槽編號,由此可以得知,從 CentOS 7 開始,使用基于韌體、硬體拓撲和設備位置資訊分配的一致網路設備命名(Consistent Network Naming),因為一致的網路設備名是基于系統硬體的,所以在不同的作業系統上,網路介面名稱可能不同,
lo:“回環”網路介面,“lo”是“loopback”的縮寫,它不代表真正的網路介面,而是一個虛擬的網路介面, 其 IP 地址默認是“127.0.0.1”,回環地址通常僅用于對本機的網路測驗,
查看指定的網路介面資訊
當只需要查看其中某一個網路介面的資訊時,可以使用網路介面的名稱作為 ifconfig 命令的引數(不論該網路介面是否處于激活狀態),例如,執行“ifconfig ens33”命令后可以只查看網卡 ens33 的配置資訊,具體操作如下:
[root@localhost ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.4.11 netmask 255.255.255.0 broadcast 192.168.4.255 inet6 fe80::9106:d38b:670d:1a89 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:3a:81:cc txqueuelen 1000 (Ethernet)
RX packets 4625 bytes 428860 (418.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2302 bytes 344920 (336.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
從上述命令顯示的結果中,可以獲知 ens33 網卡的一些基本資訊,如下所述,
inet:表示網路介面的 IP 地址,如“192.168.4.11”,
?netmask:表示網路介面的子網掩碼,如“255.255.255.0”,
?broadcast:表示網路介面所在網路的廣播地址,如“192.168.4.255”,
?ether:表示網路介面的物理地址(MAC 地址),如“00:0c:29:3a:81:cc”,網路介面的物理地址通常不
能更改,是網卡在生產時確定的全球唯一的硬體地址,
除此以外,還能夠通過“TX”和“RX”等資訊了解通過該網路介面發送和接收的資料包個 數、流量等更多屬性,
查看主機名稱
在 Linux 作業系統中,相當一部分網路服務都會通過主機名來識別主機,如果主機名配置不當,可能會導致程式功能出現故障,使用 hostname 命令可以查看當前主機的主機名, 不用添加任何選項或引數,具體操作如下:
[root@localhost ~]# hostname
localhost.localdomain
## 如果想更改可以: hostnamectl set-hostname +名稱
查看路由表條目
Linux 作業系統中的路由表決定著從本機向其他主機、其他網路發送資料的去向,是排除網路故障的關鍵資訊,直接執行“route”命令可以查看當前主機中的路由表資訊,在輸出結果中,Destination 列對應目標網段的地址,Gateway 列對應下一跳路由器的地址,Iface 列對應發送資料的網路介面,
[root@localhost ~]# 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.4.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
當目標網段為“default”時,表示此行是默認網關記錄;當下一跳為“gateway”時,表示目標網段是與本機直接相連的,但是,直接執行“route”命令無法直接看出默認網關地址,
若結合“-n”選項使用,可以將路由記錄中的地址顯示為數字形式,這可以跳過決議主機名的程序,在路由表條目較多的情況下能夠加快執行速度,例如,執行“route -n”命令后, 輸出資訊中的“gateway”地址將顯示為“192.168.4.1”,默認網關記錄中的“default”也將顯示為 “0.0.0.0”,具體操作如下:
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.4.1 0.0.0.0 UG 100 0 0 ens33
192.168.4.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
查看網路連接情況
通過 netstat 命令可以查看當前作業系統的網路連接狀態、路由表、介面統計等資訊, 它是了解網路狀態及排除網路服務故障的有效工具,以下是 netstat 命令常用的幾個選項,
?-a:顯示主機中所有活動的網路連接資訊(包括監聽、非監聽狀態的服務埠),
?-n:以數字的形式顯示相關的主機地址、埠等資訊,
?-r:顯示路由表資訊,
?-l:顯示處于監聽(Listening)狀態的網路連接及埠資訊,
?-t:查看 TCP(Transmission Control Protocol,傳輸控制協議)相關的資訊,
?-u:顯示 UDP(User Datagram Protocol,用戶資料報協議)協議相關的資訊,
?-p:顯示與網路連接相關聯的行程號、行程名稱資訊(該選項需要 root 權限),通常使用“-anpt”組合
選項,以數字形式顯示當前系統中所有的 TCP 連接資訊,同時顯
示對應的行程資訊,結合管道命令使用“grep”命令,還可以在結果中過濾出所需要的特定記 錄,例如,執行以下操作可以查看本機中是否有監聽“TCP 80”埠(即標準 Web 服務)的服務程式,輸出資訊中包括 PID 號和行程名稱,
[root@localhost ~]# netstat -anpt | grep ":80"
tcp60 0 :::80 :::* LISTEN 20563/httpd
除了 netstat,ss 命令也可以查看網路連接情況,它是 Socket Statistics 的縮寫,主要用于獲取 socket 統計資訊,它可以顯示和 netstat 命令類似的輸出內容,但 ss 的優勢在于它能夠顯示更多更詳細的有關 TCP 和連接狀態的資訊,而且比 netstat 更快速更高效,要想使用 ss 命令,首先確保 iproute 程式包已被安裝,可以通過 yum 方式進行安裝,
?-h:--help 通過該選項獲取更多的使用幫助,
?-V:--version 顯示軟體的版本號,
?-t:--tcp 顯示 TCP 協議的 sockets,
?-u:--udp 顯示 UDP 協議的 sockets,
?-n:--numeric 不決議服務的名稱,如 "22" 埠不會顯示成 "ssh",
?-l:--listening 只顯示處于監聽狀態的埠,
?-p:--processes 顯示監聽埠的行程,
?-a: --all 對 TCP 協議來說,既包含監聽的埠,也包含建立的連接,
?-r: --resolve 把 IP 解釋為域名,把埠號解釋為協議名稱,
ss 命令的輸出結果,可以提供 TCP 和 UDP 的 socket 資訊,以及各種服務建立的持久連結,熟悉這個命令有助于更好的發現與解決系統性能問題,例如,執行以下操作可以顯示TCP 協議下已經建立的連接,“Local Address:Port” 表示本地監聽的 IP 和埠,“Peer Address:Port”表示遠端連接的 IP 和埠,具體 ss 的操作命令如下,
[root@localhost ~]# ss -t state established
Recv-Q Send-Q Local Address:Port Peer Address:Port 0 96 192.168.8.10:ssh 192.168.8.1:55213
測驗網路連接
用戶訪問網路服務的前提是網路連接處于正常狀態,若網路連接不穩定,甚至無法連接, 用戶則無法正常訪問網路服務,因此,當網路連接出現問題時,需要通過測驗網路連接的命令來確定故障點,下面介紹幾個常用的測驗網路連接的命令,
1.測驗網路連通性
使用 ping 命令可以向目標主機持續地發送測驗資料包,并顯示反饋結果,直到按 Ctrl
+C 組合鍵后中止測驗,并顯示最終統計結果,例如,以下操作將測驗從本機到另一臺主機
192.168.4.110 的連通性情況,連接正常時會收到回傳的資料包,
[root@localhost ~]# ping 192.168.4.110
PING 192.168.4.110 (192.168.4.110) 56(84) bytes of data.
64 bytes from 192.168.4.110: icmp_seq=1 ttl=64 time=0.313 ms 64 bytes from 192.168.4.110: icmp_seq=2 ttl=64 time=0.213 ms
^C //按Ctrl+C 組合鍵中止執行
--- 192.168.4.110 ping statistics ---
8 packets transmitted, 8 received, 0% packet loss, time 8085ms rtt min/avg/max/mdev = 0.213/0.236/0.313/0.035 ms
執行 ping 測驗命令時,若不能獲得從目標主機發回的反饋資料包,則表示在本機到目標主機之間存在網路連通性故障,例如,若看到“Destination Host Unreachable”的反饋資訊, 則表示目的主機不可達, 可能目標地址不存在或者主機已經關閉;若看到“Network is unreachable”的反饋資訊,則表示沒有可用的路由記錄(如默認網關),無法達到目標主機所在的網路,
[root@localhost ~]# ping 192.168.4.123
PING 192.168.4.123 (192.168.4.123) 56(84) bytes of data.
From 192.168.4.11 icmp_seq=2 Destination Host Unreachable From 192.168.4.11 icmp_seq=3 Destination Host Unreachable
…… //省略部分內容
當網路中存在影響通信程序穩定性的因素(如網卡故障、病毒或網路攻擊等)時,使用ping 命令測驗可能會頻繁看到“Request timeout”的反饋結果,表示與目標主機間的連接超時(資料包回應緩慢或丟失),除此以外,當目標主機有嚴格的防火墻限制時,也可能收到“Request timeout”的反饋結果,
2.跟蹤資料包的路由途徑
若服務器上沒有 traceroute 命令,可通過 yum 方式安裝 traceroute 軟體包,traceroute 命令可以用于測驗從當前主機到目的主機之間經過了哪些網路結點,并顯示各中間結點的連接狀態(回應時間),對于無法回應的結點,連接狀態將顯示為“*”,例如,通過以下操作結果可以看出,從本機到目標主機 192.168.7.7 之間,中間需跨越一個路由器 192.168.4.1,
[root@localhost ~]# traceroute 192.168.7.7
traceroute to 192.168.7.7 (192.168.7.7), 30 hops max, 40 byte packets
1 (192.168.4.1) 7.740 ms 15.581 ms 15.881 ms
2 (192.168.7.7) 19.652 ms 19.995 ms 19.942 ms
traceroute 命令能夠比 ping 命令更加準確地定位網路連接的故障點(中斷點),因此執行速度會比 ping 命令稍慢,在網路測驗與排錯程序中,通常會先使用 ping 命令測驗與目的主機的網路連接,如果發現網路連接有故障,再使用 traceroute 命令跟蹤查看是在哪個中間結點存在故障,
測驗 DNS 域名決議
當域名決議出現例外時,將無法使用域名的形式訪問網路中的 Web 站點、電子郵件系統等服務,nslookup 命令是用來測驗域名決議的專用工具,使用時只要指定要決議的目標域名作為引數即可,若在執行程序中提示無法找到nslookup 命令,可通過yum 安裝bind-utils 程式包的方式來解決,例如,執行“nslookup www.google.com”命令后,nslookup 程式將提交查詢請求,詢問站點 www.google.com 對應的 IP 地址是多少,具體操作如下:
[root@localhost ~]# nslookup www.google.com
Server: 202.106.0.20 //所使用的DNS 服務器
Address: 202.106.0.20#53
Non-authoritative answer: //以下為DNS 決議的反饋結果
Name: www.l.google.com Address: 173.194.127.51
…… //省略部分內容
若能夠成功反饋要查詢域名的 IP 地址,則表示域名決議沒有問題,否則需要根據實際反饋情況來判斷故障原因,例如,若出現“…… no servers could be reached”的資訊,則表示不能連接到指定的DNS 服務器;若出現“…… can’t find xxx.yyy.zzz: NXDOMAIN”的資訊, 則表示要查詢的域名不存在,
[root@localhost ~]# nslookup www.google.com
;; connection timed out; trying next origin
;; connection timed out; no servers could be reached
此外還有 dig 命令也可以用來測驗域名決議,相對于 nslookup 命令,dig 可以得到更多的域名資訊,dig 的全稱是(domain information groper),它是一個用于查詢 DNS 域名服務器的靈活的工具,大多數系統管理員都是利用 dig 作為 DNS 問題的故障診斷工具,因為它具有靈活性好、易用、輸出清晰等特點,dig 命令最典型的用法就是查詢單個主機的資訊,
[root@localhost ~]# dig baidu.com
; <<>> DiG 9.9.4-RedHat-9.9.4-74.el7_6.2 <<>> baidu.com // dig 的版本及輸入引數
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51884
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
//以上顯示服務器回傳的資訊,status 為 NOERROR 狀態說明查詢成功
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;baidu.com. IN A //顯示通過 A 記錄要查詢的域名
;; ANSWER SECTION:
baidu.com. 585 IN A 220.181.38.148
baidu.com. 585 IN A 39.156.69.79
//經DNS 回傳后的查詢結果
;; Query time: 13 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: Sun Sep 08 19:06:46 CST 2019
;; MSG SIZE rcvd: 70
//查詢后的一些統計資訊,比如用了 13 毫秒,查詢 DNS 服務器的IP 地址,查詢的時間等等
dig 在查詢程序中,還可以指定特點的 DNS 服務器,如果不指定 DNS 服務器,默認會使用/etc/resolve.conf 里面的地址作為 DNS 服務器,
[root@localhost ~]# dig @202.106.0.20 baidu.com //使用指定的 DNS 服務器來決議
; <<>> DiG 9.9.4-RedHat-9.9.4-74.el7_6.2 <<>> @202.106.0.20 baidu.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48077
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 5, ADDITIONAL: 6
//省略后續輸出
設定網路地址引數
從本節開始將學習如何來修改 Linux 主機的各種網路地址引數,在 Linux 主機中,手動修改網路配置包括兩種最基本的方法,
?臨時配置:通過命令列直接修改當前正在使用的網路地址,修改后立即可以生效, 這種方式操作簡單快速、執行效率高,一般在除錯網路的程序中使用,但由于所做的修改并沒有固定地存放在靜態的檔案中,因此當重啟 network 服務或重啟主機后將會失效,
?固定配置:通過組態檔來存放固定的各種網路地址,需要重啟 network 服務或重啟主機后才會生效,這種方式操作上相對要復雜一些,但相當于“永久配置”,一般在需要為服務器設定固定的網路地址時使用,
使用網路配置命令
1.修改網卡的地址、狀態
ifconfig 命令不僅可以用于查看網卡配置,還可以修改網卡的 IP 地址、子網掩碼,也可
以系結虛擬網路介面、激活或禁用網路介面,
(1)修改網卡的 IP 地址、子網掩碼
需要設定網卡的地址時,命令格式如下:
ifconfig 網路介面名稱 IP 地址 [ netmask 子網掩碼 ]
或者
ifconfig 網路介面名稱 IP 地址[/子網掩碼長度]
通常后一種方式用得更多一些,當不指定子網掩碼時,將使用 IP 地址所在分類的默認子網掩碼,指定新的 IP 地址和子網掩碼以后,原有的地址將會失效,例如,執行以下操作可以將網卡 ens33 的 IP 地址設定為 192.168.168.1,子網掩碼長度為 24,
[root@localhost ~]# ifconfig ens33 192.168.168.1/24
或者
[root@localhost ~]# ifconfig ens33 192.168.168.1 netmask 255.255.255.0
禁用、激活網路介面
需要臨時禁用或者重新激活指定的網路介面時,需要結合“down”和“up”開關選項,網路 介面被禁用以后,將無法使用該網路介面與其他主機進行連接,例如,執行以下操作將會禁 用網卡 ens37,
[root@localhost ~]# ifconfig ens37 down
為網卡系結虛擬介面
在對服務器網路進行除錯的程序中,有時候需要臨時在同一個網卡上使用一個新的 IP 地址,但是又不能覆寫原有 IP 地址而導致服務程式不可用,這時可以為網卡系結一個虛擬的網路介面,然后為虛擬介面設定新的 IP 地址(相當于一塊網卡配多個 IP 地址),
例如,執行以下操作可以為網卡 ens33 添加一個虛擬介面 ens33:0,并將這個虛擬介面的 IP 地址設定為 172.17.17.17,虛擬介面的 IP 地址和網卡原有的 IP 地址都可以正常使用,
[root@localhost ~]# ifconfig ens33:0 172.17.17.17
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.4.11 netmask 255.255.255.0 broadcast 192.168.12.255 inet6 fe80::9106:d38b:670d:1a89 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:3a:81:cc txqueuelen 1000 (Ethernet)
RX packets 8791 bytes 811759 (792.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4459 bytes 584948 (571.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.17.17 netmask 255.255.0.0 broadcast 172.17.255.255 ether 00:0c:29:3a:81:cc txqueuelen 1000 (Ethernet)
可以根據需要添加更多的虛擬介面,如“ens33:1”“ens33:2”等,
2.添加、洗掉靜態路由記錄
route 命令不僅可以用于查看路由表資訊,還可用來添加、洗掉靜態的路由表條目,其中也包括設定默認網關地址(默認網關記錄是一條特殊的靜態路由條目),
(1)添加、洗掉到指定網段的路由記錄
通過“route add”操作可以添加路由記錄,結合“-net”選項指定目標網段的地址,結合“gw” 選項指定下一跳路由器的IP 地址,例如,若要使本機訪問另一個網段 192.168.3.0/24 的資料包都發送給 192.168.4.254,可以執行以下操作,需要注意的是,默認網關的 IP 地址應該與本機其中一個介面的 IP 地址在同一個網段內,
[root@www ~]# route add -net 192.168.3.0/24 gw 192.168.4.254 //添加靜態路由[root@www ~]# route -n //確認添加的路由條目
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.4.1 0.0.0.0 UG 100 0 0 ens33
192.168.3.0 192.168.4.254 55.255.255.0 UG 0 0 0 ens33
192.168.4.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
通過“route del”操作可以洗掉路由記錄,只要結合“-net”選項指定對應路由記錄中目標網段的地址即可,例如,執行以下操作可以洗掉前面添加到 192.168.3.0/24 網段的靜態路由條目,
[root@www ~]# route del -net 192.168.3.0/24
[root@www ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.4.1 0.0.0.0 UG 100 0 0 ens33
192.168.4.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
添加、洗掉默認網關記錄
添加、洗掉默認網關記錄時,與添加、洗掉靜態路由記錄的命令格式類似,但指定目標網段時只需簡單地使用“default”表示即可,無須再使用“-net”選項指明網段地址,例如,執 行以下操作將先洗掉已有的到 192.168.4.1 的默認網關記錄,再添加新的 192.168.4.254 的默認網關記錄,
[root@www ~]# route -n | grep "192.168.4.1" //查看原路由表中的默認網關記錄0.0.0.0
192.168.4.1 0.0.0.0 UG 100 0 0 ens33
[root@www ~]# route del default gw 192.168.4.1 // 刪 除 默 認 網 關 記 錄 192.168.4.1
[root@www ~]# route -n | grep "192.168.4.1" //確認洗掉結果(檢索時無輸出) [root@www ~]# route
add default gw 192.168.4.254 //添加新的默認網關記錄 192.168.4.254 [root@www ~]# route -n |
grep "192.168.4.254" //確認新的默認網關記錄
0.0.0.0 192.168.4.254 0.0.0.0 UG 100 0 0 ens33
需要注意的是,在同一個主機的路由表中只應有一條默認網關記錄,若同時存在多條默 認網關記錄,則可能導致該主機的網路連接出現故障,
修改主機的名稱
hostname 命令不僅可以用于顯示當前主機的名稱,還可以修改當前主機的名稱,在新登錄的用戶會話(Shell 環境)中,命令提示符中的主機名部分也會出現相應的變化,例如, 執行“hostname www.bdqn.com”命令可以將主機名改為“www.bdqn.com”,具體操作如下:
[root@localhost ~]# hostname //查看原來的主機名localhost.localdomain
[root@localhost ~]# hostname www.bdqn.com //設定新的主機名[root@localhost ~]# hostname //確認新的主機名www.bdqn.com
[root@localhost ~]# bash //啟用新的Shell 會話,查看變化
[root@www ~]#hostname www.bdqn.com
修改網路組態檔
當需要為 Linux 服務器設定固定的網路地址時,若仍用 ifconfig 等網路命令來進行設定, 將會大大降低服務器運行的可靠性,若要使 Linux 主機在重啟系統以后仍然能夠使用相同的網路配置,那么直接修改組態檔是最好的方法,
下面將分別介紹常見的幾個網路組態檔,
1.網路介面組態檔
網路介面的組態檔默認位于目錄/etc/sysconfig/network-scripts/中,檔案名格式為“ifcfg-XXX”,其中“XXX”是網路介面的名稱,例如,網卡 ens33 的組態檔是“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
在網卡的組態檔 ifcfg- ens33 中,可以看到設定靜態 IP 地址的部分內容如下:
TYPE=Ethernet BOOTPROTO=static DEVICE=ens33 ONBOOT=yes IPADDR=192.168.4.11 NETMASK=255.255.255.0 GATEWAY=192.168.4.1
上述各配置項的含義及作用如下,
?TYPE:設定網卡型別,“Ethernet”表示以太網,
?BOOTPROTO:設定網路介面的配置方式,值為“static”時表示使用靜態指定的 IP
地址,為“dhcp”時表示通過 DHCP 的方式動態獲取地址,
?DEVICE:設定網路介面的名稱,
?ONBOOT:設定網路介面是否在 Linux 作業系統啟動時激活,
?IPADDR:設定網路介面的 IP 地址,
?NETMASK:設定網路介面的子網掩碼,
?GATEWAY:設定網路介面的默認網關地址,
啟用、禁用網路介面配置
在 CentOS 7 作業系統中,當修改了網路介面的組態檔以后,若要使新的配置生效, 可以重新啟動 network 服務或者重啟主機,具體操作如下,默認情況下,重啟 network 服務會先關閉所有的網路介面,再根據組態檔重新啟用所有的網路介面,
[root@localhost ~]# systemctl restart network
如果只是禁用、啟用某一個網路介面(而不是所有介面),可分別使用兩個介面控制腳本 ifdown、ifup,例如,執行以下操作將會先關閉 ens33 網卡,然后根據組態檔啟用 ens33 網卡,
[root@localhost ~]# ifdown ens33
[root@localhost ~]# ifup ens33
主機名稱組態檔
若要修改 Linux 作業系統的主機名,可以修改組態檔/etc/hostname,將要設定的主機名寫入此檔案內,如果檔案內輸入了多行內容,此時系統僅識別第一行的內容為系統主機名,例如,執行以下操作可以將主機名由默認的 localhost.localdomain 改為 www.bdqn.com,
[root@localhost ~]# vi /etc/hostname
www.bdqn.com
通過修改/etc/hostname 來更改的主機名,如果要讓其生效,需重啟 Linux 系統,此外,還可以通過 hostnamectl 命令來修改主機名,命令操作如下,
[root@localhost ~]# hostnamectl set-hostname www.bdqn.com //設定新的主機名[root@localhost ~]# bash //啟用新的Shell 會話,查看變化[root@www ~]#hostname
www.bdqn.com
域名決議組態檔
在 Linux 作業系統中有兩個與域名決議相關的組態檔,下面逐一介紹,
(1)指定為本機提供 DNS 決議的服務器地址
/etc/resolv.conf 檔案中記錄了本機默認使用的 DNS 服務器的地址資訊,對該檔案所做的修改將會立刻生效,Linux 作業系統中最多可以指定 3 個(第 3 個以后的將被忽略)不同的 DNS 服務器地址,優先使用第一個 DNS 服務器,例如,執行以下操作可以指定默認使用的兩個 DNS 服務器地址分別位于 202.106.0.20 和 202.106.148.1,
[root@localhost ~]# vi /etc/resolv.conf
search localdomain nameserver 202.106.0.20
nameserver 202.106.148.1
resolv.conf 檔案中的“search localdomain”行用來設定默認的搜索域(域名擴展名),例如,當訪問主機“localhost”時,就相當于訪問“localhost.localdomain”,
但是,在 CentOS 7 環境下,如果按照上面方式配置,過一段時間會被系統重新覆寫或
者清除,此時需要修改/etc/NetworkManager/NetworkManager.conf 檔案,在 main 部分添加“dns=none”配置項,
[root@localhost ~]# vi /etc/NetworkManager/NetworkManager.conf
[main] plugins=ifcfg-rh dns=none
[logging] #level=DEBUG #domains=ALL
之后需要重啟 NetworkManager 服務,確保/etc/resolv.conf 內有配置資訊,此時就可以正常決議域名了,
本地主機映射檔案
/etc/hosts 檔案中記錄著一份主機名與 IP 地址的映射關系表,一般用來保存經常需要訪問的主機的資訊,當訪問一個未知的域名時,先查找該檔案中是否有相應的映射記錄,如果找不到再去向 DNS 服務器查詢,
例如,若在/etc/hosts 檔案中添加“119.75.218.70 www.baidu.com”的映射記錄,則當訪問網站 www.baidu.com 時,將會直接向 IP 地址 119.75.218.70 發送 Web 請求,省略了向 DNS 服務器決議 IP 地址的程序,
[root@localhost ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4. localdomain4
…… //省略部分內容
119.75.218.70 www.baidu.com
對于經常訪問的一些網站,可以通過在/etc/hosts 檔案添加正確的映射記錄,減少 DNS 查詢程序,從而提高上網速度,當然,若添加了錯誤的映射記錄,則可能導致網站訪問出現例外,另外,因為 hosts 檔案只保存在本地,所以其中的映射記錄也只適用于當前主機,而無法作用于整個網路,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/202892.html
標籤:其他
上一篇:IPV4為服務器搭代理
