自結:NetworkManager管理指定配置文件配置的網絡接口,根據接口配置定義網絡環境。/etc/sysconfig/network-scripts/ifcfg-ens88 中定義nm_controlled=yes那么此配置文件就被networkmanager管理了。
問題產生背景
? ? ?調試虛擬機的網絡問題(CentOS 7系統),習慣性直接改/etc/sysconfig/network-scripts/ifcfg-xxx配置文件,但是不知道為什么重啟network后靜態ip沒有生效。然后百度了一下,CentOS 7使用NetworkManager來管理網絡配置,就順便接觸了下網絡管理命令行工具NetworkManager command line tool,也叫nmcli。
NAT模式
1、同樣,先設置虛擬機的網絡適配器為NAT模式
2、修改VMware的“虛擬網絡編輯器”:點編輯 --> 虛擬網絡編輯器:打開之后首先點擊NAT模式,然后去掉下面DHCP的勾,然后點擊NAT設置:
? ? ? ?NAT默認設置了110網段,這個可以修改,修改的話要統一修改不要落下。沒有特殊需求就不要修改了。打開NAT設置面板之后,記住下面紅框中這個IP:
3、設置完成后,啟動虛擬機,修改第一個配置文件,這次要按照NAT設置中的IP進行配置:
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0按如下改動:
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:0C:29:17:01:FC
ONBOOT=yes
TYPE=Ethernet
NM_CONTROLLED=no 表示該接口將通過該配置文件進行設置,而不是通過網絡管理器NerworkManager進行管理。
IPADDR=192.168.110.128 #網段限制在110所以IP地址變了
NETMASK=255.255.255.0
GATEWAY=192.168.110.2 #按照NAT設置中的網關地址設置
BROADCAST=192.168.110.255
DNS1=192.168.110.2
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
參數詳解:
1. 配置參數說明注:這些參數值不區分大小寫,不區分單引號和雙引號,甚至可以不用引號。TYPE:配置文件接口類型。在/etc/sysconfig/network-scripts/目錄有多種網絡配置文件,有Ethernet、IPsec等類型,網絡接口類型為Ethernet。DEVICE:網絡接口名稱BOOTPROTO:網卡獲取ip地址方式:none dhcp static,dhcp表示動態分配ip;none或者static則為靜態固定ipONBOOT:系統啟動時是否激活yes:系統啟動時激活該網絡接口no:系統啟動時不激活該網絡接口
UUID含義是通用唯一識別碼 (Universally Unique Identifier),在此可以忽略IPADDR:IP地址NETMASK:子網掩碼GATEWAY:網關地址BROADCAST:廣播地址HWADDR/MACADDR:MAC地址。只需設置其中一個,同時設置時不能相互沖突。PEERDNS:是否指定DNS。如果使用DHCP協議,默認為yes。yes:如果DNS設置,修改/etc/resolv.conf中的DNSno:不修改/etc/resolv.conf中的DNSDNS{1, 2}:DNS地址。當PEERDNS為yes時會被寫入/etc/resolv.conf中。DNS可以設置多個,在DNS后面加數字依次排序,NM_CONTROLLED:是否由Network Manager控制該網絡接口。修改保存后立即生效,無需重啟。被其坑過幾次,建議一般設為no。yes:由Network Manager控制no:不由Network Manager控制USERCTL:用戶權限控制yes:非root用戶允許控制該網絡接口no:非root用戶不運行控制該網絡接口IPV6INIT:是否執行IPv6yes:支持IPv6no:不支持IPv6IPV6ADDR:IPv6地址/前綴長度
4、修改第二個配置文件:
[root@localhost ~]# vim /etc/sysconfig/network按如下改動:
NETWORKING=yes 配置網卡是否啟動
NETWORKING_IPV6=no
HOSTNAME=localhost.localdomain
GATEWAY=192.168.110.2 這個配置成虛擬機的網關
5、修改完畢之后重啟網絡服務:
[root@localhost ~]# service network restart
Centos 7 網絡配置文件
? 一. ?/etc/sysconfig/network??? ? ? ? ?全局設置,默認里面啥也沒有,可以配置主機名、全局默認網關以及網卡是否啟動。如果連接配置文件ifcfg-xxx也配置了網關,會覆蓋全局默認網關。如果沒有配置,那么使用全局默認網關 ? ? ? 修改主機名: ? ? ? ? ? ?vi /etc/sysconfig/network 修改HOSTNAME(永久改) ? ? ? ? ? ?hostname 主機名 命令修改(臨時改)
二. resolv.conf 文件說明
resolv.conf是resolver類庫使用的配置文件,每當一個程序需要通過域名來訪問internet上面的其它主機時,需要利用該類庫將域名轉換成對應的IP,然后才可進行訪問 修改vi /etc/resolv.conf 是臨時更改DNS,網絡重啟后就被清空了或者覆蓋。會根據配置文件中配置的DNS1和網關后自動修改這個文件。 ? ?此檔案可用來設定 DNS 用戶端要求名稱解析時,所定義的各項內容。我們分別來看一個完整的resolv.conf的檔案: ? 修改DNS。就是編輯 etc/resolv文件或者網卡配置文件,前者是臨時更改,后者是永久更改,永久更改后需要重啟網卡生效,臨時更改不用。
domain twnic.com.tw
nameserver 192.168.10.1
nameserver 192.168.2.5
search twnic.com.tw twnic.net.tw
“domain”指定本地的網域名稱,如果查詢時的名稱沒有包含小數點,則會自動補上此處的網域名稱做為域名的結尾,再送給DNS服務器。 “nameserver”指定用戶端要求進行名稱解析的 nameserver IP位址,在此可指定多部DNS伺服器,則用戶端將會依序提出查詢要求。 “search”這個選項為非必要選項,而功能在于若使用者指定主機名稱查詢時,所需要搜尋的網域名稱。例如,當我們設?“search twnic.com.tw”時,當DNS伺服器在做名稱解析過程中,無法對輸入的名稱,例如pc1,找出相對應的IP時,則DNS會利用search的設定值加上需查詢的名稱,即pc1.twnic.com.tw來進行解析,解析失敗時則會嘗試pc1.twnic.net.tw。 需要注意的是當我們想嘗試多種在沒有包含小數點,于字尾補上所需要搜尋的網域名稱時,我們會在"search"中指定幾種組合給DNS伺服器,而不能在"domain"中指定。因為“domain”是指定本地的網域名稱,而搜尋時也以“domain”為優先嘗試,如果失敗之后才會嘗試"search"中的組合。
? ? 三、其他配置文件
? ? ? ? ?/etc/sysconfig/network-scripts/ 連接配置信息 ifcfg 文件,配置ip地址、網關、DNS ? ? ? ? /etc/NetworkManager/system-connections/ ?VPN、移動寬帶、PPPoE連接
NetworkManager解釋
?一、NetworkManager啟用及其作用 ? ? ? ?啟用NetworkManager管理指定網絡接口,只需要在配置文件 /etc/sysconfig/network-scripts/ifcfg-ethX中加入如下配
NM_CONTROLLED=yes
? ? ? ?NetworkManager服務管理網絡方便在哪? ? ? ? ?很重要的一點是:一個設備可以對應多個配置文件,但是同一時間只能有一個配置文件生效,這對于頻率切換網絡環境是非常方便的,不用再跑那個目錄下去改配置 文件。比如:原先網卡接的是10.1.0.0/24網絡,有時候為了測試,臨時改到192.168.1.0/24網絡去,測試完后又改回來 10.1.0.0/24,在NetworkManager的管理里面,只要把這兩個網絡環境下的配置寫好,以后就只要一條命令就可以完成切換了!這就是 NetworkManager帶來的便捷之處!
二、nmcli和其他網絡設置 ? ? ? 在CentOS7中默認使用NetworkManager守護進程來監控和管理網絡設置。nmcli是NetworkManager的命令行工具,會自動把nmcli所做的配置寫到/etc/sysconfig/network-scripts/目錄下面。
常用命令
查看網絡接口信息# 簡單信息nmcli device status# 詳細的接口信息nmcli device show# 接口的詳細信息nmcli device show interface-name查看連接(connection)的信息# 簡單信息nmcli connection show# 詳細的連接信息nmcli connection show# 某個連接的詳細信息nmcli connection show connection-name啟動和停止接口nmcli connection down connection-namenmcli connection up connection-namenmcli device disconnect interface-namenmcli device connect interface-name建議使用 nmcli dev disconnect interface-name 命令,而不是 nmcli con down connection-name 命令,因為連接斷開可將該接口放到“手動”模式,這樣做用戶讓 NetworkManager 啟動某個連接前,或發生外部事件(比如載波變化、休眠或睡眠)前,不會啟動任何自動連接。創建連接nmcli connection add type ethernet con-name connection-name ifname interface-namenmcli connection add type ethernet con-name connection-name ifname interface-name ip4 address gw4 address## e.g. 創建一個基于eth1接口的連接# 創建動態連接,即BOOTPROTO默認為DHCP[root@localhost ~]# nmcli c add type eth con-name dynamic-eth1 ifname eth1Connection 'dynamic-eth1' (9c0ad8a9-21f6-40b5-9313-e5c7e4b356f1) successfully added.# 創建靜態連接[root@localhost ~]# nmcli connection add type eth con-name static-eth1 ifname eth1 ip4 172.16.60.10/24# nmcli connection add type eth con-name static-eth1 ifname eth1 ip4 172.16.60.10/24 gw4 192.168.60.1Connection 'static-eth1' (0640bf7f-9490-44a8-be96-2e710fb650e6) successfully added.創建連接后,NetworkManager 自動將 connection.autoconnect 設定為 yes。還會將設置保存到 /etc/sysconfig/network-scripts/ connection-name 文件中,且自動將 ONBOOT 參數設定為 yes。激活連接nmcli connection up connection-name## e.g. 激活eth1接口的static-eth1連接[root@localhost ~]# nmcli c up static-eth1Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)nmcli命令修改所對應的文件條目nmcli con mod???????????ifcfg-* 文件ipv4.method manual???????BOOTPROTO=noneipv4.method auto?????????BOOTPROTO=dhcpconnection.id eth0????????NAME=eth0(ipv4.addresses??????????IPADDR0=192.0.2.1“192.0.2.1/24???????????PREFIX0=24192.0.2.254”)???????????GATEWAY0=192.0.2.254ipv4.dns 8.8.8.8????????DNS0=8.8.8.8pv4.dns-search example.com???DOMAIN=example.compv4.ignore-auto-dns true????PEERDNS=noconnection.autoconnect yes???ONBOOT=yesconnection.interface-name eth0 DEVICE=eth0802-3-ethernet.mac-address... HWADDR=...
[root@centos7 ~]# nmcli help
Usage: nmcli [OPTIONS] OBJECT { COMMAND | help }OPTIONS-t[erse] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? terse output-p[retty] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?pretty output-m[ode] tabular|multiline ? ? ? ? ? ? ? ? ?output mode-f[ields] <field1,field2,...>|all|common ? specify fields to output-e[scape] yes|no ? ? ? ? ? ? ? ? ? ? ? ? ? escape columns separators in values-n[ocheck] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? don't check nmcli and NetworkManager versions-a[sk] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ask for missing parameters-w[ait] <seconds> ? ? ? ? ? ? ? ? ? ? ? ? ?set timeout waiting for finishing operations-v[ersion] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? show program version-h[elp] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?print this helpOBJECTg[eneral] ? ? ? NetworkManager's general status and operationsn[etworking] ? ?overall networking controlr[adio] ? ? ? ? NetworkManager radio switchesc[onnection] ? ?NetworkManager's connectionsd[evice] ? ? ? ?devices managed by NetworkManager
? ? ? ?OBJECT和COMMAND可以用全稱也可以用簡稱,最少可以只用一個字母,建議用頭三個字母。OBJECT里面我們平時用的最多的就是connection和device,這里需要簡單區分一下connection和device。
device叫網絡接口,是物理設備 ? connection是連接,偏重于邏輯設置 ?多個connection可以應用到同一個device,但同一時間只能啟用其中一個connection。 ? ?這樣的好處是針對一個網絡接口,我們可以設置多個網絡連接,比如靜態IP和動態IP,再根據需要up相應的connection。
?新添加的網卡NetworkManager自動識別。比如新添加網卡enp0s8
[root@centos7 ~]# nmcli con show
NAME ? ? ? ? ? ? ? ?UUID ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?TYPE ? ? ? ? ? ?DEVICE
Wired connection 1 ?0c451785-b098-4c5c-994d-9107171b439d ?802-3-ethernet ?enp0s8
enp0s3 ? ? ? ? ? ? ?295e1841-0ff3-4db9-8800-4e25fc2944da ?802-3-ethernet ?enp0s3?
? “Wired connection 1”是新增的網絡連接,對應的網絡接口叫enp0s8; ? “enp0s3”是最初的網絡連接,默認與網絡接口同名。
看看設備:
[root@centos7 ~]# nmcli dev show enp0s3
GENERAL.DEVICE: ? ? ? ? ? ? ? ? ? ? ? ? enp0s3
GENERAL.TYPE: ? ? ? ? ? ? ? ? ? ? ? ? ? ethernet
GENERAL.HWADDR: ? ? ? ? ? ? ? ? ? ? ? ? 08:00:27:15:35:D2
GENERAL.MTU: ? ? ? ? ? ? ? ? ? ? ? ? ? ?1500
GENERAL.STATE: ? ? ? ? ? ? ? ? ? ? ? ? ?100 (connected)
GENERAL.CONNECTION: ? ? ? ? ? ? ? ? ? ? eth0
GENERAL.CON-PATH: ? ? ? ? ? ? ? ? ? ? ? /org/freedesktop/NetworkManager/ActiveConnection/4
WIRED-PROPERTIES.CARRIER: ? ? ? ? ? ? ? on
IP4.ADDRESS[1]: ? ? ? ? ? ? ? ? ? ? ? ? ip = 192.168.150.110/24, gw = 192.168.150.254
IP4.DNS[1]: ? ? ? ? ? ? ? ? ? ? ? ? ? ? 192.168.150.254
IP6.ADDRESS[1]: ? ? ? ? ? ? ? ? ? ? ? ? ip = fe80::a00:27ff:fe15:35d2/64, gw = ::
[root@centos7 ~]#
[root@centos7 ~]# nmcli dev show enp0s8
GENERAL.DEVICE: ? ? ? ? ? ? ? ? ? ? ? ? enp0s8
GENERAL.TYPE: ? ? ? ? ? ? ? ? ? ? ? ? ? ethernet
GENERAL.HWADDR: ? ? ? ? ? ? ? ? ? ? ? ? 08:00:27:98:D1:B7
GENERAL.MTU: ? ? ? ? ? ? ? ? ? ? ? ? ? ?1500
GENERAL.STATE: ? ? ? ? ? ? ? ? ? ? ? ? ?100 (connected)
GENERAL.CONNECTION: ? ? ? ? ? ? ? ? ? ? eth1
GENERAL.CON-PATH: ? ? ? ? ? ? ? ? ? ? ? /org/freedesktop/NetworkManager/ActiveConnection/3
WIRED-PROPERTIES.CARRIER: ? ? ? ? ? ? ? on
IP4.ADDRESS[1]: ? ? ? ? ? ? ? ? ? ? ? ? ip = 10.0.3.15/24, gw = 10.0.3.2
IP4.DNS[1]: ? ? ? ? ? ? ? ? ? ? ? ? ? ? 10.0.3.2
IP6.ADDRESS[1]: ? ? ? ? ? ? ? ? ? ? ? ? ip = fe80::a00:27ff:fe98:d1b7/64, gw = ::
[root@centos7 ~]#?
? ? ? 需要注意的是,enp0s3設備對應的連接名改為eth0,但對應的ifcfg文件并沒有改名,我們改改試試,改之前先備份原配置文件到其他目錄(注意,不能備份到network-scripts目錄!)。
[root@centos7 network-scripts]# cat ifcfg-enp0s3
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eth0
UUID=295e1841-0ff3-4db9-8800-4e25fc2944da
ONBOOT=yes
IPADDR0=192.168.150.110
PREFIX0=24
GATEWAY0=192.168.150.254
DNS1=192.168.150.254
HWADDR=08:00:27:15:35:D2
[root@centos7 network-scripts]#
[root@centos7 network-scripts]# cp ifcfg-enp0s3 /root/
[root@centos7 network-scripts]# mv ifcfg-enp0s3 ifcfg-eth0
[root@centos7 network-scripts]#
[root@centos7 network-scripts]# systemctl restart network
[root@centos7 network-scripts]#?
沒有問題,配置文件改名成功,強迫癥又一次勝利了,耶! 我們還可以看到,ifcfg-eth0里面沒有參數指明設備enp0s3,唯一與設備enp0s3相對應的是MAC地址(HWADDR 08:00:27:15:35:D2)。
現在試試增加一個針對新網絡接口enp0s8的連接,現有連接是 eth1:
[root@centos7 network-scripts]# cat ifcfg-eth1
HWADDR=08:00:27:98:D1:B7
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eth1
UUID=0c451785-b098-4c5c-994d-9107171b439d
ONBOOT=yes
嗯,是自動獲得IP的。 我們新建一個連接eth1-1,分配固定IP。
[root@centos7 ~]# nmcli con show
NAME ? ?UUID ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?TYPE ? ? ? ? ? ?DEVICE
eth1-1 ?ef5c3fbc-f07a-4d6e-9f4d-83f239ffc2e9 ?802-3-ethernet ?-- ? ??
eth1 ? ?0c451785-b098-4c5c-994d-9107171b439d ?802-3-ethernet ?enp0s8
eth0 ? ?295e1841-0ff3-4db9-8800-4e25fc2944da ?802-3-ethernet ?enp0s3
只是增加了一個連接,其他的沒有變化。 我們啟動新連接 eth1-1
[root@centos7 ~]# nmcli con up eth1-1
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)
[root@centos7 ~]#
[root@centos7 ~]# nmcli con show
NAME ? ?UUID ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?TYPE ? ? ? ? ? ?DEVICE
eth1-1 ?ef5c3fbc-f07a-4d6e-9f4d-83f239ffc2e9 ?802-3-ethernet ?enp0s8
eth1 ? ?0c451785-b098-4c5c-994d-9107171b439d ?802-3-ethernet ?-- ? ??
eth0 ? ?295e1841-0ff3-4db9-8800-4e25fc2944da ?802-3-ethernet ?enp0s3
[root@centos7 ~]#
[root@centos7 ~]# nmcli -t -f IP4.ADDRESS dev show enp0s8
IP4.ADDRESS[1]:ip = 10.0.3.110/24, gw = 10.0.3.2
“nmcli -t -f IP4.ADDRESS dev show enp0s8” 是以腳本友好的方式顯示網絡接口信息。 現在可以很明顯的看到,將連接eth1-1 up了之后,eth1-1占據了原來由eth1占據的DEVICE enp0s8,并且IP地址已經是指定的10.0.3.110/24 了。
[root@centos7 network-scripts]# cat ifcfg-eth1-1
TYPE=Ethernet
BOOTPROTO=none
IPADDR0=10.0.3.110
PREFIX0=24
GATEWAY0=10.0.3.2
DNS1=10.0.3.2
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
NAME=eth1-1
UUID=ef5c3fbc-f07a-4d6e-9f4d-83f239ffc2e9
DEVICE=enp0s8
ONBOOT=yes
ifcfg-eth1-1 文件里沒有HWADDR參數,但是多了一個DEVICE參數,等于enp0s8,你可以對比一下 ifcfg-eth1 看看區別在哪。 連接的配置文件 ifcfg-*,可以用 DEVICE 指定設備名,也可以用HWADDR指定設備的MAC地址,最終結果都一樣的指向某個設備(網絡接口)。我們再試試用nmcli增加連接:
[root@centos7 ~]# nmcli con add con-name eth1-2 ifname enp0s8 type ethernet ip4 10.0.3.120/24 gw4 10.0.3.2
Connection 'eth1-2' (468815f5-ce97-43bd-904a-3078e2e59fec) successfully added.
[root@centos7 ~]#
[root@centos7 ~]# nmcli con show
NAME ? ?UUID ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?TYPE ? ? ? ? ? ?DEVICE
eth1-1 ?ef5c3fbc-f07a-4d6e-9f4d-83f239ffc2e9 ?802-3-ethernet ?enp0s8
eth1 ? ?0c451785-b098-4c5c-994d-9107171b439d ?802-3-ethernet ?-- ? ??
eth0 ? ?295e1841-0ff3-4db9-8800-4e25fc2944da ?802-3-ethernet ?enp0s3
eth1-2 ?468815f5-ce97-43bd-904a-3078e2e59fec ?802-3-ethernet ?-- ? ??
[root@centos7 ~]#
[root@centos7 ~]# nmcli con up eth1-2
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)
[root@centos7 ~]#
[root@centos7 ~]# nmcli con show
NAME ? ?UUID ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?TYPE ? ? ? ? ? ?DEVICE
eth1-1 ?ef5c3fbc-f07a-4d6e-9f4d-83f239ffc2e9 ?802-3-ethernet ?-- ? ??
eth1 ? ?0c451785-b098-4c5c-994d-9107171b439d ?802-3-ethernet ?-- ? ??
eth0 ? ?295e1841-0ff3-4db9-8800-4e25fc2944da ?802-3-ethernet ?enp0s3
eth1-2 ?468815f5-ce97-43bd-904a-3078e2e59fec ?802-3-ethernet ?enp0s8
[root@centos7 ~]#
[root@centos7 ~]# nmcli -t -f IP4.ADDRESS dev show enp0s8
IP4.ADDRESS[1]:ip = 10.0.3.120/24, gw = 10.0.3.2
[root@centos7 ~]#?
再看看新的ifcfg文件:
[root@centos7 network-scripts]# cat ifcfg-eth1-2
TYPE=Ethernet
BOOTPROTO=none
IPADDR0=10.0.3.120
PREFIX0=24
GATEWAY0=10.0.3.2
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eth1-2
UUID=468815f5-ce97-43bd-904a-3078e2e59fec
DEVICE=enp0s8
ONBOOT=yes
[root@centos7 network-scripts]#?
現在up的連接是eth1-2,網絡接口enp0s8的IP是10.0.3.120 如果重新up連接eth1-1,nmcli con up eth1-1,網絡接口enp0s8的IP變成了10.0.3.110 如果重新up連接eth1,??nmcli con up eth1,??網絡接口enp0s8的IP就回到原來自動獲得的值10.0.3.15
所以,對一個網絡接口設置不同的連接,可以快速的切換不同的網絡配置,這個真的滿厲害的。如果希望系統重啟后僅up某個特定連接,那么可以把其他連接配置文件的ONBOOT=no,ONBOOT=no的連接也可以隨時up。
常見錯誤
unkonw the name or the server這種提示的話一般都是DNS配置的有問題。 destination not unreachable,這種錯誤的話一般都是你的ifcfg-eth0里面的GATEWAY或者IPDDR配置的不對。 虛擬機ip沖突。因為Vamware NAT方式主機網卡采用的Vmware network adapter net8,所以這個net8的ip也要和你虛擬機的IPADDR、GATWAY都不一樣,也是在192.168.137.1~192.168.137.255中間取值。此時如果沖突,可以查看宿主機vmnet8IP地址是否和虛擬機相同 在開啟網絡時,有錯誤提示:Restarting network (via systemctl):??Job for network.service failed. See 'systemctl status network.service' and 'journalctl -xn' for details.
?1.根據提示執行: ?systemctl status network.service ??提示錯誤日志:15:30:10 localhost.localdomain systemd[1]:?Failed to start LSB: Bring up/down networking.
2.用 ?ip ?addr ?命令查看MAC地址( 此行 link/ether 00:5c:33:2e:dd:10) ?與文件 ?/etc/sysconfig/network-scripts/ifcfg-* ?中顯示的(此行 HWADDR=00:e3:21:3d:5d:ee) ?時行對比時發現不一致。
3.注釋掉 ?/etc/sysconfig/netwrok-scripts/ifcfg-* 中 ?HWADDR= * :*:*:*:*:* 此行
4. 在下面更改為 ??HWADDR=00:5C:33:2E:DD:10 ??(也就是用IP ADDR 命令所查到的MAC)
ip addr(圖中標記的就是ip地址)命令輸出中沒有inet選項(1) 如果上邊一欄中沒有inet,那么輸入:systemctl ?status?NetworkManager.service(驗證網絡管理服務狀態)(2)檢查受網絡管理器管理的網絡接口:(輸入:nmcli dev status)(如果某個接口的nmcli的輸出結果是“已斷開”,說明該接口不受網絡管理器管理,網絡也是沒有生效的,反之,則生效了)(3)解決步驟:
service NetworkManager stop
service Network??restart
service??NetworkManager??start
解釋:關閉NetworkManager(service NetworkManagerstop),重啟network(service network restart),再啟動NetworkManager
NetworkManager(service NetworkManager start)因為NetworkManager會對network重啟造成影響,所以先關閉它,最后這服務不啟動也有影響,所以最后在啟動它(4)虛擬機網絡啟用后,輸入:nmcli dev status,顯示:(說明已經連接)
知識補充: ??????Linux 設備分為三類:字符設備(如鍵盤、鼠標等)、塊設備(如硬盤、光驅、軟驅等)和網絡設備,如以太網卡。為了屏蔽網絡環境中物理網絡設備的多樣性,LINUX對所有的物理設備進行抽象并定義了一個統一的概念,稱之為接口(Interface),接口實際是運行于Linux內核一種設備服務程序,所有的硬件廠商按照同一規格編寫,從而提供了一個對所有類型的硬件一致化的操作集合來處理基本數據的發送和接收。一個網絡接口可以被看作是一個發送和接收數據包(packets)的實體。內核在啟動時,通過網絡驅動程序,檢索系統的固件信息,將網絡設備在Linux系統的中登記。這樣網絡設備在做數據包發送和接收時,可以通過接口實現linux 利用網絡設備于外界的交互。接口可以在內核初始化時進行,也可以通過insmod命令來加載。 ??????根據標準,每一個具體的網絡接口都應該有一個名字,以在系統中能唯一標識一個網絡接口。常見的網絡接口名如下: ??????Linux 存在很多的網絡管理命令,通常我們使用的是network 服務, NetworkManager 服務, ipconfig命令, ip 命令 和 netstat 命令,ss命令等。
?
總結
以上是生活随笔 為你收集整理的Centos7 NAT网络连接方式以及NetworkManger进行网络连接管理 的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網站內容還不錯,歡迎將生活随笔 推薦給好友。