NetworkManager

来源:http://www.cnblogs.com/samits/archive/2017/09/06/7485956.html
-Advertisement-
Play Games

Centos7 開始,網路由 NetworkManager 服務負責管理,相對於舊的 /etc/init.d/network 腳本,NetworkManager是動態的、事件驅動的網路管理服務。舊的 /etc/init.d/network 以及 ifup,ifdown 等依然存在,但是處於備用狀態, ...


Centos7 開始,網路由 NetworkManager 服務負責管理,相對於舊的 /etc/init.d/network 腳本,NetworkManager是動態的、事件驅動的網路管理服務。舊的 /etc/init.d/network 以及 ifupifdown 等依然存在,但是處於備用狀態,即NetworkManager運行時,多數情況下這些腳本會調用NetworkManager去完成網路配置任務;NetworkManager沒有運行時,這些腳本就按照老傳統管理網路。NetworkManager 可用於以下連接類型:乙太網、VLAN、網橋、綁定、成組、Wi-Fi、移動寬頻(比如移/動網路 3G)及 IP-over-InfiniBand。在這些連接類型中,NetworkManager 可配置網路別名、IP 地址、靜態路由器、DNS 信息及 VPN 連接以及很多具體連接參數。最後,NetworkManager 通過 D-bus 提供 APID-Bus 允許應用程式查詢並控制網路配置及狀態。

1、網路配置文件:

/etc/sysconfig/network   說是全局設置,預設裡面啥也沒有,可以添加全局預設網關

/etc/hostname              用nmtui修改hostname後,主機名保存在這裡

/etc/resolv.conf             保存DNS設置,不需要手工改,nmtui裡面設置的DNS會出現在這裡

/etc/sysconfig/network-scripts/       連接配置信息 ifcfg 文件

/etc/NetworkManager/system-connections/ VPN、移動寬頻、PPPoE連接

2、 聯網工具及應用程式概述

應用程式或工具

描述

NetworkManager

預設聯網守護進程

nmtui

NetworkManager 的使用游標的簡單文本用戶界面(TUI

nmcli

允許用戶及腳本與 NetworkManager 互動的命令行工具

gnome-control-center

GNOME Shell 提供的圖形用戶界面工具

nm-connection-editor

這是一個 GTK+ 3 應用程式,可用於尚未由 gnome-control-center 處理的某些任務

   

# systemctl status network.service -l

network.service - LSB: Bring up/down networking

Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled)

Active: active (exited) since Mon 2017-08-21 16:07:00 CST; 14min ago

Docs: man:systemd-sysv-generator(8)

   

Aug 21 16:06:59 lux-cobbler.gw.local systemd[1]: Starting LSB: Bring up/down networking...

Aug 21 16:07:00 lux-cobbler.gw.local network[7734]: Bringing up loopback interface: [ OK ]

Aug 21 16:07:00 lux-cobbler.gw.local network[7734]: Bringing up interface ens33: Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5)

Aug 21 16:07:00 lux-cobbler.gw.local network[7734]: [ OK ]

Aug 21 16:07:00 lux-cobbler.gw.local systemd[1]: Started LSB: Bring up/down networking.

   

$ systemctl status NetworkManager.service -l

NetworkManager.service - Network Manager

Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)

Active: active (running) since Mon 2017-08-21 13:08:36 CST; 2h 54min ago

Docs: man:NetworkManager(8)

Main PID: 792 (NetworkManager)

CGroup: /system.slice/NetworkManager.service

└─792 /usr/sbin/NetworkManager --no-daemon

   

Aug 21 15:52:07 lux-cobbler.gw.local NetworkManager[792]: <info> [1503301927.9418] device (ens33): state change: prepare -> config (reason 'none') [40 50 0]

Aug 21 15:52:07 lux-cobbler.gw.local NetworkManager[792]: <info> [1503301927.9439] device (ens33): state change: config -> ip-config (reason 'none') [50 70 0]

Aug 21 15:52:08 lux-cobbler.gw.local NetworkManager[792]: <info> [1503301928.0081] device (ens33): state change: ip-config -> ip-check (reason 'none') [70 80 0]

Aug 21 15:52:08 lux-cobbler.gw.local NetworkManager[792]: <info> [1503301928.0295] device (ens33): state change: ip-check -> secondaries (reason 'none') [80 90 0]

Aug 21 15:52:08 lux-cobbler.gw.local NetworkManager[792]: <info> [1503301928.0302] device (ens33): state change: secondaries -> activated (reason 'none') [90 100 0]

Aug 21 15:52:08 lux-cobbler.gw.local NetworkManager[792]: <info> [1503301928.0304] manager: NetworkManager state is now CONNECTED_LOCAL

Aug 21 15:52:08 lux-cobbler.gw.local NetworkManager[792]: <info> [1503301928.0434] manager: NetworkManager state is now CONNECTED_GLOBAL

Aug 21 15:52:08 lux-cobbler.gw.local NetworkManager[792]: <info> [1503301928.0436] policy: set 'ens33' (ens33) as default for IPv4 routing and DNS

Aug 21 15:52:08 lux-cobbler.gw.local NetworkManager[792]: <info> [1503301928.0487] device (ens33): Activation: successful, device activated.

Aug 21 16:01:06 lux-cobbler.gw.local NetworkManager[792]: <info> [1503302466.7982] audit: op="connection-update" uuid="a0606da4-d759-4d55-9045-ce43cd812584" name="ens33" args="connection.timestamp,802-3-ethernet.duplex,ipv6.ip6-privacy,ipv6.method" pid=6676 uid=1000 result="success"

   

nmtui配置基本網路連接

nmtui 屬於curses-based text user interface(文本用戶界面), 類似 Centos6 setup 工具,但只能編輯連接、啟用/禁用連接、更改主機名。系統初裝之後可以第一時間用nmtui配置網路設置。

# nmcli --help

Usage: nmcli [OPTIONS] OBJECT { COMMAND | help }

OPTIONS

-t[erse] terse output

-p[retty] pretty output

-m[ode] tabular|multiline output mode

-c[olors] auto|yes|no whether to use colors in output

-f[ields] <field1,field2,...>|all|common specify fields to output

-e[scape] yes|no escape columns separators in values

-a[sk] ask for missing parameters

-s[how-secrets] allow displaying passwords

-w[ait] <seconds> set timeout waiting for finishing operations

-v[ersion] show program version

-h[elp] print this help

   

OBJECT

g[eneral] NetworkManager's general status and operations

n[etworking] overall networking control

r[adio] NetworkManager radio switches

c[onnection] NetworkManager's connections

d[evice] devices managed by NetworkManager

a[gent] NetworkManager secret agent or polkit agent

m[onitor] monitor NetworkManager changes

   

OBJECTCOMMAND可以用全稱也可以用簡稱,最少可以只用一個字母,建議用頭三個字母。OBJECT裡面我們平時用的最多的就是connectiondevice,這裡需要簡單區分一下connectiondevice

device叫網路介面,是物理設備

connection是連接,偏重於邏輯設置

多個connection可以應用到同一個device,但同一時間只能啟用其中一個connection。這樣的好處是針對一個網路介面,我們可以設置多個網路連接,比如靜態IP和動態IP,再根據需要up相應的connection

nmcli con show

nmcli con up eth0

nmcli dev show

   

$ nmcli general

STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN

connected full enabled enabled enabled enabled

   

$ nmcli device

DEVICE TYPE STATE CONNECTION

ens33 ethernet connected ens33

lo loopback unmanaged --

 

$ nmcli connection

NAME UUID TYPE DEVICE

ens33 a0606da4-d759-4d55-9045-ce43cd812584 802-3-ethernet ens33

   

nmtui編輯一個連接後,網卡連接配置文件ifcfg-ifname也會相應地改動。直接手工修改ifcfg-ifnamenmtui中用你看到。但不論是用nmtui編輯還是手工修改ifcfg文件,想讓新的配置生效,我們需要讓 NetworkManager 重新讀取該ifcfg配置文件,並重新啟用該連接。方法是作為 root 運行以下命令:

# nmcli connection reload

或者只重新載入那些有變化的文件 ifcfg-ifname

# nmcli con load /etc/sysconfig/network-scripts/ifcfg-ifname

# nmcli dev con connection-name


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • linux內核中有多種內核鎖,內核鎖的作用是: 多核處理器下,會存在多個進程處於內核態的情況,而在內核態下,進程是可以訪問所有內核數據的,因此要對共用數據進行保護,即互斥處理; linux內核鎖機制有信號量、互斥鎖、自旋鎖還有原子操作。 一、信號量(struct semaphore): 是用來解決進 ...
  • 大部分Ubuntu系統預設python版本都是python2.x系列,但最新版本已經是3.5和3.6了,軟體系統跟著版本走總是有諸多好處的,所以,以下是作者在修改Ubantu預設python版本時的一點經驗: 1、終端輸入:python -V查看預設版本(一般都為python2.x系列) 2、別急著 ...
  • 本文目錄: 1 基本概念2 sed選項3 定址表達式4 sed常用命令5 總結 1.基本概念 sed是一個流式編輯器程式,它讀取輸入流(可以是文件、標準輸入)的每一行放進模式空間(pattern space),同時將此行行號通過sed行號計數器記錄在記憶體中,然後對模式空間中的行進行模式匹配,如果能匹 ...
  • Linux企業運維人員最常用150個命令彙總 命令功能說明線上查詢及幫助命令(2個)man查看命令幫助,命令的詞典,更複雜的還有info,但不常用。help查看Linux內置命令的幫助,比如cd命令。文件和目錄操作命令(18個)ls全拼list,功能是列出目錄的內容及其內容屬性信息。cd全拼chan ...
  • 直接安裝go1.6以上版本會出現提示 Set $GOROOT_BOOTSTRAP to a working Go tree = Go 1.4. Go1.9的構建過程需要用於引導的 Go1.4二進位文件(簡而言之,它需要去構建Go) 首先從源頭構建Go1.4 然後用Go1.4二進位文件從源代碼構建Go ...
  • LAMP平臺的概述 LAMP環境腳本部署:https://github.com/spdir/ShellScripts/tree/master/lamp LAMP的介紹:百度百科 LAMP平臺的構成組件: Linux操作系統 Apache MySQL/mogodb PHP/Perl/Python LA ...
  • 一、小括弧,圓括弧() 1、單小括弧 () ①命令組。括弧中的命令將會新開一個子shell順序執行,所以括弧中的變數不能夠被腳本餘下的部分使用。括弧中多個命令之間用分號隔開,最後一個命令可以沒有分號,各命令和括弧之間不必有空格。 ②命令替換。等同於`cmd`,shell掃描一遍命令行,發現了$(cm ...
  • 原文發表於cu:2016-06-20 參考文檔: 官方文檔: http://www.openldap.org/doc/admin24/guide.html http://www.openldap.org/doc/admin24/quickstart.html http://www.2cto.com/ ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...