このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
【Linux】デフォルトゲートウェイの設定:ipコマンド
デフォルトゲートウェイの概要
ネットワーク管理において、デフォルトゲートウェイの設定は非常に重要です。デフォルトゲートウェイは、ネットワーク上のデバイスが他のネットワークと通信する際に使用するルートを指します。ここでは、ip
コマンドを使用してデフォルトゲートウェイを設定する方法を解説します。また、一時的な設定と恒久的な設定の違いについても解説します。
デフォルトゲートウェイの設定
デフォルトゲートウェイを設定するには、ip
コマンドやroute
コマンドを使用しますが、これらのコマンドで行った設定は再起動時にリセットされます。恒久的に設定を維持するには、設定ファイルを編集するか、nmcli
コマンドを使用する必要があります。
恒久的な設定方法
Red Hat系のLinuxディストリビューション(CentOSなど)では、/etc/sysconfig/network-scripts/ifcfg-[NIC名] ファイルを編集して、デフォルトゲートウェイを恒久的に設定することができます。
例: CentOS 7 の /etc/sysconfig/network-scripts/ifcfg-enp0s3
以下の設定ファイルにデフォルトゲートウェイの設定を追加します。
$ cat /etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp0s3"
UUID="24371982-477d-406f-a95b-1ffa4258bb68"
DEVICE="enp0s3"
ONBOOT="yes"
このファイルに
GATEWAY="デフォルトゲートウェイのIPアドレス"
という行を追加することで、再起動後も設定が維持されます。
ipコマンドによるデフォルトゲートウェイの設定
ip
コマンドを使用してデフォルトゲートウェイを一時的に設定する方法を説明します。ip route
コマンドを使用することで、ルーティングテーブルを操作します。
主なコマンドとその説明
コマンド | 説明 |
---|---|
ip route show | 現在のルーティングテーブルを表示します。 |
ip route add default via IPアドレス | 指定したIPアドレスを持つデフォルトゲートウェイをルーティングテーブルに追加します。 |
ip route delete default | 現在設定されているデフォルトゲートウェイを削除します。 |
コマンドの使用例と解説
1.rootユーザーに切り替える。
・「su -
」コマンドを実行します。
su -
コマンドを使って、rootユーザーに切り替えます。これにより、システム管理者権限でコマンドを実行することができます。
user01@ubuntu-vm:~$ su -
パスワード:
root@ubuntu-vm:~#
2.現在のルーティングテーブルを表示する。
・「ip route show
」コマンドを実行します。
現在のルーティングテーブルの内容を確認します。以下のように、設定されているルートが表示されます。
root@ubuntu-vm:~# ip route show
10.0.2.0/24 dev enp0s3 proto kernel scope link src 10.0.2.100 metric 100
169.254.0.0/16 dev enp0s3 scope link metric 1000
出力結果の例 | 説明 |
---|---|
10.0.2.0/24 dev enp0s3 proto kernel scope link | 10.0.2.0/24 のネットワークへのルートがインターフェース enp0s3 に設定されていることを示します。 |
169.254.0.0/16 dev enp0s3 scope link | これはリンクローカルアドレスであり、通常は特定のネットワークが見つからない場合に使用されます。 |
3.デフォルトゲートウェイを設定する。
・「ip route add default via 10.0.2.1
」コマンドを実行します。
このコマンドで、10.0.2.1
をデフォルトゲートウェイとして設定します。これにより、他のネットワークに対する通信がこのゲートウェイを通じて行われるようになります。
root@ubuntu-vm:~# ip route add default via 10.0.2.1
4.ルーティングテーブルを確認する。
・「ip route show
」コマンドを実行します。
再度、ルーティングテーブルを確認し、デフォルトゲートウェイが正しく設定されていることを確認します。
root@ubuntu-vm:~# ip route show
default via 10.0.2.1 dev enp0s3
10.0.2.0/24 dev enp0s3 proto kernel scope link src 10.0.2.100 metric 100
169.254.0.0/16 dev enp0s3 scope link metric 1000
5.デフォルトゲートウェイを削除する。
・「ip route delete default
」コマンドを実行します。
設定されているデフォルトゲートウェイを削除します。これにより、デフォルトルートが無効化されます。
root@ubuntu-vm:~# ip route delete default
6.ルーティングテーブルを確認する。
・「ip route show
」コマンドを実行します。
再度、ルーティングテーブルを確認し、デフォルトゲートウェイが削除されたことを確認します。
root@ubuntu-vm:~# ip route show
10.0.2.0/24 dev enp0s3 proto kernel scope link src 10.0.2.100 metric 100
169.254.0.0/16 dev enp0s3 scope link metric 1000
まとめ
ip
コマンドを使用したデフォルトゲートウェイの設定は、シンプルですが、設定が再起動後に保持されないため、恒久的な設定が必要な場合は設定ファイルを編集するか、nmcli
コマンドで設定する必要があります。システム管理者は、恒久的なネットワーク設定を行う際に、この点に注意する必要があります。