nmcli による基本的な設定

LINEで送る
Pocket

nmcli(Network Manager command-line)は、nmtuiと同様にNMと通信を行いネットワークの設定を行うツールです。 nmcliは、nmtuiと同等の機能を提供するので、通常のネットワーク設定は、視覚的に分かりやすいnmtuiを使用すればよいですが、 より詳細な情報を知りたい場合や、ネットワークの設定を変更するスクリプトなどを作成する場合、 nmcliコマンドを使うと良いでしょう。

なお、設定を参照するコマンドは一般ユーザで実行可能ですが、変更を行う作業はroot権限が必要なので sudoを付加しています。

nmcli コマンドは以下のように実行します。

$ nmcli [オプション] オブジェクト { コマンド | ヘルプ }

主に使用するオプション
-h: ヘルプを表示する。
-p: 読みやすい形式で出力する
-a: パラメーターが足りない場合問い合わせる
-w: 動作完了までのタイムアウトを設定する

オブジェクト
g[eneral]: NetworkManagerの全般的な状態と動作
c[onnection]: NetworkManagerの接続状況
d[evice]: NetworkManagerで管理しているデバイス
n[etworking]: ネットワーク制御に関する全般
r[adio]: NetworkManagerラジオスイッチ

ヘルプは、

$ nmcli help
$ nmcli オブジェクト help
$ nmcli オブジェクト コマンド help

NetworkManager の全般的ステータスを表示します。

$ nmcli general status
状態      接続性  WIFI ハードウェア  WIFI  WWAN ハードウェア  WWAN
接続済み  完全    有効               有効  有効               有効

コマンドは以下のように全て短縮して実行できます。

$ nmcli g s
状態      接続性  WIFI ハードウェア  WIFI  WWAN ハードウェア  WWAN
接続済み  完全    有効               有効  有効               有効

NetworkManager のログ情報を表示します。

$ nmcli general logging

レベル  ドメイン
INFO
PLATFORM,RFKILL,ETHER,WIFI,BT,MB,DHCP4,DHCP6,PPP,IP4,IP6,AUTOIP4,DNS,VPN,SHARING,SUPPLICANT,AGENTS,SETTINGS,SUSPEND,CORE,DEVICE,OLPC,INFINIBAND,FIREWALL,ADSL,BOND,VLAN,BRIDGE,TEAM,CONCHECK,DCB,DISPATCH,AUDIT,SYSTEMD

ログレベルの変更は以下のとおり。

 $ sudo nmcli general logging level DEBUG

全ての接続情報を表示します。

$ nmcli connection show
名前                  UUID                                  タイプ           デバイス
MyAccessPoint         e42fe936-7168-11e6-a370-bbf03d6838e9  802-11-wireless  wlp4s0
enp3s0                eec7e786-7168-11e6-9cc8-5f5aeb5d59a8  802-3-ethernet   enp3s0
Buffalo-G-XXXX        f1137e56-7168-11e6-894b-3bb595740d07  802-11-wireless  --       <- 設定が保存されているが未接続の場合

NetworkManager が認識するデバイスとその状態を表示します。

$ nmcli device show
GENERAL.デバイス:                       enp0s3
GENERAL.タイプ:                         ethernet
GENERAL.ハードウェアアドレス:           08:00:00:11:22:33
GENERAL.MTU:                            1500
GENERAL.状態:                           10 (管理無し)
GENERAL.接続:                           --
GENERAL.CON パス:                       --
WIRED-PROPERTIES.キャリア:              オン
IP4.アドレス[1]:                        192.168.0.5/24
IP4.ゲートウェイ:                       192.168.0.1
IP6.アドレス[1]:                        fe80::a00:27ff:0011:2233/64
nmcliでEthernetの設定をする場合。
プロファイルを追加します。
                                             インターフェイス名  プロファイル名
$ sudo nmcli connection add type ethernet ifname enp0s3 con-name enp0s3
プロファイルを削除します。
                               プロファイル名
$ sudo nmcli connection delete enp0s3

アドレスの手動設定。
                               プロファイル名                           IPアドレス/サフィックス     ゲートウェイ         DNS
$ sudo nmcli connection modify enp0s3 ipv4.method manual ipv4.addresses 192.168.0.5/24 ipv4.gateway 192.168.0.1 ipv4.dns 8.8.8.8
アドレスのDHCP設定
                               プロファイル名     IPアドレスの設定はauto
$ sudo nmcli connection modify enp0s3 ipv4.method auto

IPエイリアスの設定

追加
$ sudo nmcli connection modify enp0s3 +ipv4.addresses "10.1.1.3/24"
$ sudo nmcli connection up enp0s3

削除
$ sudo nmcli connection modify enp0s3 +ipv4.addresses "10.1.1.3/24"
$ sudo nmcli connection up enp0s3
nmcliでnmcliでWi-Fi の設定をする場合。
プロファイルを追加します。
                                         インターフェイス名  プロファイル名 SSID
$ sudo nmcli connection add type wifi ifname wlp4s0 con-name wlp4s0 ssid SSID
Wi-Fiアクセスポイントに接続する場合
                          SSID          パスワード
$ sudo nmcli device wifi connect SSID password PASSWORD
利用可能な Wi-Fi アクセスポイントを表示する場合。
$ nmcli device wifi list
*  SSID            モード    CHAN  レート     信号  バー  セキュリティ
*  MyAccessPoint   インフラ  5     54 Mbit/s  76    ▂▄▆_  WPA1 W
   logitec5555     インフラ  1     54 Mbit/s  42    ▂▄__  WP
   Buffalo-G-0000  インフラ  1     54 Mbit/s  22    ▂___  WPA
   Buffalo-G-1111  インフラ  9     54 Mbit/s  19    ▂___  WPA
   aterm-222222-g  インフラ  2     54 Mbit/s  17    ▂___  WPA1 WPA
             :
インターフェイスの起動停止
$ sudo nmcli connection down enp0s3
$ sudo nmcli connection up enp0s3
Wi-Fiの開始、停止する場合。
$ nmcli radio wifi on
$ nmcli radio wifi off
ホスト名を表示する
$ nmcli general hostname
ubuntu
ホスト名を変更する。
$ sudo nmcli general hostname myserver

nmcli ツールには、接続タイプを対話形式で選択することが出来る、 インタラクティブ接続エディターというものがあります。 以下のように設定ウィザード形式で設定が行えます。

以下のように設定ウィザード形式で設定が行えます。
$ sudo nmcli connection edit

(process:28550): nmcli-CRITICAL **: check_valid_name: assertion 'val' failed
有効な接続タイプ: generic, 802-3-ethernet (ethernet), pppoe, 802-11-wireless (wifi), wimax, gsm, cdma, infiniband, adsl, bluetooth, vpn, 802-11-olpc-mesh (olpc-mesh), vlan, bond, team, bridge,
bond-slave, team-slave, bridge-slave, no-slave, tun, ip-tunnel, macvlan, vxlan
接続タイプを入力してください: ethernet                                 <- 接続タイプを ethernet に設定。
nmcli> describe ipv4                                                   <- ipv4 の設定方法を表示
<<< ipv4 >>>

=== [method] ===
[NM プロパティの詳細]
IP configuration method. NMSettingIP4Config and NMSettingIP6Config both support "auto", "manual", and "link-local". See the subclass-specific documentation for other values. In general, for the "auto"
method, properties such as "dns" and "routes" specify information that is added on to the information returned from automatic configuration.  The "ignore-auto-routes" and "ignore-auto-dns" properties
modify this behavior. For methods that imply no upstream network, such as "shared" or "link-local", these properties must be empty. For IPv4 method "shared", the IP subnet can be configured by adding
one manual IPv4 address or otherwise 10.42.x.0/24 is chosen.
                         :
nmcli> set ipv4.method auto
nmcli> save                                                            <- 設定完了後は保存します。
Saving the connection with 'autoconnect=yes'. That might result in an immediate activation of the connection.
Do you still want to save? (はい/いいえ) [はい] はい
接続 'ethernet-1' (111ffe9f-34db-41d4-b5f7-024573add7fa) が正常に保存されました。
nmcli> quit                                                            <- 終了します。

※ nmtui、nmcli コマンドで設定した値は、
CentOS の場合
/etc/sysconfig/network-scripts/ifcfg-プロファイル名
Ubuntu の場合
/etc/NetworkManager/system-connections/デバイス名
に保存されます。

/etc/sysconfig/network-scripts/ifcfg-XXX

TYPE="Ethernet"
BOOTPROTO=none
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
NAME="XXX"
UUID="8a2048e1-f1f4-4ea0-0000-112233445566"
DEVICE="XXX"
ONBOOT="yes"
DNS1=192.168.0.1
IPADDR=192.168.0.2
PREFIX=24
GATEWAY=192.168.0.1
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes

/etc/NetworkManager/system-connections/XXX

[connection]
id=enp3s0
uuid=255a5141-6499-450a-0000-112233445566
type=ethernet
interface-name=XXX
permissions=
secondaries=

[ethernet]
mac-address-blacklist=

[ipv4]
dns-search=
method=auto

[ipv6]
addr-gen-mode=stable-privacy
dns-search=
method=auto
LINEで送る
Pocket

  • このエントリーをはてなブックマークに追加

コメントを残す

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください