6 系と変わった点、変わってない点を整理するために調査した。主に参照した情報ソースは「RHEL7ドキュメント」「標準テキスト CentOS7」の2つ。

NetworkManger とは

ドキュメント

概要

  • RHEL6 ではネットワークスクリプト(/etc/init.d/network)によりネットワーク設定が行われていた
    • ここが /etc/sysconfig/network-scripts/etc/sysconfig/static-routes などを読んでいた
  • RHEL7 より NetworkManager を使ってネットワーク設定することが推奨されている
  • ただしそのままスクリプトを継続して使用することもできる
  • NetworkManager は現在、RHEL 7 でデフォルトで使用されている
  • NetworkManager を無効すると、ネットワークインターフェイス管理には代わりに initscripts が使用される
  • NetworkManager の使用が増えてきているため、今後のメジャーリリースで Network Initscript が廃止になる可能性がある
  • RHEL7 では NetworkManager が最初に起動し、/etc/init.d/network が NetworkManager をチェックして NetworkManager 接続の改ざんを防ぐ
  • NetworkManager は sysconfig 設定ファイルを使用するプライマリーアプリケーションとされており、/etc/init.d/network はフォールバックとなるセカンダリーとされている
  • RHEL7 でのネットワーク設定の方法には具体的には以下の4つの方法がある
    • nmcli
    • nmtui
    • GNOME コントロールセンター
    • ファイルを直接編集する

NetworkManager の制御

ドキュメント

概要

  • NetworkMangersystemd によって管理されていて、デフォルトでは起動時に立ち上がる
  • 制御は systemctl コマンドを利用して以下のように行う

  • NetworkManager がデーモンで起動していることは次のように確認できる

ネットワーク設定と設定ファイル

ネットワーク設定ファイルの位置はかわらずだが、ファイルを直接編集せず nmcli, nmtui などを利用することが推奨されている。サーバー構築時に主に設定する内容と対応する設定ファイルは以下のとおり。

  • ホスト名とIPアドレスの対応関係: /etc/hosts
  • 問い合わせ先DNSサーバ設定: /etc/resolve.conf
    • nmcli で DNS サーバーを指定すると自動的に更新される
  • ネットワーク名とネットワークアドレスの対応関係: /etc/networks
  • インターフェースの設定: /etc/syscnofig/network-scripts/ifcfg-*
    • NIC の命名が eth0, eth1 のような形ではなく、udev によりデバイスに応じて命名されている
  • インターフェースごとのルーティング設定: /etc/sysconfig/network-scripts/route-*
    • ip コマンドを使って設定した静的ルートは、システムが終了したり再起動すると失われる

重要な設定を一部抜粋して確認する

/etc/sysconfig/network-scripts/ifcfg-*

ドキュメント

概要

  • ip コマンドを使ったネットワークインターフェースの設定は、システムが終了したり再起動すると失われる
  • システム再起動後も維持されるようにネットワークインターフェースを設定するには、/etc/sysconfig/network-scripts/ ディレクトリー内のインターフェースごとの設定ファイルに格納する必要がある
  • ファイル名は、ifcfg-
  • 設定項目はざっくりと以下のような具合
    • TYPE(Ehternet, Wireless, Bridge): 種類
    • BOOTPROTO(none, bootp, dhcp): 起動方法
    • DEFROUTE(yes, no): デフォルトルートとして使用されるか
    • IPV4_FAILURE_FATAL(yes, no): IPV4 で初期化に失敗したときにインターフェースを起動失敗扱いにするか
    • NAME: インターフェースの名前
    • UUID: そのまま
    • DEVICE: 物理デバイス名
    • ONBOOT(yes, no): 起動時にインターフェースを起動するか
    • IPADDR: IPアドレス
    • PREFIX: ネットマスク

  • ネットワークインターフェースの設定には以下の方法がある
    • nmcli コマンドを実行する
    • nmcli エディターを利用する
    • nmtui を利用する

コネクション名が扱いづらい形なので修正したほうが作業がしやすい

設定はおおむね以下のような形

/etc/sysconfig/network-scripts/route-*

ドキュメント

概要

  • ip コマンドを使って設定した静的ルートは、システムが終了したり再起動すると失われる
  • システム再起動後も維持される静的ルートを設定するには、/etc/sysconfig/network-scripts/ ディレクトリー内のインターフェースごとの設定ファイルに格納する必要がある
  • ファイル名は、route-
  • このファイルへの記述は次の2つの形式が利用できる
    • IP コマンド引数形式を使用した静的ルート
    • ネットワーク/ネットマスクディレクティブの形式

  • 静的ルートを設定するには、以下の方法がある
    • nmcli コマンドを実行する
    • nmcli エディターを利用する

非推奨: /etc/sysconfig/network

個別のデバイス設定を用いることを推奨、グローバルのnetworkファイルは非推奨になった。

Red Hat Enterprise Linux ではグローバルの /etc/sysconfig/network ファイルの使用は非推奨となっており、ゲートウェイの指定はインターフェースごとの設定ファイルでのみ行なってください。
https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/networking_guide/sec-using_the_command_line_interface

nmcli コマンドについて

公式ドキュメント: https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/networking_guide/sec-using_the_networkmanager_command_line_tool_nmcli

  • nmcli は各種ネットワーク設定をコマンドラインから実行できるツール
  • 各パラメータは全方一致で省略が可能

networking

ネットワークへの接続性を確認/制御できる

  • on, off, connectivity の三種類

connectivityの状態は、none(切断), portal(認証前), limited(インターネットに出れない), full(インターネットに出れる), unknown(不明) の5種類

general

  • NetworkManager の状態や権限などを表示できる
  • ホスト名, ログレベル, ドメインを取得できる

ip コマンドについて

  • RHEL7 系では route, ifconfig コマンド(net-tools)に代わり、ip コマンド(iproute2)の利用が推奨されている
  • ip コマンドはルーティング、デバイスなどを表示・設定できるコマンド

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です