
今回は、基本的なネットワークの環境設定を行ってみます。
(CentOS(Scientific Linux)で ネットワーク(IPアドレス、ホスト名、ドメイン名など)の設定を行う  のCentOS7 編になります。)
IPアドレス、ゲートウェイ、ホスト名、ネームサーバの設定を行ってみます。
CentOS7では、旧来からの設定と異なり、nmcli コマンド にて行うようになりました。
大きく変わったので、ここでは、旧バージョンのCentOS(Scientific Linux)で ネットワーク(IPアドレス、ホスト名、ドメイン名など)の設定を行う  と記事を分けてみました。
- 目次
- 履歴
				2015年6月28日 初版 
TUIを使ってネットワークの設定を行う
TUIを使って、CentOS / Scientific Linux / Red Hat でのネットワーク設定について以下に解説してみます。
古くは、netconfig → system-config-network(CentOS6まで) → nmtui(CentOS7以降) 
とコンソールから入力するとTUIの画面が表示されるようになりました。
nmtuiの簡単な使い方を以降に解説しておきます。
(TUIの画面のカーソルは、TABキーで移動することができます。)
Text User Interface (テキストユーザインターフェイス)の略で、テキストベースのユーザインタフェースを区別して呼ぶための名称です。 一般的には、Linuxのインストール時にGUIでないテキストベースのGUIもどきのようなインストーラを体験したことがあると思います。 まさにそのGUIもどきのテキストベースのユーザインターフェイスのことを言います。
IPアドレス、ゲートウェイ、DNSを固定にするには
- シェルからnmtuiを起動します。
 $ nmtui  以下のようなTUI画面が表示されます。  
 
 
- [ Edit a connection ] を選択し [ Enter ] を入力します。
 以下の画面が表示されます。  
 
 
- 編集(変更)したい Device を選択し、 [ Enter ] を入力します。
 以下の画面が表示されます。  
 ここで [ Quit ] をクリックすると、シェルに戻ります。(nmtuiの初期画面には戻りません) 
 
- IPv4 CONFIGURATION で  [ Manual ] を選択します。
 以下の画面のように IPv4 CONFIGURATION の横に選択できる項目があります。これを(以下の画面では、Automatic となっている箇所) を選択し、 [ Enter ] を入力すると選択できるようになります。  
 これを(上の画面では、Automatic となっている箇所) を選択し、 [ Enter ] を入力すると以下のように選択できるようになります。 ここで、[ Manual ] を選択し、 [ Enter ] を入力します。  
 
 
- IPアドレスなどのネットワーク情報を編集します。
 IPアドレスなどの詳細情報編集画面が表示されていない場合は、以下の [ Show ] を選択し、 [ Enter ] を入力すると詳細な入力情報が表示されます。 
  
 以下のIPアドレスなどの詳細情報編集画面にて各項目の編集をおこなってみます。 
  
 - IPアドレスの編集(変更)
 詳細情報編集画面の [ Addresses ] 情報が ホストのIPアドレスになります。 
 ここに IPアドレス/マスクビット数 を入力します。
 
- ゲートウェイの編集(変更)
 詳細情報編集画面の [ Gateway ] 情報が ゲートウェイのIPアドレスになります。 
 ここに ゲートウェイのIPアドレス を入力します。
 
- DNSの編集(変更)
 詳細情報編集画面の [ DNS Servers ] 情報が DNSサーバーのIPアドレスになります。 
 ここに DNSサーバーのIPアドレス を入力します。
 複数指定したい場合は、下の [ Add ] を選択し、[ Enter ] を入力することで、DNSサーバーの入力欄を増やすことができます。
 逆に、指定したDNSサーバーを削除したい場合は、横 [ Remove ] を選択し、[ Enter ] を入力することで、DNSサーバーの入力欄を削除することができます。
 
 編集を終えたら、画面下の [ Ok ] を選択し、[ Enter ] を入力します。 
 その後、先の Device 選択の画面へ戻りますので、そこで、 [ Quit ] を選択し、[ Enter ] を入力し、終了します。
 
- IPアドレスの編集(変更)
- シェルから ネットワークの再起動を実施します。
 編集を終えたら、ネットワークの再起動 ( NetworkManager restart [ or reload ] ) で変更したIPアドレスの情報を反映します。 $ systemctl restart NetworkManager ネットワークの再起動でなく、ネットワークインターフェイスだけの再起動でもOKです。 この場合、デバイス名を指定します。(ここ例では、 enp0s3 になります) ネットワークの再起動でなく、ネットワークインターフェイスだけの再起動でもOKです。 この場合、デバイス名を指定します。(ここ例では、 enp0s3 になります)$ nmcli c down enp0s3; nmcli c up enp0s3  
- 最後に正しく変更されたか確認しておきましょう。 
 # IPアドレスの確認 $ ip addr ...
n: enp0s3: ...
n: enp0s3:mtu 1500 qdisc pfifo_fast state UP qlen 1000 ... inet 192.168.1.111/24 brd 192.168.1.255 scope global enp0s3 ... # ゲートウェイの確認 $ ip route ...
default via 192.168.1.1 dev enp0s3  proto static  metric 1024
...
# 現在のDNSを確認
$ nslookup ...
default via 192.168.1.1 dev enp0s3  proto static  metric 1024
...
# 現在のDNSを確認
$ nslookup > server
Default server: 8.8.8.8
Address: 8.8.8.8#53
Default server: 8.8.4.4
Address: 8.8.4.4#53
> exit
$ > server
Default server: 8.8.8.8
Address: 8.8.8.8#53
Default server: 8.8.4.4
Address: 8.8.4.4#53
> exit
$  
IPアドレス、ゲートウェイ、DNSの各設定にDHCPサーバを利用するには
- シェルからnmtuiを起動します。
 $ nmtui  以下のようなTUI画面が表示されます。  
 
 
- [ Edit a connection ] を選択し [ Enter ] を入力します。
 以下の画面が表示されます。  
 
 
- 編集(変更)したい Device を選択し、 [ Enter ] を入力します。
 以下の画面が表示されます。  
 ここで [ Quit ] をクリックすると、シェルに戻ります。(nmtuiの初期画面には戻りません) 
 
- IPv4 CONFIGURATION で  [ Automatic ] を選択します。
 以下の画面のように IPv4 CONFIGURATION の横に選択できる項目があります。これを(以下の画面では、Manual となっている箇所) を選択し、 [ Enter ] を入力すると選択できるようになります。  
 これを(上の画面では、Manual となっている箇所) を選択し、 [ Enter ] を入力すると以下のように選択できるようになります。 ここで、[ Automatic ] を選択し、 [ Enter ] を入力します。  
 
 固定IPアドレスなどの情報を残しておくと、2つのIPアドレス情報が見えたりします。 そのため、各詳細情報編集画面 の [ Remove ] を選択し、 [ Enter ] を入力することで、全削除されることをおすすめいたします。
 編集を終えたら、画面下の [ Ok ] を選択し、[ Enter ] を入力します。 
 その後、先の Device 選択の画面へ戻りますので、そこで、 [ Quit ] を選択し、[ Enter ] を入力し、終了します。
 
- シェルから ネットワークの再起動を実施します。
 編集を終えたら、ネットワークの再起動 ( NetworkManager restart [ or reload ] ) で変更したIPアドレスの情報を反映します。 $ systemctl restart NetworkManager ネットワークの再起動でなく、ネットワークインターフェイスだけの再起動でもOKです。 この場合、デバイス名を指定します。(ここ例では、 enp0s3 になります) ネットワークの再起動でなく、ネットワークインターフェイスだけの再起動でもOKです。 この場合、デバイス名を指定します。(ここ例では、 enp0s3 になります)$ nmcli c down enp0s3; nmcli c up enp0s3  
- 最後に正しく変更されたか確認しておきましょう。 
 # IPアドレスの確認 $ ip addr ...
n: enp0s3: ...
n: enp0s3:mtu 1500 qdisc pfifo_fast state UP qlen 1000 ... inet 192.168.1.36/24 brd 192.168.1.255 scope global dynamic enp0s3 ... # 固定IP情報を削除していない場合は、以下のように固定IPアドレス情報も出力されるでしょう。 inet 192.168.1.111/24 brd 192.168.1.255 scope global secondary enp0s3 ... # ゲートウェイの確認 $ ip route ...
default via 192.168.1.1 dev enp0s3  proto static  metric 1024
...
# 現在のDNSを確認
$ nslookup ...
default via 192.168.1.1 dev enp0s3  proto static  metric 1024
...
# 現在のDNSを確認
$ nslookup > server
Default server: 192.168.1.1
Address: 192.168.1.1#53
# 固定DNSサーバー情報を削除していない場合は、以下のように固定DNSサーバー情報も出力されるでしょう。
Default server: 8.8.8.8
Address: 8.8.8.8#53
Default server: 8.8.4.4
Address: 8.8.4.4#53
> exit
$ > server
Default server: 192.168.1.1
Address: 192.168.1.1#53
# 固定DNSサーバー情報を削除していない場合は、以下のように固定DNSサーバー情報も出力されるでしょう。
Default server: 8.8.8.8
Address: 8.8.8.8#53
Default server: 8.8.4.4
Address: 8.8.4.4#53
> exit
$  先の固定IPアドレスなどの情報を削除しないかぎり、上記のように重複して情報が見えるようになります。 
ホスト名を変更するには
- シェルからnmtuiを起動します。
 $ nmtui  以下のようなTUI画面が表示されます。  
 
 
- [ Set system hostname ] を選択し [ Enter ] を入力します。
 以下の画面が表示されます。  
 
 
- ホスト名を編集(変更)します。
 先の画面でホスト名の編集を終えたら、画面下の [ Ok ] を選択し、[ Enter ] を入力します。 
 以下のように設定され旨の画面が表示されるので、ここでも [ Ok ] を選択し、[ Enter ] を入力します。
 その後は、シェルに戻ります。(nmtuiの初期画面には戻りません) 
 
 
- 最後に正しく変更されたか確認しておきましょう。 
 # ホスト名の確認 $ hostname hoge.example.com hoge.example.comまた、システム再起動でも同じように設定されていることを確認してきましょう。 
以降のCUIは、基本的なことを理解する上では有益ですが、実運用的にはTUIの方が楽でしょうね。
CUIを使ってネットワークの設定を行う
CUIを使って、CentOS / Scientific Linux / Red Hat でのネットワーク設定について以下に解説してみます。
CentOS7では、CentOS6まで扱っていたファイルは、基本的に同じです。
ただし、微妙に設定内容が異なったりするので、CentOS7から提唱されている nmcli コマンドを使って編集してみます。
|  | 
|  | 
|  | 
IPアドレスを変更するには
- 変更するデバイスを確認しておきます。
 # デバイスを確認しておきます。 # -- 以下の例では、 enp0s3 になります。 $ nmcli d DEVICE  TYPE      STATE      CONNECTION
enp0s3  ethernet  connected  enp0s3
lo      loopback  unmanaged  --
# enp0s3 の現在の接続情報を出力しておきます。
$ nmcli connection show enp0s3 DEVICE  TYPE      STATE      CONNECTION
enp0s3  ethernet  connected  enp0s3
lo      loopback  unmanaged  --
# enp0s3 の現在の接続情報を出力しておきます。
$ nmcli connection show enp0s3 connection.id:                          enp0s3
...
ipv4.method:                            manual
ipv4.dns:                               8.8.8.8, 8.8.4.4
ipv4.dns-search:
ipv4.addresses:                         { ip = 192.168.1.111/24, gw = 192.168.1.1 }
... connection.id:                          enp0s3
...
ipv4.method:                            manual
ipv4.dns:                               8.8.8.8, 8.8.4.4
ipv4.dns-search:
ipv4.addresses:                         { ip = 192.168.1.111/24, gw = 192.168.1.1 }
...
 
- ネットワーク情報の設定を手動(manual)に切り替えます。
 # 現在の接続情報がDHCP(Auto)になっているなら、手動(manual) へ変更します。 $ nmcli connection show enp0s3|grep ipv4.method ipv4.method:                            auto
# IPアドレス を含む各設定を手動(manual) へ変更します。
$ nmcli c modify enp0s3 ipv4.method manual ipv4.method:                            auto
# IPアドレス を含む各設定を手動(manual) へ変更します。
$ nmcli c modify enp0s3 ipv4.method manual この変更で、 CentOS6まで編集を行っていた /etc/sysconfig/network-scripts/ifcfg- この変更で、 CentOS6まで編集を行っていた /etc/sysconfig/network-scripts/ifcfg-は、以下のような変更が加えられます。 $ cat /etc/sysconfig/network-scripts/ifcfg-enp0s3 ... BOOTPROTO=dhcp BOOTPROTO=none ... PEERDNS=yes PEERROUTES=yes ...
 
- IPアドレス 192.168.1.222 へ変更します。
 # IPアドレス 192.168.1.222 へ変更します。 $ nmcli c modify enp0s3 ipv4.addresses 192.168.1.222/24 この変更で、 CentOS6まで編集を行っていた /etc/sysconfig/network-scripts/ifcfg- この変更で、 CentOS6まで編集を行っていた /etc/sysconfig/network-scripts/ifcfg-は、以下のような変更が加えられます。 $ cat /etc/sysconfig/network-scripts/ifcfg-enp0s3 ... IPADDR=192.168.1.111 IPADDR=192.168.1.222 PREFIX=24 ...
 
- シェルから ネットワークの再起動を実施します。
 編集を終えたら、ネットワークの再起動 ( NetworkManager restart [ or reload ] ) で変更したIPアドレスの情報を反映します。 $ systemctl restart NetworkManager ネットワークの再起動でなく、ネットワークインターフェイスだけの再起動でもOKです。 この場合、デバイス名を指定します。(ここ例では、 enp0s3 になります) ネットワークの再起動でなく、ネットワークインターフェイスだけの再起動でもOKです。 この場合、デバイス名を指定します。(ここ例では、 enp0s3 になります)$ nmcli c down enp0s3; nmcli c up enp0s3  
- 最後に正しく変更されたか確認しておきましょう。 
 # IPアドレスの確認 $ ip addr ...
n: enp0s3: ...
n: enp0s3:mtu 1500 qdisc pfifo_fast state UP qlen 1000 ... inet 192.168.1.222/24 brd 192.168.1.255 scope global enp0s3 ...
ゲートウェイを変更するには
- 変更するデバイスを確認しておきます。
 # デバイスを確認しておきます。 # -- 以下の例では、 enp0s3 になります。 $ nmcli d DEVICE  TYPE      STATE      CONNECTION
enp0s3  ethernet  connected  enp0s3
lo      loopback  unmanaged  --
# enp0s3 の現在の接続情報を出力しておきます。
$ nmcli connection show enp0s3 DEVICE  TYPE      STATE      CONNECTION
enp0s3  ethernet  connected  enp0s3
lo      loopback  unmanaged  --
# enp0s3 の現在の接続情報を出力しておきます。
$ nmcli connection show enp0s3 connection.id:                          enp0s3
...
ipv4.method:                            manual
ipv4.dns:                               8.8.8.8, 8.8.4.4
ipv4.dns-search:
ipv4.addresses:                         { ip = 192.168.1.111/24, gw = 192.168.1.1 }
... connection.id:                          enp0s3
...
ipv4.method:                            manual
ipv4.dns:                               8.8.8.8, 8.8.4.4
ipv4.dns-search:
ipv4.addresses:                         { ip = 192.168.1.111/24, gw = 192.168.1.1 }
...
 
- ネットワーク情報の設定を手動(manual)に切り替えます。
 # 現在の接続情報がDHCP(Auto)になっているなら、手動(manual) へ変更します。 $ nmcli connection show enp0s3|grep ipv4.method ipv4.method:                            auto
# IPアドレス を含む各設定を手動(manual) へ変更します。
$ nmcli c modify enp0s3 ipv4.method manual ipv4.method:                            auto
# IPアドレス を含む各設定を手動(manual) へ変更します。
$ nmcli c modify enp0s3 ipv4.method manual この変更で、 CentOS6まで編集を行っていた /etc/sysconfig/network-scripts/ifcfg- この変更で、 CentOS6まで編集を行っていた /etc/sysconfig/network-scripts/ifcfg-は、以下のような変更が加えられます。 $ cat /etc/sysconfig/network-scripts/ifcfg-enp0s3 ... BOOTPROTO=dhcp BOOTPROTO=none ... PEERDNS=yes PEERROUTES=yes ...
 
- ゲートウェイ IPアドレス 192.168.1.2 へ変更します。
 # ゲートウェイ IPアドレス 192.168.1.2 へ変更します。 $ nmcli c modify enp0s3 ipv4.gateway 192.168.1.2 この変更で、 CentOS6まで編集を行っていた /etc/sysconfig/network-scripts/ifcfg- この変更で、 CentOS6まで編集を行っていた /etc/sysconfig/network-scripts/ifcfg-は、以下のような変更が加えられます。 $ cat /etc/sysconfig/network-scripts/ifcfg-enp0s3 ... GATEWAY=192.168.1.1 GATEWAY=192.168.1.2 ...
 
- シェルから ネットワークの再起動を実施します。
 編集を終えたら、ネットワークの再起動 ( NetworkManager restart [ or reload ] ) で変更したIPアドレスの情報を反映します。 $ systemctl restart NetworkManager ネットワークの再起動でなく、ネットワークインターフェイスだけの再起動でもOKです。 この場合、デバイス名を指定します。(ここ例では、 enp0s3 になります) ネットワークの再起動でなく、ネットワークインターフェイスだけの再起動でもOKです。 この場合、デバイス名を指定します。(ここ例では、 enp0s3 になります)$ nmcli c down enp0s3; nmcli c up enp0s3  
- 最後に正しく変更されたか確認しておきましょう。 
 # デフォルトゲートウェイ IPアドレスの確認 $ ip route default via 192.168.1.2 dev enp0s3  proto static  metric 100
192.168.1.0/24 dev enp0s3  proto kernel  scope link  src 192.168.1.111  metric 100 default via 192.168.1.2 dev enp0s3  proto static  metric 100
192.168.1.0/24 dev enp0s3  proto kernel  scope link  src 192.168.1.111  metric 100
DHCPサーバを使うには
- 変更するデバイスを確認しておきます。
 # デバイスを確認しておきます。 # -- 以下の例では、 enp0s3 になります。 $ nmcli d DEVICE  TYPE      STATE      CONNECTION
enp0s3  ethernet  connected  enp0s3
lo      loopback  unmanaged  --
# enp0s3 の現在の接続情報を出力しておきます。
$ nmcli connection show enp0s3 DEVICE  TYPE      STATE      CONNECTION
enp0s3  ethernet  connected  enp0s3
lo      loopback  unmanaged  --
# enp0s3 の現在の接続情報を出力しておきます。
$ nmcli connection show enp0s3 connection.id:                          enp0s3
...
ipv4.method:                            manual
ipv4.dns:                               8.8.8.8, 8.8.4.4
ipv4.dns-search:
ipv4.addresses:                         { ip = 192.168.1.111/24, gw = 192.168.1.1 }
... connection.id:                          enp0s3
...
ipv4.method:                            manual
ipv4.dns:                               8.8.8.8, 8.8.4.4
ipv4.dns-search:
ipv4.addresses:                         { ip = 192.168.1.111/24, gw = 192.168.1.1 }
...
 
- ネットワーク情報の設定を自動(auto)に切り替えます。
 # 現在の接続情報が手動(manual) になっているなら、自動(auto)へ変更します。 $ nmcli connection show enp0s3|grep ipv4.method ipv4.method:                            manual
# IPアドレス を含む各設定を自動(auto) へ変更します。
$ nmcli c modify enp0s3 ipv4.method auto ipv4.method:                            manual
# IPアドレス を含む各設定を自動(auto) へ変更します。
$ nmcli c modify enp0s3 ipv4.method auto この変更で、 CentOS6まで編集を行っていた /etc/sysconfig/network-scripts/ifcfg- この変更で、 CentOS6まで編集を行っていた /etc/sysconfig/network-scripts/ifcfg-は、以下のような変更が加えられます。 $ cat /etc/sysconfig/network-scripts/ifcfg-enp0s3 ... BOOTPROTO=none BOOTPROTO=dhcp ... PEERDNS=yes PEERROUTES=yes ...もし既に手動(manual) 時に ipアドレス、dnsなどが設定されている場合、かつ、特に共存する必要がない場合は、 削除しておきましょう。$ nmcli c modify enp0s3 -ipv4.addresses 192.168.1.111/24 $ nmcli c modify enp0s3 -ipv4.gateway 192.168.1.1 $ nmcli c modify enp0s3 -ipv4.gateway 192.168.1.1 $ nmcli c modify enp0s3 -ipv4.dns 8.8.8.8 $ nmcli c modify enp0s3 -ipv4.dns 8.8.8.8 $ nmcli c modify enp0s3 -ipv4.dns 8.8.4.4 $ nmcli c modify enp0s3 -ipv4.dns 8.8.4.4  
 
- シェルから ネットワークの再起動を実施します。
 編集を終えたら、ネットワークの再起動 ( NetworkManager restart [ or reload ] ) で変更したIPアドレスの情報を反映します。 $ systemctl restart NetworkManager ネットワークの再起動でなく、ネットワークインターフェイスだけの再起動でもOKです。 この場合、デバイス名を指定します。(ここ例では、 enp0s3 になります) ネットワークの再起動でなく、ネットワークインターフェイスだけの再起動でもOKです。 この場合、デバイス名を指定します。(ここ例では、 enp0s3 になります)$ nmcli c down enp0s3; nmcli c up enp0s3  
- 最後に正しく変更されたか確認しておきましょう。 
 # IPアドレスの確認 $ ip addr ...
n: enp0s3: ...
n: enp0s3:mtu 1500 qdisc pfifo_fast state UP qlen 1000 ... inet 192.168.1.36/24 brd 192.168.1.255 scope global dynamic enp0s3 ...DHCPで取得したIPアドレスの場合、dynamic と出力されると思います。 
ネームサーバーを変更するには
- 変更するデバイスを確認しておきます。
 # デバイスを確認しておきます。 # -- 以下の例では、 enp0s3 になります。 $ nmcli d DEVICE  TYPE      STATE      CONNECTION
enp0s3  ethernet  connected  enp0s3
lo      loopback  unmanaged  --
# enp0s3 の現在の接続情報を出力しておきます。
$ nmcli connection show enp0s3 DEVICE  TYPE      STATE      CONNECTION
enp0s3  ethernet  connected  enp0s3
lo      loopback  unmanaged  --
# enp0s3 の現在の接続情報を出力しておきます。
$ nmcli connection show enp0s3 connection.id:                          enp0s3
...
ipv4.method:                            manual
ipv4.dns:                               8.8.8.8, 8.8.4.4
ipv4.dns-search:
ipv4.addresses:                         { ip = 192.168.1.111/24, gw = 192.168.1.1 }
... connection.id:                          enp0s3
...
ipv4.method:                            manual
ipv4.dns:                               8.8.8.8, 8.8.4.4
ipv4.dns-search:
ipv4.addresses:                         { ip = 192.168.1.111/24, gw = 192.168.1.1 }
...
 
- ネットワーク情報の設定を手動(manual)に切り替えます。
 DHCP(Auto) になっている場合、DNSサーバーは、DHCPサーバーが指定されたDNSサーバーを優先的に使用しようとします。 ここで指定したDNSサーバーを固定的に指定したい場合、手動(manual) へ変更します。 # 現在の接続情報がDHCP(Auto)になっているなら、手動(manual) へ変更します。 $ nmcli connection show enp0s3|grep ipv4.method ipv4.method:                            auto
# IPアドレス を含む各設定を手動(manual) へ変更します。
$ nmcli c modify enp0s3 ipv4.method manual ipv4.method:                            auto
# IPアドレス を含む各設定を手動(manual) へ変更します。
$ nmcli c modify enp0s3 ipv4.method manual この変更で、 CentOS6まで編集を行っていた /etc/sysconfig/network-scripts/ifcfg- この変更で、 CentOS6まで編集を行っていた /etc/sysconfig/network-scripts/ifcfg-は、以下のような変更が加えられます。 $ cat /etc/sysconfig/network-scripts/ifcfg-enp0s3 ... BOOTPROTO=dhcp BOOTPROTO=none ... PEERDNS=yes PEERROUTES=yes ...
 
- DNSサーバー IPアドレス 192.168.1.1, 192.168.1.2 へ変更します。
 # DNSサーバー IPアドレス 192.168.1.1, 192.168.1.2 へ変更します。 $ nmcli c modify enp0s3 ipv4.dns "192.168.1.1 192.168.1.2" DNSに限らず nmcli コマンドにおいて、追加・削除を行う場合、設定する項目名に対して “+”(追加)、 “-“(削除) を先頭に付加することで可能となります。 例えば、上記のDNSの場合、192.168.1.2 を削除・追加しようとする場合、以下のようなコマンドで追加することができます。 DNSに限らず nmcli コマンドにおいて、追加・削除を行う場合、設定する項目名に対して “+”(追加)、 “-“(削除) を先頭に付加することで可能となります。 例えば、上記のDNSの場合、192.168.1.2 を削除・追加しようとする場合、以下のようなコマンドで追加することができます。
 # DNSサーバー IPアドレス 192.168.1.2 を削除します。 $ nmcli c modify enp0s3 -ipv4.dns 192.168.1.2 # DNSサーバー IPアドレス 192.168.1.2 を追加します。
$ nmcli c modify enp0s3 +ipv4.dns 192.168.1.2 # DNSサーバー IPアドレス 192.168.1.2 を追加します。
$ nmcli c modify enp0s3 +ipv4.dns 192.168.1.2 この変更で、 CentOS6まで編集を行っていた /etc/sysconfig/network-scripts/ifcfg- この変更で、 CentOS6まで編集を行っていた /etc/sysconfig/network-scripts/ifcfg-は、以下のような変更が加えられます。 $ cat /etc/sysconfig/network-scripts/ifcfg-enp0s3 ... DNS1=192.168.1.1 DNS2=192.168.1.2 ...
 
- シェルから ネットワークの再起動を実施します。
 編集を終えたら、ネットワークの再起動 ( NetworkManager restart [ or reload ] ) で変更したIPアドレスの情報を反映します。 $ systemctl restart NetworkManager ネットワークの再起動でなく、ネットワークインターフェイスだけの再起動でもOKです。 この場合、デバイス名を指定します。(ここ例では、 enp0s3 になります) ネットワークの再起動でなく、ネットワークインターフェイスだけの再起動でもOKです。 この場合、デバイス名を指定します。(ここ例では、 enp0s3 になります)$ nmcli c down enp0s3; nmcli c up enp0s3  
- 最後に正しく変更されたか確認しておきましょう。 
 # 現在のDNSを確認 $ nslookup > server
Default server: 192.168.1.1
Address: 192.168.1.1#53
Default server: 192.168.1.2
Address: 192.168.1.2#53
> exit
$ > server
Default server: 192.168.1.1
Address: 192.168.1.1#53
Default server: 192.168.1.2
Address: 192.168.1.2#53
> exit
$  
ドメイン名を変更するには
ドメイン名を変更するには、
CentOS7 以前のバージョンでは、/etc/resolv.conf を編集することで、ドメイン省略時に付加するドメイン名を指定していました。
CentOS7 では、先のIPアドレス変更と同じように nmcli で変更することができます。
また、ドメイン名を変更した場合、ホスト名も変更になりますから、以降の ホスト名を変更するには も実施します。
- 変更するデバイスを確認しておきます。
 # デバイスを確認しておきます。 # -- 以下の例では、 enp0s3 になります。 $ nmcli d DEVICE  TYPE      STATE      CONNECTION
enp0s3  ethernet  connected  enp0s3
lo      loopback  unmanaged  --
# enp0s3 の現在の接続情報を出力しておきます。
$ nmcli connection show enp0s3 DEVICE  TYPE      STATE      CONNECTION
enp0s3  ethernet  connected  enp0s3
lo      loopback  unmanaged  --
# enp0s3 の現在の接続情報を出力しておきます。
$ nmcli connection show enp0s3 connection.id:                          enp0s3
...
ipv4.method:                            manual
ipv4.dns:                               8.8.8.8, 8.8.4.4
ipv4.dns-search:
ipv4.addresses:                         { ip = 192.168.1.111/24, gw = 192.168.1.1 }
... connection.id:                          enp0s3
...
ipv4.method:                            manual
ipv4.dns:                               8.8.8.8, 8.8.4.4
ipv4.dns-search:
ipv4.addresses:                         { ip = 192.168.1.111/24, gw = 192.168.1.1 }
...
 
- ドメイン名を指定します。
 # ドメインを指定します。 $ nmcli c modify enp0s3 ipv4.dns-search exmaple.com 他にサブドメインなど追加したい場合は、先の DNSサーバーの追加・削除 時と同じように “+”(追加) を先頭に付加することで可能となります。 他にサブドメインなど追加したい場合は、先の DNSサーバーの追加・削除 時と同じように “+”(追加) を先頭に付加することで可能となります。# サブドメインを追加します。 $ nmcli c modify enp0s3 +ipv4.dns-search sub.exmaple.com この変更で、 CentOS6まで編集を行っていた /etc/sysconfig/network-scripts/ifcfg- この変更で、 CentOS6まで編集を行っていた /etc/sysconfig/network-scripts/ifcfg-は、以下のような変更が加えられます。 $ cat /etc/sysconfig/network-scripts/ifcfg-enp0s3 ... DOMAIN=exmaple.com ...
 
- シェルから ネットワークの再起動を実施します。
 編集を終えたら、ネットワークの再起動 ( NetworkManager restart [ or reload ] ) で変更したIPアドレスの情報を反映します。 $ systemctl restart NetworkManager ネットワークの再起動でなく、ネットワークインターフェイスだけの再起動でもOKです。 この場合、デバイス名を指定します。(ここ例では、 enp0s3 になります) ネットワークの再起動でなく、ネットワークインターフェイスだけの再起動でもOKです。 この場合、デバイス名を指定します。(ここ例では、 enp0s3 になります)$ nmcli c down enp0s3; nmcli c up enp0s3  
- 最後に正しく変更されたか確認しておきましょう。 
 この変更が更新されたか確認するには、/etc/resolv.conf を確認すると良いでしょう。 
 CentOS7 以前のバージョンでは、/etc/resolv.conf を編集していましたが、 CentOS7 では、/etc/resolv.conf を自動更新します。
 # ドメインを確認します。 $ cat /etc/resolv.conf search exmaple.com
nameserver 8.8.8.8
nameserver 8.8.4.4 search exmaple.com
nameserver 8.8.8.8
nameserver 8.8.4.4また、変更内容が正しく反映されたか確認するには、ドメイン名を省略しpingコマンドを発行することでも確認できます。 
 $ ping www PING www.example.com (xxx.xxx.xxx.xxx) 56(84) bytes of data. 64 bytes from www.example.com (xxx.xxx.xxx.xxx): icmp_seq=1 ttl=48 time=15.9 ms 64 bytes from www.example.com (xxx.xxx.xxx.xxx): icmp_seq=2 ttl=48 time=15.8 ms 64 bytes from www.example.com (xxx.xxx.xxx.xxx): icmp_seq=3 ttl=48 time=15.8 ms ...上記のように www と指定しただけで、ドメイン名を補間してくれます。 
 
 ここで注意すべき点は、あくまでドメイン名を補完してくれるための設定であって、名前解決をしてくれるものではないことに注意してください。 あくまで名前解決は、DNSサーバーにて行うので、上記の例では、www.exmaple.com の名前解決が、DNSサーバーの 8.8.8.8 および 8.8.4.4 にて IPアドレスに変換できなければ上記のような結果にならないことに注意してください。
ホスト名を変更するには
- 現在のホスト名を確認しておきます。
 # 現在のホスト名を確認します。 $ nmcli general hostname hoge.example.com hoge.example.com
 
- ホスト名を変更します。
 # ホスト名を変更します。 $ nmcli general hostname taro.example.com  
 
- ホスト名を再確認します。
 # ホスト名を再確認します。 $ nmcli general hostname taro.example.com
$ hostname taro.example.com
$ hostname taro.example.com
$ hostnamectl taro.example.com
$ hostnamectl Static hostname: taro.example.com
   ...
$ cat /etc/hostname Static hostname: taro.example.com
   ...
$ cat /etc/hostname taro.example.com taro.example.com
 
- 名前解決のために /etc/hosts を編集しておきます。
 # ホスト名を追記しておきます。 $ vi /etc/hosts ...
127.0.0.1   taro.example.com taro ...
127.0.0.1   taro.example.com taro
 
最後に、 必ず、再起動しても設定されたままとなっていることも確認しておきましょう。
全く 今までの各設定ファイルが使えないわけではありませんが、今まで通りというわけでもありません。 そのため、ここでは、nmcli コマンド イメージ と 既存ファイルの設定イメージを合わせて記載することで、できるだけ旧来からのCentOSユーザにもわかりやすく解説してみました。
少しでも理解のヒントになればうれしく思います。
このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない、検索ができないことがあります。
 
 )
) 


















コメントを投稿 :