CentOS 6 の ifcfg ファイルに出てくる BOOTPROTO について確認します。BOOTPROTO は、そのインターフェイスが DHCP で設定されるのか、固定設定として扱われるのかを読むための重要な項目です。
BOOTPROTO の意味
BOOTPROTO は、ネットワーク起動時にアドレス情報をどのように取得するかを指定します。CentOS 6 の ifcfg では、主に dhcp、none、static のような値が見られます。
dhcp: DHCP で IP アドレスや DNS を取得するnone: DHCP を使わず、設定ファイルに書いた値を使うstatic: 固定設定を示す値として使われることがある
古い環境では none と static が混在していることがあります。実務上は、他の項目と合わせて固定 IP として扱われているかを確認します。
DHCP の例
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=dhcpDHCP の場合、IP アドレス、ゲートウェイ、DNS は DHCP サーバーから配布されます。検証環境では便利ですが、サーバー用途では意図しないアドレス変更が問題になることがあります。
固定 IP の例
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.1.10
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.10固定 IP として使う場合は、IPADDR、NETMASK、GATEWAY、DNS 設定が揃っているかを確認します。BOOTPROTO だけを見て判断せず、設定全体で読みます。
確認コマンド
grep -R "^BOOTPROTO" /etc/sysconfig/network-scripts/ifcfg-*
cat /etc/sysconfig/network-scripts/ifcfg-eth0
ip addr show eth0
ip route show
cat /etc/resolv.conf設定ファイルと実際の状態が一致しているかを確認します。古いサーバーでは、手動で ifconfig や ip によって一時的に変更され、設定ファイルと実態がずれていることがあります。
再起動後を意識する
ネットワーク設定で重要なのは、現在通信できることだけではありません。サーバー再起動後にも同じ IP、同じ経路、同じ DNS で起動するかが重要です。
ONBOOT=yesがあるか- 固定 IP の項目が不足していないか
- DHCP に依存してよいサーバーか
- DNS が DHCP 由来なのか固定なのか
BOOTPROTO と一緒に見る項目
BOOTPROTO は重要ですが、それだけでネットワーク設定が決まるわけではありません。CentOS 6 の ifcfg では、ONBOOT、NM_CONTROLLED、IP アドレス、DNS、GATEWAY を合わせて確認します。
ONBOOT=yes: OS 起動時にインターフェイスを有効化するNM_CONTROLLED=no: NetworkManager に管理させない意図を示すことがあるIPADDR/NETMASK: 固定 IP の実体GATEWAY: デフォルトルートの設定DNS1/DNS2: DNS 参照先
たとえば BOOTPROTO=none でも IPADDR がなければ固定 IP としては成立しません。逆に BOOTPROTO=dhcp の場合、DNS や GATEWAY が DHCP から上書きされることがあります。
grep -E "^(DEVICE|ONBOOT|BOOTPROTO|NM_CONTROLLED|IPADDR|NETMASK|GATEWAY|DNS)" /etc/sysconfig/network-scripts/ifcfg-eth0
service network restart
ip addr show eth0
ip route show
cat /etc/resolv.conf再起動後に変わる問題
ネットワーク設定で多いのは、手動で一時的に直した状態と、ifcfg に保存された状態がずれているケースです。いま通信できることと、再起動後も通信できることは別です。
ip addr addなどで一時設定していないか- ifcfg に保存されているか
- NetworkManager が上書きしていないか
- DHCP で想定外の DNS / GW を受け取っていないか
まとめ
BOOTPROTO は CentOS 6 の ifcfg を読む上で基本になる項目です。ただし、値だけで判断するのではなく、ONBOOT、IP アドレス、ルート、DNS、実際の稼働状態を合わせて確認する必要があります。
関連する記事
- CentOS 6 サーバー管理ガイド
CentOS 6 系の記事を役割別に確認できるハブページです。 - CentOS 6 ネットワーク設定
ifcfg と network サービス全体を確認します。 - CentOS 6 ISC DHCP サーバー構築
DHCP サーバー側の配布設定を確認します。
参考書籍
CentOS 6 のような古い Linux サーバー記事を読み直す時にも、コマンドライン操作の考え方を確認しやすい参考書籍です。
Amazon で見る
