十、網路配置基礎(檔案及命令)
Linux主機要與網路中其他主機進行通訊,首先要進行正確的網路配置。網路配置通常包括主機名、IP地址、子網掩碼、預設閘道器、DNS伺服器等。
常見網路配置檔案
TCP/IP網路的配置資訊是分別儲存在不同的配置檔案中的,相關配置檔案有/etc/sysconfig/network,網絡卡配置檔案、/etc/hosts、/etc/resolv.conf 以及/etc/host.conf 等。
-
/etc/sysconfig/network
該檔案主要用於設定基本的網路配置,包括主機名稱、閘道器等[[email protected] Desktop] # cat /etc/sysconfig/network NETWORKING=yes HOSTNAME=Server GATEWAY=192.168.239.142
~NETWORKING:設定Linux網路是否執行,取值yes或no
~NETWORKING_IPV6:設定是否啟用IPV6,取值yes或no
~HOSTNAME:設定主機名稱
~GATEWAY:設定閘道器的IP地址 ## 該檔案中為全域性閘道器
除以上外,常見的還有這些選項
~GATEWAYDEV:設定連線閘道器的網路裝置
~DOMAINNAME:設定本機域名 -
/etc/sysconfig/network-scripts/ifcfg-eth0
網絡卡配置檔案,包含網絡卡裝置名,IP地址,子網掩碼,閘道器等配置資訊,一塊網絡卡對應一個配置檔案,如系統第一塊網絡卡配置檔名ifcfg-eth0,第二塊ifcfg-eth1 以此類推。網絡卡配置檔案如下格式:[[email protected] Desktop] # cd /etc/sysconfig/network-scripts/ [[email protected] network-scripts] # cat ifcfg-eth0 DEVICE=eth0 BOOTPROTO=none ONBOOT=yes HWADDR=00:0C:29:FA:AD:85 IPADDR=192.168.239.142 NETMASK=255.255.255.0 #PREFIX=24 NETWORK=192.168.239.0 GATEWAY=192.168.239.254
~DEVICE:當前網絡卡裝置名稱
~BOOTPROTO:獲取IP的方式,取值為none、static或dhcp
~ONBOOT:設定系統啟動時是否啟動該裝置
~HWADDR:該網路裝置MAC地址
~IPADDR:該網路誰被IP地址
~NETMASK:該網路裝置子網掩碼
~NETWORK:該網路裝置所處網路的地址
~GATEWAY:網絡卡閘道器地址 ## 該檔案中為網絡卡介面閘道器
再介紹一下動態和靜態網路的網絡卡配置檔案內容
靜態:DEVICE=eth0 ##裝置 BOOTPROTO=static|none ##網絡卡工作模式靜態 ONBOOT=yes ##開啟網路服務啟動裝置 NAME=eth0 ##指定網路介面名稱 IPADDR=172.25.0.100 ##IP NETMASK=255.255.255.0 | PREFIX=24 ##子網掩碼
動態:
DEVICE=eth0 BOOTPROTO=dhcp ##網絡卡工作模式動態 ONBOOT=yes NAME=eth0
每次設定完後,記得 systemctl restart network 重啟網路
-
/etc/hosts
該檔案儲存IP地址和主機名的靜態對映關係,用於本地名稱解析,系統預設優先順序高於/etc/resolv.conf[[email protected] Desktop] # cat /etc/hosts #Do not remove the following line, or various programs #that require network functionality will fail 127.0.0.1 jnrp-mlx localhost.localdomain localhost 202.108.22.5 www.baidu.com
-
/etc/resolv.conf
該檔案是DNS客戶端用於指定系統所用的DNS伺服器的IP地址,還可以設定當前主機所在的域以及DNS搜尋路徑[[email protected] Desktop] # cat /etc/resolv.conf nameserver 192.168.0.5 nameserver 114.114.114.114 search jw.com domain jw.com
~nameserver:設定DNS伺服器的IP地址,可設定多個,解析時按順序使用
~search:設定DNS搜尋路徑,不完全域名解析時,預設附加域名字尾
~domain:設定計算機的本地域名 -
/etc/host.conf
指定如何進行域名解析,通常包含:
order:設定主機名解析的可用方法及順序,可用方法包括hosts(利用/etc/hosts檔案解析),bind(利用DNS伺服器解析),NIS(利用網路資訊伺服器解析)
multi:設定是否從/etc/hosts檔案中返回主機的多個IP地址,取值為on或off
nospoof:取值為on或off,當設定為on時,系統會啟動對主機名的欺騙保護以提高rlogin、rsh等程式的安全性
-
/etc/services
儲存各種網路服務名稱與該網路服務所使用的協議及預設埠號的對映關係ssh 22/tcp ## SSH Remote Login Protocol ssh 22/udp ## SSH Remote Login Protocol telnet 23/tcp telnet 23/udp ## telnet採用明文傳輸,已經淘汰
常見網路配置命令
Linux系統網路設定,除可以修改各種配置檔案之外,也可以用相關網路配置命令進行設定,我們來介紹幾種常見網路配置命令
-
hostname
顯示或者臨時設定當前主機名稱,修改的主機名只是臨時的,要永久修改需要修改配置檔案[[email protected] Desktop] # hostname ##顯示當前主機名稱 localhost.localdomain [[email protected] Desktop] # hostname network ##臨時設定主機名稱為network [[email protected] Desktop] # hostname network
-
ping
主要用於測試本主機與目標主機的連通性
常用選項:
-c count:指定ping命令發出的ICMP的訊息數量,不加的話,發無限次訊息
-i interval:兩次ICMP訊息包的時間間隔,不加的話,預設時間間隔1s
-s:設定發出的每個訊息的資料包大小,預設64位元組
-
ifconfig
該命令是使用頻率相當高的,可以檢視系統網路介面狀況,也可以對網路介面設定進行修改
系統中啟動了兩個網路介面eno16777736(一般為eth0,我的虛擬機器問題該網絡卡名這麼長)和lo,各網路介面資訊:
~inet :此介面對應的IP地址
~inet6 :此介面對應的IPv6的IP地址
~broadcast:廣播地址
~netmask:子網掩碼
~mtu:最大傳輸單元,表示此介面能傳輸的最大幀數
~TX packets:傳出的資料包數,錯誤數、遺失數和溢流數
~RX packets:接收的資料包數,錯誤數、遺失數和溢流數
該命令還可以用來啟動(up)或關閉(down)某個網路介面[[email protected] Desktop] # ifconfig eth0 up ##啟動eth0 [[email protected] Desktop] # ifconfig eth0 down ##關閉eth0 [[email protected] Desktop] # ifconfig eth0 192.168.239.142 netmask 255.255.255.0 ##臨時設定
- route
檢視本機路由表,新增、刪除路由條目,設定預設閘道器等
~Destination:目標網路IP地址,可以是一個網路地址,也可以是一個主機地址
~Gateway:閘道器地址,即該路由條目中下一跳的路由器IP地址
~Flags:路由標識,其中U表示路由項是活動的;H表示目標是單個主機;G表示使用閘道器;R表示對動態路由進行復位;D表示路由項是動態安裝的;M表示動態修改路由;!表示拒絕路由。其他就先不介紹了
- nm-connection-editor
配置ip的圖形化介面,最快捷的方式
這篇先寫到這裡,後續補充。。。。。。