本ページでは、DHCP利用によるCentOSのIPアドレスを設定する方法を説明します。
IPアドレスの設定方法は、大きく分けてDHCPによる動的IPアドレス取得と、固定IPアドレス指定の2種類があります。
特にOSのIPアドレスを指定する必要がないときは、DHCPを利用した動的IPアドレス取得を使用します。利用シーンとしては、DHCPサーバの役割を兼ねているブロードバンドルータが設置されている自宅LAN環境でCentOSをクライアントPCとして使用したい場合などです。
Connectionの設定
まず、現在のConnectionの設定を確認します。nmcli
コマンドに-f <フィールド名>
オプションを付けることで、ipv4に関するパラメータのみ確認可能です。
設定前の状態例として、設定対象のenp0s3
は固定IPやデフォルトゲートウェイ、DNSサーバの情報が設定されています。
# nmcli -f ipv4 con show enp0s3
ipv4.method: manual
ipv4.dns: 8.8.8.8 #DNSサーバ
ipv4.dns-search:
ipv4.addresses: 192.168.1.1/24 #IPアドレス
ipv4.gateway: 192.168.1.254 #デフォルトゲートウェイ
ipv4.routes:
ipv4.route-metric: -1
ipv4.ignore-auto-routes: no
ipv4.ignore-auto-dns: no
ipv4.dhcp-client-id: --
ipv4.dhcp-send-hostname: yes
ipv4.dhcp-hostname: --
ipv4.never-default: no
ipv4.may-fail: yes
以下コマンドを実行し、enp0s3
でIPアドレスを自動取得できるようにします。なお、事前に固定IPアドレス、デフォルトゲートウェイ、DNSサーバが設定されている場合は、空文字(“”)を入れてパラメータを削除する必要があるので注意してください。
# nmcli con mod enp0s3 ipv4.method auto
# nmcli con mod enp0s3 ipv4.addresses ""
# nmcli con mod enp0s3 ipv4.gateway ""
# nmcli con mod enp0s3 ipv4.dns ""
# nmcli con down enp0s3 ; nmcli con up enp0s3
設定を変更したところで、再度Connectionの状態を確認してみます。設定前の状態と異なり、ipv4.method
がautoへ変更され、固定値が設定されていたipv4.addresses
、ipv4.gateway
、ipv4.dns
が空になっていることがわかります。
# nmcli -f ipv4 con show enp0s3
ipv4.method: auto
ipv4.dns:
ipv4.dns-search:
ipv4.addresses:
ipv4.gateway: --
ipv4.routes:
ipv4.route-metric: -1
ipv4.ignore-auto-routes: no
ipv4.ignore-auto-dns: no
ipv4.dhcp-client-id: --
ipv4.dhcp-send-hostname: yes
ipv4.dhcp-hostname: --
ipv4.never-default: no
ipv4.may-fail: yes
IPアドレスの確認
現在使用されているIPアドレスを確認するには、ip addr
コマンドを使用します。以下の表示例では、3つのインターフェース(Device)が表示されています。今回DHCPによる動的IPアドレス設定を指定したenp0s3
に対して、inet
の項目で10.0.2.15/24
がIPアドレスとして割り当てられていることがわかります。
# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:7d:ce:7d brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic enp0s3
valid_lft 86368sec preferred_lft 86368sec
inet6 fe80::a00:27ff:fe7d:ce7d/64 scope link
valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:17:a3:9c brd ff:ff:ff:ff:ff:ff
inet 192.168.56.102/24 brd 192.168.56.255 scope global dynamic enp0s8
valid_lft 929sec preferred_lft 929sec
inet6 fe80::a00:27ff:fe17:a39c/64 scope link
valid_lft forever preferred_lft forever
個別のインターフェース情報のみ表示したい場合は、ip addr show <Device名>
を実行することで表示する情報の絞込みが可能です。
なお、ip
コマンドもnmcli
コマンドと同様にオプション文字の省略が可能です。ip addr
の場合はip a
でも同じ実行結果を得られるので覚えておくと良いでしょう。