CentOS6までは、ネットワーク設定は直接設定ファイルを編集していました。CentOS7以降は、NetworkManagerというプログラムがデフォルトで起動していて、NetworkManagerに指示を出すことで、NetworkManagerが設定変更及び設定ファイルの編集を行ってくれるようになりました。
この記事では、とりあえず手動でIPアドレスを設定する方法を説明したいと思います。
ネットワークサービスの確認
まずは、そもそも外部と接続するためのネットワークサービスが有効になっているかを確認しましょう。
確認するコマンドは、「systemctl status network.service 」です。
activeとなっていればOKです。inactiveの場合は、「 systemctl start network.service 」で起動します。
nmcliコマンド
実際にIPアドレスの設定を行っていきます。CentOS7ではNetworkManagerに指示を出す方法として、nmcliコマンドとnmtuiコマンドのどちらかを使用します。
nmcli…CLI(コマンドライン)で操作します。
nmtui…GUIチックに操作します。
この記事では、nmcliで設定を行っていきます。
nmcliコマンドは、 コマンドラインで設定を行っていく方法です。
CentOS7では、表の様に、デバイスとコネクションという要素を組み合わせてネットワークの設定を行っていきます。
構文:nmcli [オプション] オブジェクト コマンド
デバイスは物理NICの事です。イーサネット(eth0)などの物理インターフェースことです。
コネクションは、デバイスに設定したいネットワーク設定の事です。
例えば、ネットワークAに接続するIPアドレスやDNS、デフォゲなどのネットワーク設定を、コネクション名「設定A」として作成し、ネットワークBへ接続するネットワーク設定をコネクション名「設定B」として作成します。
もし頻繁にネットワークを切り替える必要がある場合、CentOS7では、eth0に設定Aを紐づけたり、または紐づけを解除して設定Bを紐づける、という方法によって、簡易にネットワーク設定を切り替えることが出来ます。
これは使い慣れると、とても便利な方法です。
ネットワーク設定の確認
それでは、「nmcli device」と入力してみましょう。ens33というデバイスがあります。eth0などの名称は、CentOS7では、ens○○と置き換えられました。
「 nmcli device show ens33」と入力すると、デバイスの詳細が表示されます。
次に「nmcli connection」と入力してみましょう。
コネクション名:NAME「ens33」が、デバイス名:DEVICE「ens33」に紐づけされていることが分かります。
「nmcli connection show ens33」と入力すると、コネクション名「ens33」の詳細が表示されます。
下図では、grepでIPv4アドレスに関する項目だけ表示しています。
現在のIPアドレスが、192.168.85.134/24で、DHCPで設定されている(ipv4.methodがauto)ことが分かります。
IPアドレスの手動設定
それでは実際にIPアドレスを設定して見ましょう。
今回行う設定コマンドは以下です。
変更した設定はコネクションやNetworkManagerの設定を再読込しないと反映されないので、一旦コネクションをダウンさせます。
また、IPアドレスは192.168.85.1/24にしています。
nmcli connection down ens33
nmcli connection modify ens33 ipv4.address 192.168.85.1/24
nmcli connection up ens33
設定を行ったら、再度 「nmcli connection show ens33」 で設定を確認しましょう。IPアドレス 192.168.85.1が設定されていることが分かります。
しかし、なぜかIP4.ADDRESS[1]の他に、 IP4.ADDRESS[2]の192.168.85.134も存在しています。
これは、DHCPの設定が有効なままなので、2つ目のIPアドレスがDHCPで割当てられてしまっているためです。
長くなってきましたので、DHCPの無効化や設定ファイルの確認については、次の記事で行いたいと思います。