走進Linux02-網路設定
Linux有很多方法配置網路,比如GUI的介面,CentOS 7裡面的nmtui,或者直接命令列等等,不過歸根結底都是在修改設定檔。
修改設定檔前先瞭解一下結構,Linux中將每個物理網卡稱作裝置(device),每個裝置上面可以有多個邏輯介面,我們修改的設定檔也就是介面檔案,CentOS 7中稱作串連(connection)。
以CentOS 7 為例,可以用nmcli命令查看裝置和串連
查看裝置 nmcli dev show
查看串連 nmcli con show
可以看到我的網卡叫enp5s0,串連名稱也叫enp5s0,串連可以建立多個,一個裝置可以對應多個串連,建立多個串連後,可以隨便切換使用。
添加串連(比如添加一個名詞是eth-my的串連) nmcli con add type ethernet con-name eth-my ifname enp5s0
刪除串連(比如刪除一個名詞是eth-my的串連) nmcli con delete id eth-my
查看裝置狀態
nmcli dev status
我的enp5s0這個串連正在工作
瞭解結構了來看看如何配置網路,修改ip這些,每個串連都有一個設定檔與之對應,我們修改這個設定檔即可。 檔案位置:/etc/sysconfig/network-scripts/ifcfg-串連名稱 一般Linux都是/etc/sysconfig/network-scripts/ifcfg-eth0這樣,但是CentOS7有所變化,比如我的就叫enp5s0,也可以通過ls命令查看一下
直接修改這個檔案即可,參數值不區分大小寫,不區分單引號和雙引號,甚至可以不用引號,key=value格式
配置參數說明:
TYPE:設定檔介面類型。在/etc/sysconfig/network-scripts/目錄有多種網路設定檔,有Ethernet 、IPsec等類型,網路介面類型為Ethernet。
DEVICE:裝置名稱
BOOTPROTO:系統啟動地址協議,none:不使用啟動地址協議,bootp:BOOTP協議,dhcp:DHCP動態地址協議,static:靜態地址協議
ONBOOT:系統啟動時是否啟用,yes:系統啟動時啟用該網路介面,no:系統啟動時不啟用該網路介面
IPADDR:IP地址
NETMASK:子網路遮罩
GATEWAY:網關地址
BROADCAST:廣播位址
HWADDR/MACADDR:MAC地址,只需設定其中一個。
PEERDNS:是否指定DNS。如果使用DHCP協議,預設為yes,yes:如果DNS設定,修改/etc/resolv.conf中的DNS,no:不修改/etc/resolv.conf中的DNS
DNS{1, 2}:DNS地址。當PEERDNS為yes時會被寫入/etc/resolv.conf中。
NM_CONTROLLED:是否由Network Manager控制該網路介面。修改儲存後立即生效,無需重啟。被其坑過幾次,建議一般設為no。yes:由Network Manager控制
USERCTL:使用者權限控制,yes:非root使用者允許控制該網路介面,no:非root使用者不運行控制該網路介面
IPV6INIT:是否執行IPv6,yes:支援IPv6,no:不支援IPv6
IPV6ADDR:IPv6地址/前置長度
CentOS 7和傳統的參數有所變化,比如靜態IP時的子網路遮罩,使用了PREFIX來表示 PREFIX0=24 --> 首碼24位(相當於子網路遮罩共24為,即子網路遮罩為255.255.255.0) CentOS 7的IP地址、子網路遮罩、網關地址都要在後面加一個0,如果多個加1、2這樣。
設定檔修改完畢後,兩種辦法生效:
1、執行service network restart命令,重啟網路服務(推薦)
2、重啟電腦
生效後可以使用ifconfig查看