文章目錄
- 一、查看網路配置
- 1.查看網路介面資訊-ifconfig
- 2.查看主機名稱-hostname
- 3.查看路由表條目-route
- 4.查看網路連接情況-netstat
- 5.獲取socket統計資訊-ss
- 二、測驗網路連接
- 1.測驗網路連通性-ping
- 2.跟蹤資料包-traceroute
- 3.DNS域名決議-nslookup
- 三、使用網路配置命令
- 1.設定網路介面引數-ifconfig
- 2.設定路由記錄-route(臨時)
- 四、修改網路組態檔
- 1.網路介面組態檔
- 2.啟用、禁用網路介面配置
- 3.主機名稱組態檔
- 4.域名決議組態檔
- 5.本地主機映射檔案
一、查看網路配置
1.查看網路介面資訊-ifconfig
- 主機的網路介面卡(網卡)通常稱之為“網路介面”
- 在Linux中,使用ifconfig命令可以查看網路介面的地址配置資訊
- 使用ifconfig命令不帶任何選項和引數的時候,會顯示當前主機中已啟動(運行中)的網路介面資訊
- 查看主網卡
- inet:IP地址
- netmask:子網掩碼
- broadcast:廣播地址
- ether:網卡地址
- mtu:最大傳輸單元(位元組數為1500位元組);每個網路設備都有自己的mtu,默認為1500;若我們設備的mtu大于網路設備,資料在傳輸的程序中就會被分片拆包,導致網速(效率)變慢;若小于,則發揮不了最大傳輸能力;最理想的是本地與網路的MTU值相等(基本都是默認1500)
2.查看主機名稱-hostname
- 查看(不附加選項和引數)或者臨時設定當前主機名
hostname [name]
[root@localhost ~]# hostname xcf
[root@localhost ~]# hostname
xcf
[root@localhost ~]# su ##(或bash)啟用新的Shell會話
[root@xcf ~]#
- 永久設定主機名
- hostnamectl set-hostname [主機名]
- vim /etc/hostname (設定完后需重啟系統才能生效)
3.查看路由表條目-route
- 查看或設定主機中路由表資訊
route [-n]
[root@xcf ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.126.2 0.0.0.0 UG 100 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
192.168.126.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
- Destination列對應目標網段的地址
- Gateway列對應下一跳路由器的地址
- Iface列對應發送資料的網路介面
- 目標網段為“0.0.0.0”時表示此行為默認網關記錄
- 下一跳是“0.0.0.0”時表示目標網段與本主機直連
4.查看網路連接情況-netstat
- 查看系統的網路連接狀態、路由表、介面統計等資訊
netstat [選項] - 常用選項
- -a:顯示當前主機中所有活動的網路連接情況(包括監聽、非監聽狀態的服務埠)
- -n:以數字的形式顯示相關的主機地址、埠等資訊
- -r:顯示路由表資訊
- -l顯示處于田徑狀態的網路連接及埠資訊
- -t:查看TCP協議相關資訊
- -u:顯示UDP協議相關資訊
- -p:顯示與網路連接相關聯的行程號、行程名稱資訊(該選項需要root權限)
- 通常使用“-anpt”組合選項,以數字形式顯示當前系統中所有的TCP連接資訊,同時顯示對應的行程資訊;結合管道命令“grep”還可以在結果中過濾出所需的特定記錄
- 例如,執行以下操作可以查看本機中是否有監聽“TCP80”埠(即標準FTP服務)的服務程式,輸出資訊中包括PID號和行程號名稱
[root@xcf ~]# netstat -anpt | grep ":80"- 掃描tcp和udp埠
[root@xcf ~]# netstat -nautp
...略
5.獲取socket統計資訊-ss
- 查看系統的網路連接情況,獲取socket統計資訊
ss [選項] - socket:即套接字,上聯應用行程,下聯網路協議堆疊,是應用程式通過網路協議進行通信的介面,是應用程式與網路協議根進行互動的介面
- 常用選項
- -t、-u、-n、-l、-p、-a、-r
- 用的不多,有興趣的同學可以再去查詢深入了解下
二、測驗網路連接
1.測驗網路連通性-ping
- ping [選項] 目標主機
- 使用ping命令可以向目標主機持續的發送測驗資料包,并反饋顯示結果,直到按“Ctrl+C”組合鍵后終止測驗并顯示最終統計結果
- 例:測驗從本機到百度網站的連通性情況(記得Ctrl+C終止,否則會一直顯示下去)
[root@xcf ~]# ping www.baidu.com
PING www.a.shifen.com (180.101.49.12) 56(84) bytes of data.
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=1 ttl=128 time=58.0 ms
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=2 ttl=128 time=48.4 ms
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=3 ttl=128 time=52.0 ms
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=4 ttl=128 time=41.2 ms
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=5 ttl=128 time=47.5 ms
^C
--- www.a.shifen.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4008ms
rtt min/avg/max/mdev = 41.227/49.484/58.045/5.535 ms
- 可能會發生以下情況
- “Destination Host Unreacheble”表示目的主機不可達,可能目標地址不存在或者目的主機已關閉
- “Netwokr is unreacheable”表示沒有可用的路由記錄(如默認網關),無法到達目標主機所在網絡
- 也有可能因為網路中存在影響通信程序穩定的因素(如網卡故障、病毒或網路攻擊)時,會看到“Request timeout”的反饋結果,表示與目的主機連接超時(資料包回應緩慢或丟失)
- 也還有可能是目標主機防火墻的限制導致連接超時反饋
2.跟蹤資料包-traceroute
- 測驗從當前主機到目的主機之間經過了哪些網路節點,并顯示了各中間節點的連接狀態(回應時間)
- 對于無法顯示的節點,連接狀態將顯示“*”
- 例:從本主機到百度之間,需要跨越一個路由器192.168.126.2
[root@xcf ~]# traceroute www.baidu.com
traceroute to www.baidu.com (180.101.49.11), 30 hops max, 60 byte packets
1 gateway (192.168.126.2) 0.088 ms 0.037 ms 0.024 ms
- traceroute命令能比ping命令更加準確的定位網路連接的故障點(中斷點),執行命令也會比ping稍慢一點
- 在網路測驗與排錯程序中,通常會先試用ping命令測驗與目的主機的網路連接,如果發現有故障,再來使用traceroute命令跟蹤查看故障在哪個中間節點
- 也是記得按Ctrl+C終止
3.DNS域名決議-nslookup
- 當域名決議出現例外的時候,將無法再使用域名的形式來訪問網路中的Web站點、電子郵件系統等服務
- nslookup是專門用來測驗域名決議的專用工具,使用時只要指定要決議的目標域名作為引數即可
nslookup 目標主機地址 [DNS服務器地址] - 示例:
執行以下命令后,nslookup程式將提交查詢請求,詢問百度站點對應的IP地址是多少
[root@xcf ~]# nslookup www.baidu.com
Server: 192.168.126.2 ##所使用的的DNS服務器
Address: 192.168.126.2#53 ##DNS的服務器IP地址和埠號
Non-authoritative answer: ##以下為DNS決議的反饋結果
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 180.101.49.11
Name: www.a.shifen.com
Address: 180.101.49.12
- 若能夠成功反饋要查詢域名的IP地址,則表示域名決議沒有問題,否則需要根據實際反饋情況來判斷故障原因
三、使用網路配置命令
在Linux主機中,手工修改網路配置有兩種最基本的方法:
- 臨時配置-使用命令調整網路引數
- 簡單、快速,可直接修改運行中的網路引數
- 一般只適合在除錯網路的程序中使用
- 系統重啟以后,所做的修改將會失效
- 固定設定一通過組態檔修改網路引數
- 修改各項網路引數的組態檔
- 適合對服務器設定固定引數時使用
- 需要多載網路服務或者重啟以后才會生效
1.設定網路介面引數-ifconfig
- 設定網路介面的IP地址、子網掩碼
- ifconfig 網路介面 ip地址 [netmask 子網掩碼]
- inconfig 網路介面 ip地址[/子網掩碼長度]
- 通常后一種方式用的多一些,當不指定子網掩碼的時候,將使用ip地址所在分類默認子網掩碼
- 指定新的IP地址和子網掩碼后,原有的地址將會失效
- 示例:
[root@xcf~]# ifconfig eth0 192.168.168.1/24(或 ifconfig eth0 192.168.168.1 netmask 255.255.255.0)
##將網卡echo的IP地址設定為192.168.168.1,子網掩碼長度為24
- 禁用(臨時)或者重新激活網卡
- ifconfig 網路介面 up
- ifconfig 網路介面 down
- 網路介面被禁用后,將無法再使用該網路介面與其他主機進行連接
- 設定虛擬網路介面
- 在對服務器進行除錯的程序中,有時需臨時在同一個網卡上使用一個新的IP地址,但又不能覆寫原有IP地址而導致服務程式不可用
- 相當于在一個網卡上配置多個IP地址
- 格式(示例):ifconfig 網路介面:序號 IP地址
[root@xcf1 ~]# ifconfig ens33:1 11.11.11.11
[root@xcf1 ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.126.3 netmask 255.255.255.0 broadcast 192.168.126.255
inet6 fe80::8559:70c4:715b:a5b5 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b4:c9:c0 txqueuelen 1000 (Ethernet)
RX packets 1905 bytes 154593 (150.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1224 bytes 161199 (157.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens33:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 11.11.11.11 netmask 255.0.0.0 broadcast 11.255.255.255
ether 00:0c:29:b4:c9:c0 txqueuelen 1000 (Ethernet)
2.設定路由記錄-route(臨時)
- route命令不僅可以用來查看路由表資訊,還可以用來添加、洗掉靜態的路由條路,其中也包括設定默認網關地址(默認網關記錄是一條特殊的靜態路由條目)
[root@xcf1 ~]# route ##查看路由資訊
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 100 0 0 ens33
11.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
192.168.126.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
- 添加到指定網段的路由記錄
- 默認網關的IP地址應與本機其中一個介面的IP地址在同一個網段內
##格式:
route add -net 網段地址 gw IP地址
##通過“route add”添加路由記錄,結合“net”指定目標網段的地址,結合“gw”指定下一跳路由器的IP地址,
##示例:
[root@xcf1 ~]# route add -net 192.168.133.0/24 gw 192.168.122.10 ##添加靜態路由,本機訪問另一個網段192.168.133.0/24的資料都發給192.168.122.10
[root@xcf1 ~]# route ##確認已添加成功
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 100 0 0 ens33
11.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 ens33
11.0.0.0 0.0.0.0 255.0.0.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.126.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.133.0 192.168.122.10 255.255.255.0 UG 0 0 0 virbr0
- 洗掉到指定網段的路由記錄
[root@xcf1 ~]# route del -net 192.168.133.0/24
[root@xcf1 ~]# route ##沒了,洗掉成功
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 100 0 0 ens33
11.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
192.168.126.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
- 向路由表中添加默認網關記錄
格式:
route add default gw IP地址
- 洗掉路由表中默認的網關記錄
格式:
route del default gw IP地址
- 在同一個主機的路由表中只應有一條默認網關記錄,若同時存在多條則可能導致該主機網路連接故障
四、修改網路組態檔
1.網路介面組態檔
- 網路介面的組態檔默認位于目錄“/etc/sysconfig/network-scripts/”中,檔案名格式為“ifcfg-XXX”,其中“XXX”是網路介面的名稱
- “ifcfg-ens33”:是第一塊以太網卡的組態檔
[root@xcf ~]# ls /etc/sysconfig/network-scripts/ifcfg-*
/etc/sysconfig/network-scripts/ifcfg-ens33
/etc/sysconfig/network-scripts/ifcfg-lo
##“lo”是回環介面
- 查看網卡配置

- 補充:
- TYPE:設定網卡型別,以上表示為以太網
- ONBOOT:設定網路介面是否在Linux系統啟動時自動激活
- NETMASK:設定網路介面的子網掩碼
- GATEMASK:設定網路介面的默認網關地址
- DNS:設定DNS服務器的IP地址
2.啟用、禁用網路介面配置
- 當修改了網路介面的組態檔后,若要使新的配置生效,需重啟網卡或主機
- 重啟network網路服務
[root@xcf ~]# systemctl restart network (重啟所有網卡)
或
[root@xcf ~]# service network restart
Restarting network (via systemctl): [ 確定 ]
- 禁用、啟用網路介面
[root@xcf ~]# ifdown ens33 (這里是禁用或啟用單個網卡)
##注,若在Xshell中執行此命令,則界面再不可用了,連接不上,需回到VM虛擬機中重新啟動網路介面
##這時你會發現網路不可用了↓↓↓
[root@xcf ~]# ping www.baidu.com
ping: www.baidu.com: 未知的名稱或服務
[root@xcf ~]# ifup ens33 ##恢復后又可以繼續上網了
連接已成功激活(D-Bus 活動路徑:/org/freedesktop/NetworkManager/ActiveConnection/6)
[root@xcf ~]# ping www.baidu.com
PING www.a.shifen.com (180.101.49.12) 56(84) bytes of data.
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=1 ttl=128 time=36.2 ms
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=2 ttl=128 time=31.8 ms
...略
3.主機名稱組態檔
- 通過“/etc/hostname”檔案來修改主機名
[root@xcf ~]# vim /etc/hostname
##僅識別第一行作為主機名,并重啟后生效
- 通過“hostnamectl”來修改主機名
[root@xcf ~]# vim /etc/hostname
[root@xcf ~]# hostnamectl set-hostname xcf1
[root@xcf ~]# bash
[root@xcf1 ~]# hostname
xcf1
4.域名決議組態檔
- /etc/resolv.conf檔案中記錄了本機默認使用的DNS服務器的IP地址,對該檔案所做的修改將會立刻生效
- 以上“serch”后面跟的是域名后綴,即當訪問主機時,相當于訪問“localhost.localdomain”
- Linux系統中最多可以指定3個(3個以后的將被忽略)不同的DNS服務器地址,優先使用第一個DNS服務器
- CentOS7需要在NetworkManager.conf檔案main段內設定dns=none,并重啟NetworkManager服務,或者使用CentOS7新添加nmcil命令進行設定
5.本地主機映射檔案
- /etc/hosts檔案中記錄著一份主機名與IP地址的映射關系表
一般用來保存經常需要訪問的主機的資訊

- 當訪問一個未知的域名的時候,會先查看該檔案中是否有相對應的映射記錄,如果找不到再去向DNS服務器查詢
- 對于經常使用的一些網址,可以通過在/etc/hosts檔案添加正確的映射記錄,減少DNS查詢,從而提高上網速率
- 若添加錯誤的映射記錄,則可能會導致網站訪問出現例外
- hosts檔案只保存在本地,所以只對當前主機生效,而無法作用于整個網路
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/231082.html
標籤:其他
