手当たり次第に書くんだ

飽きっぽいのは本能

CentOS 6 ネットワーク設定

Overview

CentOS 6 における各種ネットワークの設定例です。

/etc/sysconfig/network

/etc/sysconfig/network は、ネットワーク設定の中心となる設定ファイルです。

[root@centos-6 ~]# cp /etc/sysconfig/network /etc/sysconfig/network.orig 
[root@centos-6 ~]# vim /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
NOZEROCONF=yes
VLAN=yes
HOSTNAME=centos-6
GATEWAY=10.0.0.1
  • NETWORKING=yes: ネットワークの設定が有効であることを示しています。この設定が yes になっている場合、システム起動時にネットワークサービスが起動します。
  • NETWORKING_IPV6=no: IPv6 ネットワーキングを無効化しています。
  • NOZEROCONF=yes: Zeroconf (Zero Configuration Networking) を無効にする設定です。Zeroconf は、特定のネットワーク設定なしにネットワークデバイスを自動的に設定する技術です。yes と設定されているため、Zeroconf は無効になっています。具体的な効果としては、ルーティングテーブルに自動的に設定される 169.254.0.0 を無効化することができます。
  • VLAN=yes: VLAN のサポートが有効にしています。VLAN を使用する場合は必須ですが、使用しない場合は、no を指定するか、設定を削除します。
  • HOSTNAME=centos-6: ホスト名の設定です。
  • GATEWAY=10.0.0.1: デフォルトゲートウェイの設定です。DHCP を使用するホストは設定不要です。

IPv6 モジュール無効化

IPv6 を完全に無効化するには以下の設定が必要です。

[root@centos-6 ~]# echo "options ipv6 disable=1" > /etc/modprobe.d/disable-ipv6.conf
[root@centos-6 ~]# reboot

IP アドレス設定

固定 IP アドレス

固定 IP アドレスの設定は以下のとおりです。

[root@centos-6 ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.orig
[root@centos-6 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
IPADDR=10.0.0.10
NETMASK=255.255.255.0
ARPCHECK=no
  • DEVICE=eth0: ネットワークインターフェースのデバイス名を eth0 としています。このデバイス名は udev で制御されており、具体的には MAC アドレスとデバイス名が紐づけられています。
  • ONBOOT=yes: システムの起動時にこのネットワークインターフェースを自動的にアクティブにする設定です。yes に設定されているため、システム起動時に eth0 インターフェースが自動的に起動します。
  • BOOTPROTO=none: ブートプロトコルの設定です。none に設定されているため、DHCP を使用せずに静的 IP アドレスを手動で設定しています。
  • IPADDR=10.0.0.10: eth0 インターフェースに設定する IP アドレスを 10.0.0.10 としています。
  • NETMASK=255.255.255.0: サブネットマスクの設定です。
  • ARPCHECK=no: ARP (Address Resolution Protocol) チェックを無効にする設定です。no に設定されているため、ARP チェックが無効になっています。CentOS 6 では、ARP チェックが有効である場合、ネットワークの起動が非常に遅くなるため、それの回避策として無効化しています。ただし、通常は ARP チェックを有効にすべきであり、環境に応じた適切な設定が必要です。

動的 IP アドレス (DHCP)

動的 IP アドレス (DHCP) の設定は以下のとおりです。

[root@centos-6 ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.orig
[root@centos-6 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
PEERDNS=no
  • BOOTPROTO=dhcp: ブートプロトコルの設定です。dhcp に設定されているため、DHCP (Dynamic Host Configuration Protocol) を使用して IP アドレス、サブネットマスク、ゲートウェイなどのネットワーク設定を自動的に取得します。
  • PEERDNS=no: PEERDNS は、ネットワークインターフェースが起動した際に、/etc/resolv.conf ファイルを更新するかどうかを制御するオプションです。この例では no に設定されているため、eth0 インターフェースの起動時に /etc/resolv.conf を更新しません。一般的に、DHCP でネットワーク情報を取得する場合、DNS の情報も更新しますが、特定の環境では別の DNS を指定したいケースがあるため、あえて標準の設定項目としています。yes にすると、eth0 インターフェースの起動時に /etc/resolv.conf を更新します。

仮想マシン用ブリッジインターフェイス①

この設定例は、KVM ホストの仮想マシン用のシンプルなネットワーク設定となります。KVM ホストにブリッジインターフェイスを作成し、仮想マシンから利用可能にします。

通常のインターフェイス

通常のインターフェイスを設定します。BRIDGE=br0 はこのインターフェイスが所属するブリッジインターフェイスを指定します。

[root@centos-6 ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.orig
[root@centos-6 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
BRIDGE=br0

ブリッジインターフェイス

ブリッジインターフェイスを作成します。TYPE=Bridge でブリッジインターフェイスであることを指定しています。このブリッジインターフェイスに IP アドレスを設定することも可能ですが、ハイパーバイザーとゲスト OS はネットワーク的にも分離させた方が良いため、推奨しません。

[root@centos-6 ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
ONBOOT=yes
BOOTPROTO=none
TYPE=Bridge

仮想マシン用ブリッジインターフェイス②

この設定例は、KVM ホストの仮想マシン用の高度なネットワーク設定となります。KVM ホストにボンディングインターフェイス、VLAN インターフェイス、ブリッジインターフェイスを作成し、仮想マシンから利用可能にします。ネットワーク設定が多層構造になるため、設定が複雑になります。

通常のインターフェイス

通常のインターフェイスを設定します。MASTER=bond0 でインターフェイスが所属するボンディングインターフェイスを指定し、SLAVE=yesでこのインターフェイスがボンディングインターフェイスのスレーブであることを指定しています。本稿では、eth0, eth1 の 2 つのインターフェイスをボンディングします。

[root@centos-6 ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.orig
[root@centos-6 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes

[root@centos-6 ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth1 /etc/sysconfig/network-scripts/ifcfg-eth1.orig
[root@centos-6 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes

ボンディングインターフェイス

ボンディングインターフェイスを作成します。

[root@centos-6 ~]# vim /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
ONBOOT=yes
BOOTPROTO=none
BONDING_OPTS="mode=4 miimon=100"

BONDING_OPTS=: ボンディングのオプションを設定するための行です。

  • mode=4: ボンディングモードを設定します。mode=4 は IEEE 802.3ad (LACP) モードを指定しています。このモードでは、複数の物理インターフェースが 1 つの論理的なインターフェースとして動作し、帯域幅の増加と冗長性を提供します。対向スイッチも IEEE 802.3ad に対応している必要があります。
  • miimon=100: miimonオプションは、ミリ秒単位でモニターリングインターバルを設定します。この設定例では、100 ミリ秒ごとに物理インターフェースのリンク状態を確認します。ボンディングインターフェースの冗長性を維持するために、この値が低い方が好ましいとされます。

VLAN インターフェイス

ボンディングインターフェイスから VLAN インターフェイスを作成します。この例では VLAN1000, 1001 を作成しています。

[root@centos-6 ~]# vim /etc/sysconfig/network-scripts/ifcfg-bond0.1000
DEVICE=bond0.1000
ONBOOT=yes
BOOTPROTO=none
BRIDGE=br1000

[root@centos-6 ~]# vim /etc/sysconfig/network-scripts/ifcfg-bond0.1001
DEVICE=bond0.1001
ONBOOT=yes
BOOTPROTO=none
BRIDGE=br1001
  • VLAN インターフェイスのデバイス名は bond0.[VID] となります。VIDは 4 桁で指定します。
  • 各 VLAN インターフェイスは、BRIDGE= で指定したブリッジインターフェイスに所属します。

ブリッジインターフェイス

ブリッジインターフェイスを作成します。TYPE=Bridge でブリッジインターフェイスであることを指定しています。このブリッジインターフェイスに IP アドレスを設定することも可能ですが、ハイパーバイザーとゲスト OS はネットワーク的にも分離させた方が良いため、推奨しません。

[root@centos-6 ~]# vim /etc/sysconfig/network-scripts/ifcfg-br1000
DEVICE=br1000
ONBOOT=yes
BOOTPROTO=none
TYPE=Bridge

[root@centos-6 ~]# vim /etc/sysconfig/network-scripts/ifcfg-br1001
DEVICE=br1001
ONBOOT=yes
BOOTPROTO=none
TYPE=Bridge

ループバックアドレス

Cisco 等のネットワークデバイスと同様に、個別にループバックアドレスを設定することが可能です。本稿では、Quagga でダイナミックルーティングを実行する際のルーター ID として使用しました。ループバックアドレスは 32bit (255.255.255.255) のアドレスです。

[root@centos-6 ~]# vim /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
IPADDR=10.0.0.20
NETMASK=255.255.255.255

スタティックルート

スタティックルートは、デフォルトゲートウェイとは別に、個別のルーティングを設定します。

[root@centos-6 ~]# vim /etc/sysconfig/network-scripts/route-eth0
10.0.0.0/8 via 10.0.0.2
172.16.0.0/12 via 10.0.0.2
192.168.0.0/16 via 10.0.0.2

/etc/hosts

hosts は、デフォルトでは DNS より優先した名前解決です。書き方は各自こだわりがあると思いますが、この設定例はデフォルトの記載内容に合わせています。

[root@centos-6 ~]# cp /etc/hosts /etc/hosts.orig
[root@centos-6 ~]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain
127.0.0.1 centos-6 centos-6.si1230.com

/etc/resolv.conf

/etc/resolv.conf は参照する DNS サーバーを指定します。search は設定したドメイン名を補完する設定となります。

[root@centos-6 ~]# cp /etc/resolv.conf /etc/resolv.conf.orig
[root@centos-6 ~]# vim /etc/resolv.conf
search si1230.com
nameserver 10.0.0.53
CentOS 6 ネットワーク設定

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る