ネットワークの設定方法~CentOS7編~
CentOS7系から、ネットワーク管理コマンドの推奨がだいぶ変わりました。
CentOS7系のネットワークに関する質問がよく来ていたので、調べて実際に検証していた内容や設定コマンドをメモしておきます。
- CentOS7系からはNetworkManagerを推奨
- NetworkManagerの制御コマンド
- CentOS7系のネットワーク設定方法
- 「nmcli」コマンドの主なネットワーク設定コマンド
- 情報収集と検証が必要
CentOS7系からはNetworkManagerを推奨
CentOS6系までは、ネットワークスクリプト「/etc/init.d/network」が「/etc/sysconfig/network-scripts」や「/etc/sysconfig/static-routes」を読み込んでネットワーク設定を行っていましたが、CentOS7系からは「NetworkManager」でのネットワーク管理が推奨されています。
そのため、「/etc/sysconfig/network-scripts」配下のインタフェースのファイルを直接編集することも非推奨となっており、「nmcli」コマンドなどで設定します。
※CentOS7系の「NetworkManager」は、ネットワーク関連の操作がパワーアップしたそうです!
CentOS7系の場合「NetworkManager」が起動していれば問題ありませんが環境によって、「NetworkManager」を停止しないと起動しないことがあるようです。
※どんな環境なのか整理しきれませんでした。。
「NetworkManager」を無効にすると、ネットワーク管理には代わりに従来のネットワークスクリプトが使用されるので、起動できない場合は、「NetworkManager」を停止して「network」から起動してみましょう。
※非推奨なようなので、個人責任で。。
NetworkManagerの制御コマンド
「NetworkManager」の制御は systemctl でできます。
# systemctl start NetworkManager
# systemctl stop NetworkManager
# systemctl restart NetworkManager
# systemctl status NetworkManager
CentOS7系のネットワーク設定方法
CentOS7系のネットワーク設定方法は、以下の4つがあります。
・nmtuiで設定
・nmcliで設定
・デスクトップ環境で設定(GNOME Desktop のインストールが必要です。)
・ファイルを直接編集する ※非推奨
ちなみにファイルの場所は変わっていないようです。
ホスト名とIPアドレスの対応⇒「/etc/hosts」
問い合わせるDNSサーバの設定⇒「/etc/resolve.conf」
ネットワーク名とネットワークアドレスの対応⇒「/etc/networks」
インタフェースの設定ファイル⇒「/etc/syscnofig/network-scripts/ifcfg-*」
「nmcli」コマンドの主なネットワーク設定コマンド
■デバイスの一覧を取得
# nmcli device
※device は d と略しても可
■インタフェースを無効化
# nmcli c down ens33
■インタフェースを有効化
# nmcli c up ens33
■IPアドレス・サブネットマスクを変更
# nmcli c modify ens33 ipv4.addresses XXX.XXX.XXX.XXX/XX
※"ens33"はデバイス名を入力
■デフォルトゲートウェイの設定
# nmcli c modify ens33 ipv4.gateway XXX.XXX.XXX.1
※”X”にIPアドレスを指定
■IPアドレス/サブネットマスク/デフォルトゲートウェイを同時に指定
# nmcli c mod ens33 ipv4.method manual ipv4.addresses XXX.XXX.XXX.XXX/XX ipv4.gateway XXX.XXX.XXX.1
■IPアドレスを固定割り当てに設定
# nmcli c modify ens33 ipv4.method manual
■ネットワーク再起動
# systemctl restart NetworkManager
# systemctl restart network
■インタフェースの設定確認
# nmcli d show ens33
■スタティックルートを追加
# nmcli connection modify ens33 +ipv4.routes "<IPアドレス/サブネットマスク> <GW>"
※「"」は不要
情報収集と検証が必要
CentOS7系からコマンドラインや推奨される使い方がガラっと変わっているので、引き続き情報収集や検証が必要ですね。
現在所有している仮想マシンは実際に利用していないので、利用する際に設定するときは改めて記事に残せたらと思います。