nmcli 命令:Linux 系統的命令列網路管理器
要想在 Linux 命令下對網路進行相關設定,總的來說不外乎兩類方法:其一乃寫配置檔案,如 /etc/network/interfaces
進行網路介面配置,其二直接在終端呼叫 Linux 網路管理命令,在終端間接同文件打交道。
首先為大家所熟知的,ifconfig
命令和 iwconfig
命令自不必多言。它們作為基礎命令預裝在絕大部分的 Linux 發行版中。相比之下,iwconfig
更偏向於 “網路元素” (如 essid、wep key 等),而 ifconfig
命令則更偏向於 “網絡卡”,你可以使用該命令對針對網絡卡的大部分屬性進行設定。順便一提,ifconfig,可以拆為 “interface configurations”,而 iwconfig 則可以被拆成 “wireless interface configurations”。方便你的理解。
$ ifconfig eth1 10.0.0.1 netmask 255.0.0.0 hw ether 10:10:10:10:10:10
這裡我還要介紹兩個工具,分別名為 nmcli
和 nmtui
,它們被預裝在 RHEL(Red Hat Enterprise Linux)和 CentOS7+ 發行版中。在嘗試後,發現基於 Debian 的 Kali Linux 也同樣可以直接呼叫該命令。看名字,“nmcli” 即 “network manager command line interface”(網路管理器命令列介面),而 “nmtui” 即 “network manager text user interface”(網路管理器使用者文字介面)。二者不過是從不同角度實現對網路管理的演繹罷了。簡單起見,下面我只講 nmcli
ifconfig
命令,nmcli
命令更為強大,從某種意義來說。
$ nmcli [ OPTIONS ] OBJECT { COMMAND | help }
nmcli 的命令引數有很多,下面我挑幾條代表性的來講。
0x01:啟用網路
nmcli networking on
0x02:檢查 Network Manager 的狀態
nmcli general status
0x03:檢查裝置和連線之間的連線狀態
nmcli device status
0x04:連線裝置
nmcli device connect DEVICENAME
0x05:更改主機名
nmcli general hostname HOSTNAME
0x06:確認連線
nmcli connection show
0x07:啟用連線
nmcli connection up CONNECTIONNAME
0x08:更改連線的 IP 地址
nmcli connection modify CONNECTIONNAME ipv4.addresses IPADDRESS
0x09:刪除裝置的連線
nmcli connection delete CONNECTIONNAME
如此一來,我們的網路備用庫又多了一款工具。下次遇到問題也不會至於乾著急。