====== NetworkManager の設定(nmcli) ======
===== Linux ホスト名の変更 =====
$ nmcli general hostname
localhost.localdomain
$ sudo nmcli general hostname hostname.localdomain
$ nmcli general hostname
hostname.localdomain
===== デバイス情報の表示 =====
$ nmcli device
デバイス     タイプ     状態                    接続          
virbr0      bridge    接続済み                virbr0              
enp8s0      ethernet  接続済み                bridge-slave-enp8s0 
br0         bridge    接続中 (IP 設定を取得中)  bridge-br0          
lo          loopback  管理無し                --                  
virbr0-nic  tun       管理無し                --                  
===== インターフェース情報の表示 =====
$ nmcli connection
名前                UUID                                  タイプ          デバイス
eno33554992         6ddfca43-4614-44f3-82d3-08f0d967f554  802-3-ethernet  eno33554992
eno16777736         85d3a477-f9e9-4fe5-a685-27a6ac972cd4  802-3-ethernet  eno16777736
===== インタフェース名の変更 =====
$ sudo nmcli connection modify uuid 6ddfca43-4614-44f3-82d3-08f0d967f554 connection.id eno1
$ sudo nmcli connection modify uuid 85d3a477-f9e9-4fe5-a685-27a6ac972cd4 connection.id eno2
$ nmcli connection show
名前  UUID                                  タイプ          デバイス
eno1  6ddfca43-4614-44f3-82d3-08f0d967f554  802-3-ethernet  eno33554992
eno2  85d3a477-f9e9-4fe5-a685-27a6ac972cd4  802-3-ethernet  eno16777736
$ nmcli connection show eno1
connection.id:                          eno1
connection.uuid:                        6ddfca43-4614-44f3-82d3-08f0d967f554
connection.interface-name:              --
connection.type:                        802-3-ethernet
connection.autoconnect:                 yes
connection.timestamp:                   1425802863
connection.read-only:                   no
connection.permissions:
connection.zone:                        --
connection.master:                      --
connection.slave-type:                  --
connection.secondaries:
connection.gateway-ping-timeout:        0
802-3-ethernet.port:                    --
802-3-ethernet.speed:                   0
802-3-ethernet.duplex:                  --
802-3-ethernet.auto-negotiate:          yes
802-3-ethernet.mac-address:             00:0C:29:20:A1:DB
802-3-ethernet.cloned-mac-address:      --
802-3-ethernet.mac-address-blacklist:
802-3-ethernet.mtu:                     自動
802-3-ethernet.s390-subchannels:
802-3-ethernet.s390-nettype:            --
802-3-ethernet.s390-options:
ipv4.method:                            auto
ipv4.dns:
ipv4.dns-search:
ipv4.addresses:
ipv4.routes:
ipv4.ignore-auto-routes:                no
ipv4.ignore-auto-dns:                   no
ipv4.dhcp-client-id:                    --
ipv4.dhcp-send-hostname:                yes
ipv4.dhcp-hostname:                     --
ipv4.never-default:                     no
ipv4.may-fail:                          yes
ipv6.method:                            auto
ipv6.dns:
ipv6.dns-search:
ipv6.addresses:
ipv6.routes:
ipv6.ignore-auto-routes:                no
ipv6.ignore-auto-dns:                   no
ipv6.never-default:                     no
ipv6.may-fail:                          yes
ipv6.ip6-privacy:                       -1 (不明)
ipv6.dhcp-hostname:                     --
===== MACアドレスの変更 =====
$ sudo nmcli connection modify eno1 802-3-ethernet.mac-address "00:0C:29:20:A1:D1"
$ sudo nmcli connection modify eno2 802-3-ethernet.mac-address "00:0C:29:20:A1:D2"
===== IP アドレスの変更 =====
$ sudo nmcli connection modify eno1 \
ipv4.method manual ipv4.addresses "172.16.1.81/24 172.16.1.254"
$ sudo nmcli connection modify eno1 ipv4.gateway "172.16.1.254" \
ipv4.never-default no \
ipv4.dns "172.16.1.254" \
ipv4.dns-search "tomoyan.local"
$ sudo nmcli connection modify eno2 \
ipv4.method manual ipv4.addresses "192.168.10.254/24"
$ sudo nmcli connection modify eno2 \
ipv4.never-default yes
※ipv4.never-default no = DEFROUTE=yes となる。\\
===== スタティックルートの追加 =====
$ sudo nmcli connection modify eno1 \
ipv4.routes "192.168.1.0/24 172.16.78.70"
===== DNS の設定 =====
$ sudo nmcli connection modify eno1 ipv4.dns "172.16.1.254"
===== 接続/切断 =====
接続
$ nmcli connection up eno1
切断
$ nmcli connection down eno1
===== 設定反映 =====
$ sudo systemctl restart NetworkManager
$ sudo systemctl restart network
===== ネットワークデバイス名の変更 =====
[[linux:commands:network:change_device_name|ネットワークデバイス名の変更]]\\
===== 参考文献 =====
[[https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Networking_Guide/sec-Using_the_NetworkManager_Command_Line_Tool_nmcli.html|2.3. Using the NetworkManager Command Line Tool, nmcli]]\\
[[http://techblog.clara.jp/2014/08/centos7_vol3__network-manager_nmcli/ | CentOS7第3回 ネットワークマネージャを nmcli で操作]]\\
[[http://techblog.clara.jp/2014/11/centos7_linux-router-by-firewalled/ | CentOS7 第4回 はじめての firewalld で作る Linuxルータ]]\\
===== トラブルシューティング =====
[[.:network_manager:fedora20_nmcli_version_error | Fedora 20 で「エラー: nmcli (0.9.9.0) と NetworkManager (不明) のバージョンが一致しません。」が発生する]]\\