10社での勤務経験を活かして有意義な生活を送るエンジニアOLブログ

転職回数は9回!働いた会社は10社の経験を活かして自分らしく楽しく生活するエンジニアOLのブログです。趣味の野球観戦やファッションを始め、転職の話、エンジニアとして一人前になるための成長過程を記録していきます。

ネットワークの設定方法~CentOS7編~

CentOS7系から、ネットワーク管理コマンドの推奨がだいぶ変わりました。

CentOS7系のネットワークに関する質問がよく来ていたので、調べて実際に検証していた内容や設定コマンドをメモしておきます。

 

 

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

f:id:ramina5112:20190525023214p:plain

IPアドレスサブネットマスクを変更

# nmcli c modify ens33 ipv4.addresses XXX.XXX.XXX.XXX/XX

※"X"にIPアドレスサブネットマスクを指定

※"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系からコマンドラインや推奨される使い方がガラっと変わっているので、引き続き情報収集や検証が必要ですね。

現在所有している仮想マシンは実際に利用していないので、利用する際に設定するときは改めて記事に残せたらと思います。