CentOS 7 では、ネットワーク設定には NetworkManager を使用することが推奨されていますが、従来の ifcfg 設定ファイルを用いた設定も引き続き可能です。
NetworkManager は元々デスクトップ向けのネットワーク設定ツールとして開発されており、サーバー用途にはあまり適していないとの印象がありました。それがなぜ CentOS 7 で採用されたのかというと、CLI での設定の一貫性や、firewalld などとの連携のメリットを見い出したからではないでしょうか。
確かに、CentOS 7 の NetworkManager は多くのネットワーク設定に対応していますが、すべての要件を満たすわけではありません。現時点で特に気になる制限は次のとおりです。
- PPPoE マルチセッションのサポートが不十分。
- ブリッジインターフェイスを作成しても、NetworkManager で作成したものは KVM の仮想マシンマネージャーから制御できない。
これらは一般的なサーバー用途には影響が少ないかもしれませんが、ネットワーク管理全般を考えると、このような制限があるために NetworkManager への移行をためらう声もあります。私自身は、KVM ホストや複数のインターフェイスを持つルーターとして使用しているマシンでは、NetworkManager を無効にしています。
NetworkManager の設計思想やコンセプトは好ましい部分もあります。最終的には Cisco や VyOS のような CLI ベースの設定方法に近づけることが望ましいと思います。
CentOS 7 NetworkManager は発展途上か?