【Linux】ネットワーク設定はNetworkManagerが基本!

今回は、NetworkManagerによるLinuxのネットワークの設定方法を説明します。

Linuxでネットワークを設定するのって、いろんなファイルを編集して、いろんなコマンドを駆使して面倒だよね。
新しい設定方法があるのは知ってるけど、今までの設定方法で十分だよね。

といった考えを持っているあなたが「NetworkManagerがいいね!」と思える記事にしました。

今回は、Ubuntuから派生しているLinux Mint Cinnamonエディション(18.3)での操作を説明しますが、NetworkManagerがインストールされているLinuxディストリビューションであれば、同じ操作でいけます。

目次

2018年のネットワーク設定

2018年6月現在でサポートされているメジャーなLinuxディストリビューションなら、CentOS 6以外は、すべてNetworkManager(nmcliコマンド)が使えます。そのような状況ですから、今はNetworkManagerを使ってネットワークを設定することが一般的になっています。もう過去の設定方法に戻ることは許されないでしょう。

NetworkManagerが使えないCentOS 6も、yum install NetworkManagerでインストールできますので、ぜひNetworkManagerをインストールして、操作してみてください!

NIC(Network Interface Card)の無効化と有効化

NetworkManagerを使用している場合は、以下のいずれかの方法で、NICの無効化と有効化を実現します。

  • NetworkManagerが管理する「デバイス(device)」と「接続プロファイル(connection)」の関連付けを切ったり、つなげたりする
  • 「接続プロファイル(connection)」をダウンさせたり、アップさせたりする


まずは、NICの状態および名称を確認するために以下のコマンドを入力しましょう。

nmcli device

手元では以下のように表示されました。

デバイス  タイプ    状態      接続
enp0s3    ethernet  接続済み  有線接続 1
lo        loopback  管理無し  --

この表示は、「enp0s3」というデバイス(device)と、「有線接続 1」という接続(connection)が関連付けられていることを示しています。そして、NICを無効にするには、以下のいずれかのコマンドを入力します。

1行目が関連付けを切るコマンドで、2行目が接続プロファイルをダウンさせるコマンドです。

nmcli device disconnect enp0s3
nmcli connect down '有線接続 1'

どちらかのコマンドを入力したら、nmcli deviceコマンドで状態を確認しましょう。

以下のように「切断済み」と表示されましたか?

デバイス  タイプ    状態      接続
enp0s3    ethernet  切断済み  --
lo        loopback  管理無し  --

NICを有効にするには、以下のいずれかのコマンドを入力します。

1行目が関連付けを復活させるコマンドで、2行目が接続プロファイルをアップさせるコマンドです。

nmcli device connect enp0s3
nmcli connection up '有線接続 1'

ホスト名を設定する

次はホスト名を設定するコマンドです。まずは、以下のコマンドを入力して、ホスト名を確認しましょう。

nmcli general hostname

以下のように表示されました。

yazaki-VirtualBox

ホスト名を「localhost.example.com」に変更するには、以下のコマンドを入力します。

nmcli general hostname localhost.example.com

もう一度、nmcli general hostnameコマンドを入力すると、以下のように変更されたことが確認できます。

localhost.example.com

NIC(Network Interface Card)を設定する

以下のような場合は、関連付けられている接続プロファイル(connection)の設定を変更します。

  • NICのIPアドレスを固定にする
  • ネームサーバー(DNSサーバー)のIPアドレスを変更する
  • その他デバイス(device)の設定を変更する


設定方法については、以下の記事で説明していますので、あわせてご覧ください。

ホスト名だけを指定した場合に、補うドメイン名を設定する

「ping www」と入力したときに、ドメイン名「example.com」を補って「ping www.example.com」と同じ意味でコマンドを実行したい場合の設定です。

以下のコマンドを1行ずつ順番に入力します。

nmcli connect modify '有線接続 1' ipv4.dns-search example.com
nmcli connect down '有線接続 1'
nmcli connect up '有線接続 1'

まとめ

今回は、NetworkManagerを使って、ネットワーク設定を変更する方法を説明しました。

以下のようなファイルをあれこれ修正していたころから考えると、コマンドだけで設定できますので、シェルスクリプトにまとめやすくなったと思います。

  • /etc/sysconfig/networkファイル
  • /etc/sysconfig/network-scripts/ifcfg-eth0ファイル
  • /etc/resolv.confファイル


今はまだGoogleで「Linux ネットワーク 設定」で検索しても、/etc/sysconfig/networkファイルなどを修正する方法がたくさん出てきてしまいます。

早く、NetworkManagerによる設定方法が先に出てくるようになるといいですね。それでは!

この記事を書いた人

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。侍テック編集部では技術系コンテンツを中心に有用な情報を発信していきます。

目次