1. 程式人生 > >linux中nmcli命令使用及網路配置

linux中nmcli命令使用及網路配置

 Red Hat Enterprise Linux 7 與 CentOS 7 中預設的網路服務由 NetworkManager 提供,這是動態控制及配置網路的守護程序,它用於保持當前網路裝置及連線處於工作狀態,同時也支援傳統的 ifcfg 型別的配置檔案。

 NetworkManager 可以用於以下型別的連線:Ethernet,VLANS,Bridges,Bonds,Teams,Wi-Fi,mobile boradband(如移動3G)以及 IP-over-InfiniBand。針對與這些網路型別,NetworkManager 可以配置他們的網路別名,IP 地址,靜態路由,DNS,VPN連線以及很多其它的特殊引數。

 可以用命令列工具 nmcli 來控制 NetworkManager。

 在CentOS / RHEL 7中網路管理命令列工具,也叫nmcli。經常使用ifconfig的使用者應該在CentOS 7中避免使用ifconfig了。nmcli的功能要強大、複雜的多。

地址配置工具:nmcli

 nmcli – command-line tool for controlling NetworkManager

命令語法:

 nmcli[ OPTIONS ] OBJECT { COMMAND | help }

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

 device叫網路介面,是物理裝置

     device -show and manage network interfaces

     nmcli device help

 connection是連線,偏重於邏輯設定

     connection -start, stop, and manage network connections

     nmcli connection help

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

wKioL1fP3L-g1fdXAAAvAZncXO0325.png

修改IP地址等屬性:

 # nmcli connection modify IFACE [+|-]setting.propertyvalue

     setting.property:

         ipv4.addresse        ipv4.gateway

         ipv4.dns1           ipv4.methodmanual | auto

修改配置檔案執行生效:systemctl restart network 或 nmcli con reload

nmcli命令生效:nmclicon down eth0 ; nmclicon up eth0

使用nmcli配置網路:

NeworkManager是管理和監控網路設定的守護程序

  裝置即網路介面,連線是對網路介面的配置。一個網路介面可有多個連線配置,但同時只有一個連線配置生效。

  • 顯示所有包括不活動連線

 nmcli con show

  • 顯示所有活動連線

 nmcli con show –active

  • 顯示網路連線配置

 nmcli con show "System eth0“

  • 顯示裝置狀態

 nmcli dev status

  • 顯示網路介面屬性

 nmcli dev show eno16777736

使用示例:

 顯示所有包括不活動連線:

[[email protected] 7 ~]# nmcli connection show

wKioL1fPxtqSu1_hAAAjahZ1LsY726.png

  其中NAME內容為網絡卡配置檔案中定義的NAME內容,修改配置檔案NAME項,可以更改名稱,修改後可以選擇重啟網路服務:“命令:systemctl restart network” ;或者重讀配置檔案“命令:nmcli con reload”,使其生效。

上圖中“Wired connection 1”為一個有線連線,由於DEVICE選項為空,沒有與網絡卡繫結,使其並未生效。

  • 建立新連線default,IP自動通過dhcp獲取

# nmcli con add con-name default type Ethernet ifnameeth0
  • 刪除連線

# nmcli con del default
  • 建立新連線static ,指定靜態IP,不自動連線

# nmcticon add con-name static ifnameeth0 autoconnect no type Ethernet 
ip4 172.25.X.10/24  gw4 172.25.X.254

    con add – 新增新的連線

    con-name – 連線名

    type – 裝置型別

    ifname – 介面名

    autoconnect no – 禁止開機自動啟動

由於命令過長,要善於使用TAB鍵補全,命令完成後,會在/etc/sysconfig/network-scripts/下生成一個配置檔案,但是並未生效。如:

例:建立以個名字為home的,型別為乙太網卡,繫結網絡卡為eth1,開機自動啟動,定義ipv4地址和閘道器

[[email protected] 7 ~]# nmcli connection add con-name home type ethernet ifname 
eth1 autoconnect yes ip4 10.1.252.60/24 gw4 10.1.0.254

wKiom1fP0KbzGZnSAABPvSEyMws504.png

可以看到直接生成配置檔案,但是網絡卡沒有繫結,所以並沒有生效。

我們需要將這個介面啟用

  •  啟用static連線配置

   nmcli con up static

  •  啟用default連線配置

   nmcli con up default

  •  檢視幫助

   nmcli con add help

[[email protected] 7 ~]# nmcli connection up home

wKioL1fP0XjDROK9AAA-2G0fY_E685.png

這樣,home介面已經生效,可以正常使用。但同一時間只能繫結在一個介面上。平時如果工作需要,可以多設定幾套配置檔案,環境需要時可以進行臨時的切換。

當不需要再用時可以使用:nmcli connection delete home刪除

[[email protected] 7 ~]# nmcli connection delete home 
Connection 'home' (2443d6ec-f92e-4402-b15c-9eec15405852) successfully deleted.
  • 修改連線設定

nmcli con mod“static” connection.autoconnect no

nmcli con mod “static” ipv4.dns 172.25.X.254

nmcli con mod “static” +ipv4.dns 8.8.8.8

nmcli con mod “static” -ipv4.dns 8.8.8.8

nmcli con mod “static” ipv4.addresses “172.25.X.10/24 172.25.X.254”

nmcli con mod “static” +ipv4.addresses 10.10.10.10/16

命令修改與配置檔案對照表:

wKioL1fP3FXi2jAsAACIm7HpmF0103.png

裝置配置被儲存在文字檔案中

  • /etc/sysconfig/network-scripts/ifcfg-<name>

  • 幫助文件列出完整選項列表:/usr/share/doc/initcripts-*/sysconfig.txt

模板:

wKioL1fP3UzRk4CCAABKL-c2x-A407.png

修改連線配置後,需要重新載入配置

 nmcli con reload

 nmcli con down “system eth0” 可被自動啟用

 nmcli con up “system eth0”

 nmcli dev dis eth0 禁用網絡卡,訪止被自動啟用

圖形工具

 nm-connection-editor

例:

[[email protected] 7 ~]# nmcli con mod home +ipv4.addresses 10.1.114.114/24
[[email protected] 7 ~]# nmcli con up home 
[[email protected] 7 ~]# ip addr

wKiom1fP2ayyNYNEAAAxvjgYCBc384.png

網路組Network Teaming

  網路組是將多塊 網絡卡 邏輯地連線到一起從而允許故障轉移或者提高吞吐率的方法。提高伺服器網路可用性的一個方式是使用多個網絡卡。Linux 繫結驅動程式提供了一種將多個網絡卡聚合到一個邏輯的繫結介面的方法。這是個新的實現繫結的方法,並不影響 linux 核心中舊繫結驅動。

  • 網路組:是將多個網絡卡聚合在一起方法,從而實現冗錯和提高吞吐量

  • 網路組不同於舊版中bonding技術,提供更好的效能和擴充套件性

  • 網路組由核心驅動和teamd守護程序實現.

  • 多種方式

    runner

    broadcast

    roundrobin

    activebackup

    loadbalance

    lacp(implements the 802.3ad Link Aggregation Control Protocol)

  • 啟動網路組介面不會自動啟動網路組中的port介面

  • 啟動網路組介面中的port介面不會自動啟動網路組介面

  • 禁用網路組介面會自動禁用網路組中的port介面

  • 沒有port介面的網路組介面可以啟動靜態IP連線

  • 啟用DHCP連線時,沒有port介面的網路組會等待port介面的加入

建立網路組介面

 nmcli con add type team con-name CNAME ifname INAME [configJSON]

    CNAME連線名,INAME介面名

    JSON指定runner方式

       格式:'{"runner": {"name": "METHOD"}}'

         METHOD可以是broadcast,roundrobin,

        activebackup,loadbalance, lacp

建立port介面

nmclicon add type team-slave con-name CNAME ifname INAME master TEAM

    CNAME連線名

    INAME網路介面名

    TEAM網路組介面名

連線名若不指定,預設為team-slave-IFACE

nmcli dev dis INAME

nmcli con up CNAME

  INAME裝置名CNAME網路組介面名或port介面

實驗:建立網路組

1、建立網路組team0,會在/etc/sysconfig/network-scripts/目錄下生成ifcfg-team0檔案

# nmcli connection add con-name team0 type team ifname team0 config
 '{"runner":{"name":"activebackup"}}' ip4 10.1.252.60/16 gw4 10.1.0.1

2、新增DNS

# nmcli connection modify team0 ipv4.dns 8.8.8.8

3、加入組成員

# nmcli connection add con-name team0-eth0 type team-slave 
ifname eth0 master team0 
# nmcli connection add con-name team0-eth1 type team-slave 
ifname eth1 master team0

4、啟動

nmcli connection up team0
nmcli connection up team0-eth0
nmcli connection up team0-eth1

5、檢視狀態

# teamdctl team0 stat

wKiom1fQEQKyKW7yAAA2ryk-Hqo011.png

使用nmcli配置主機名

rhel6之前主機名配置檔案:/etc/sysconfig/network

rhel7.0主機名配置檔案:/etc/hostname ,預設沒有這個檔案,通過DNS反向解析獲取主機名,主機名預設為:localhost.localdomain

顯示主機名資訊

    hostname

    hostnamectl status

wKiom1fQG7Oytc8DAABAj56w640106.png

建立並修改檔案並生效

    hostnamectl set-hostname desktopX.example.com

刪除檔案,恢復主機名localhost.localdomain

DNS設定,存放在/etc/resolv.conf檔案中

PEERDNS=no 表示當IP通過dhcp自動獲取時,dns仍是手動設定,不自動獲取。等價於下面命令:

    nmclicon mod “system eth0” ipv4.ignore-auto-dns yes

測試網路

在命令列下測試網路的連通性

  顯示主機名

    hostname

  測試網路連通性

    ping

    mtr

  顯示正確的路由表

    iproute

確定名稱伺服器使用:

    nslookup

    host

    dig

跟蹤路由:

    traceroute

    Tracepath

網路客戶端工具

lftp, ftp, lftpget, wget

lftp:

lftp命令是一款優秀的檔案客戶端程式,它支援ftp、SETP、HTTP和FTPs等多種檔案傳輸協議。lftp支援tab自動補全,記不得命令雙擊tab鍵,就可以看到可能的選項了。 

語法:  lftp[-p port] [-u user[,password]] SERVER

子命令:

 get、mget、ls、help

# ftp:

ftp命令用來設定檔案系統相關功能。ftp伺服器在網上較為常見,Linux ftp命令的功能是用命令的方式來控制在本地機和遠端機之間傳送檔案,這裡詳細介紹Linux ftp命令的一些經常使用的命令,相信掌握了這些使用Linux進行ftp操作將會非常容易。

# lftpget URL :lftpget命令通過呼叫lftp指令下載指定的檔案

# wget:

  wget命令用來從指定的URL下載檔案。wget非常穩定,它在頻寬很窄的情況下和不穩定網路中有很強的適應性,如果是由於網路的原因下載失敗,wget會不斷的嘗試,直到整個檔案下載完畢。如果是伺服器打斷下載過程,它會再次聯到伺服器上從停止的地方繼續下載。這對從那些限定了連結時間的伺服器上下載大檔案非常有用。 

語法:wget[option]… [URL]…

    -q: 靜默模式

    -c: 斷點續傳

    -O: 儲存位置

    –limit-rates=: 指定傳輸速率

相關推薦

linuxnmcli命令使用網路配置

 Red Hat Enterprise Linux 7 與 CentOS 7 中預設的網路服務由 NetworkManager 提供,這是動態控制及配置網路的守護程序,它用於保持當前網路裝置及連線處於工作狀態,同時也支援傳統的 ifcfg 型別的配置檔案。  Netwo

手把手教你安裝Linux(CentOS 7)系統網路配置

準備工作 做U盤啟動 安裝系統 配置網路 檢視本地ip相關資訊

linuxhistory命令使用與配置

history中設定顯示命令的執行時間 vi /root/.bashrc HISTTIMEFORMAT="%Y-%M-%D %H:%M:%S" export HISTTIMEFORMAT 為了使以上設定生效,執行以下命令 :wq source .bashrc his

MongoDB——linuxyum命令安裝配置

一、建立mongodb-org-3.4.repo檔案 vi /etc/yum.repos.d/mongodb-org-3.4.repo     將下面內容新增到建立的檔案中[mongodb-org-3

Linux學習之路-Centos7-nmcli命令網橋【21】---20180127

nmcli 網橋 測試網絡工具 網絡客戶端工具 一、nmcli命令1、地址配置工具:nmclinmcli [ OPTIONS ] OBJECT { COMMAND | help } device - show and manage network interfaces nmcl

nmcli 命令Linux 系統的命令網路管理器

要想在 Linux 命令下對網路進行相關設定,總的來說不外乎兩類方法:其一乃寫配置檔案,如 /etc/network/interfaces 進行網路介面配置,其二直接在終端呼叫 Linux 網路管理命令,在終端間接同文件打交道。 首先為大家所熟知的,ifconfig 命令和 iwconf

如何在linux做分割槽掛載,如:fdisk、mkswap、mount、tune2fs、dume2fs等命令的詳解

fdisk是一個建立和維護分割槽表的程式,它相容DOS型別的分割槽表、BSD或者SUN型別的磁碟列表。 語法 fdisk [必要引數][選擇引數] 必要引數: -l 列出素所有分割槽表 -u 與"-l"搭配使用,顯示分割槽數目 選擇引數: -s<分割槽編號>

Linux命令格式使用幫助

1、命令格式介紹 命令的語法通用格式: # COMMAND OPTIONS ARGUMENTS (1)COMMAND 發起一個命令表示請求核心將某個二進位制程式執行為一個程序; 程式啟動為程序,靜態程式變為動態的程序(有生命週期)。 命令本身是一個可執行的二進位

linux 安裝 網路配置

1 先在電腦上安裝VMware  2 安裝虛擬機器 CentOS-6.5-x86_64-bin-DVD1.iso 3 安裝成功後進入server 介面  使用者名稱 root  密碼 :****** 4 虛擬機器安裝好後 要進行網路配置    1)先 ls    檢

linuxls命令:(顯示指定目錄裡的檔案資料夾清單)

                列出目錄下的所有檔案,包括以 . 開頭的隱含檔案。 -A,–almost-all          列出除了 . 及 .. 以外的任何專案 –author              印出每個檔案的作者 -b,–escape              把檔名中不可輸出的字元用反斜

RHEL7: 使用nmcli命令新增網路連線並配置資訊

一、常用命令檢視網路資訊 檢視網路介面資訊 ifconfig 檢視IP地址 ip add 二、nmcli命令 檢視裝置狀態 nmcli dev status 顯示連線狀態 nmcli con

Linuxdate命令用法大小比較

Linux date命令的用法 使用方式 : date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+

linux常用命令的使用vim編輯器

開啟終端:ctrl+atl+t 命令、引數通過空格分開 ---------------------------------------------------------------------- 1.pwd 命令 pwd    顯示當前目錄的絕對地址 -------

Linux 常用命令

ln -s directory 沒有 開始 media 關機命令 範圍 後臺作業 解壓縮 命令基本格式: 命令提示符:[[email protected]/* */ ~]# root 代表當前的登錄用戶(linux當中管理員賬號是root)

Linux的環境變量配置文件及其作用

source 方法 ps1 退出 設置 家目錄 無密碼 mas lang 登錄相關的配置文件:  /etc/profile     範圍:對所有用戶生效     作用:       a.定義USER變量       b.定義LOGNAME變量       c

Linux的環境變量配置文件

linux中的環境配置文件 這篇文章是我之前整理,此次上傳。因為剛剛接觸linux,一直對裏面的變量設置是混淆的,所以查資料整理了一下,以便日後查詢。 Shell 環境依賴於多個文件的設置。用戶並不需要每次登錄後都對各種環境變量進行手工設置,通過環境設置文件,用戶的工作環境的設置可以在登錄的時候自動由系

Linuxtftp安裝使用筆記

模式 clas art netstat 參數 log 狀態信息 use 幫助 tftp命令用在本機和tftp服務器之間使用TFTP協議傳輸文件。 TFTP是用來下載遠程文件的最簡單網絡協議,它其於UDP協議而實現。 linux服務器端tftp-server的配置 1、安裝t

Linuxawk命令的簡單用法

.cn inux total com mage 簡單 image 用法 int 一、用例1:   cat /proc/meminfo|grep "MemTotal"|awk ‘{print $2}‘   說明,$2表示第2位,$0表示全部,如需表示$,可用$$轉義。

linuxwc命令用法

字節 統計字符 -- 幫助信息 linux系統 count 沒有 標準 讀取 Linux系統中的wc(Word Count)命令的功能為統計指定文件中的字節數、字數、行數,並將統計結果顯示輸出。 1.命令格式: wc [選項]文件... 2.命令功能: 統計指定文件中的字節

linuxexpect命令詳解

linux運維expect介紹expect 是由Don Libes基於Tcl(Tool Command Language )語言開發的,主要應用於自動化交互式操作的場景,借助Expect處理交互的命令,可以將交互過程如:ssh登錄,ftp登錄等寫在一個腳本上,使之自動化完成。尤其適用於需要對多臺服務器執行相同