2 ネットワーク・アドレッシングの構成

この章では、DHCPサーバー、DHCPクライアントおよびネットワーク・アドレス変換を構成する方法について説明します。

Dynamic Host Configuration Protocolについて

Dynamic Host Configuration Protocol (DHCP)により、クライアント・システムは、ネットワークに接続するたびにDHCPサーバーからネットワーク構成情報を取得できます。DHCPサーバーは、IPアドレスの範囲、およびクライアントで必要なその他のネットワーク構成パラメータを使用して構成されます。

Oracle LinuxシステムをDHCPクライアントとして構成すると、クライアント・デーモンdhclientはDHCPサーバーに接続してネットワーキング・パラメータを取得します。DHCPはブロードキャストベースであるため、クライアントはサーバーまたはリレー・エージェントと同じサブネット上に存在する必要があります。クライアントがサーバーと同じサブネット上に存在できない場合は、DHCPリレー・エージェントを使用してサブネット間でDHCPメッセージを渡すことができます。

このサーバーは、クライアントに割り当てるIPアドレスのリースを行います。クライアントは、リースに関する特定条件(期間など)をリクエストできます。DHCPサーバーは、リースに関して付与できる条件を制限するように構成できます。クライアントが継続してネットワークに接続している場合は、リースが期限切れになる前にdhclientがリースを自動的に更新します。DHCPサーバーは、ネットワーク・インタフェースのMACアドレスに基づいて同じIPアドレスをクライアントに割り当てるように構成できます。

DHCPを使用する利点は、次のとおりです。

  • IPアドレスの集中管理

  • 新規クライアントをネットワークに簡単に追加可能

  • IPアドレスの再利用により、必要なIPアドレスの合計数を削減

  • DHCPサーバー上のIPアドレス空間を簡単に再構成でき、各クライアントの再構成が不要

DHCPの詳細は、RFC 2131を参照してください。

DHCPサーバーの構成

Oracle LinuxシステムをDHCPサーバーとして構成するには:

  1. dhcpパッケージをインストールします。

    sudo yum install dhcp
  2. /etc/dhcp/dhcpd.confファイルを編集して、DHCPサーバーがクライアントに提供できる設定を格納します。

    次の例では、ドメイン名、192.168.2.0/24サブネット上の192.168.2.101から192.168.2.254までのクライアント・アドレスの範囲とデフォルト・ゲートウェイおよびDNSサーバーのIPアドレス、デフォルトおよび最大リース時間(秒数)、そのMACアドレスで識別されるアプリケーション・サーバーsvr01の静的IPアドレスが構成されます。

    option domain-name "mydom.org";
    option domain-name-servers 192.168.2.1, 10.0.1.4;
    option broadcast-address 192.168.2.255;
    option routers 192.168.2.1;
    
    subnet 192.168.2.0 netmask 255.255.255.0 {
      range 192.168.2.101 192.168.2.254;
      default-lease-time 10800;
      max-lease-time 43200;
    }
    
    host svr01 {
      hardware ethernet 80:56:3e:00:10:00;
      fixed-address 192.168.2.100;
      max-lease-time 86400;
    }

    各クライアントによってIPアドレスのリースがリクエストされると、DHCPサーバーによってoption行の情報が各クライアントに送信されます。オプションをsubnet定義内に定義した場合、オプションはサブネットにのみ適用されます。例では、オプションはグローバルであり、subnet定義とhost定義の両方に適用されます。subnet定義とhost定義で、最大リース時間に対する設定が異なっています。

    ノート:

    Oracle Linux 7では、DHCPサーバーはその構成を/etc/sysconfig/dhcpdから読み取らなくなりました。かわりに、/etc/dhcp/dhcpd.confを読み取ってリスニングするインタフェースを決定します。

    詳細および例については、/usr/share/doc/dhcp-version/dhcpd.conf.sampledhcpd(8)およびdhcp-options(5)の各マニュアル・ページを参照してください。

  3. touchコマンドで、クライアント・リースに関する情報が格納される/var/lib/dhcpd/dhcpd.leasesファイルを作成します。

    sudo touch /var/lib/dhcpd/dhcpd.leases
  4. 次のコマンドを入力して、DHCPサービスを開始し、再起動後にそれが開始することを確認します。

    sudo systemctl start dhcpd
    sudo systemctl enable dhcpd

DHCPリレーの構成に関する情報は、dhcrelay(8)マニュアル・ページを参照してください。

DHCPクライアントの構成

Oracle LinuxシステムをDHCPクライアントとして構成するには:

  1. dhclientパッケージをインストールします。

    sudo yum install dhclient
  2. /container/name/rootfs/etc/sysconfig/network-scripts/ifcfg-ifaceを編集します。ifaceは、ネットワーク・インタフェースの名前であり、次のようにBOOTPROTOの値を変更します。

    BOOTPROTO=dhcp
  3. /etc/sysconfig/networkを編集し、次の設定が含まれるようにします。

    NETWORKING=yes
  4. リクエストしたリース時間やサーバーからのアドレスをリクエストするためのネットワーク・インタフェースなど、クライアントに関するオプションを指定するには、必要なオプションを含むファイル/etc/dhclient.confを作成します。

    次の例は、クライアントがem2インタフェースを使用し、24時間のリース時間をリクエストし、そのMACアドレスを使用してクライアント自体を識別することを指定しています。

    interface "em2" {
      send dhcp-lease-time 86400;
      send dhcp-client-identifier 80:56:3e:00:10:00;
    }

    詳細は、dhclient.conf(5)マニュアル・ページを参照してください。

  5. ネットワーク・インタフェースまたはネットワーク・サービスを再起動して、クライアントを有効化します。たとえば:

    sudo systemctl restart network

    クライアントによってリースがリクエストされ、取得されると、このリースに関する情報が/var/lib/dhclient/dhclient-interface.leasesに格納されます。

詳細は、dhclient(8)マニュアル・ページを参照してください。

ネットワーク・アドレス変換について

ネットワーク・アドレス変換(NAT)では、様々なアドレス・スキームがあるプライベート・ネットワーク内のコンピュータまたはコンピュータのグループに、パブリック・アドレスが割り当てられます。パブリックIPアドレスによって、すべてのリクエストが複数のサーバーではなく1つのサーバーに送信されるようにマスカレードされます。NATは、組織で調達する必要があるパブリックIPアドレスの数を制限し、内部ネットワークの詳細を非表示にすることによって特別なセキュリティを提供するために有益です。

netfilterカーネル・サブシステムでは、パケット・フィルタリング用の表に加えて、NATを実装するnatが提供されます。カーネルでは、新しい受信または送信接続を作成するパケットを処理するたびに、nat表が参照されます。

ノート:

システムで、その2つのネットワーク・インタフェース間でパケットをルーティングできるようにするには、IP転送をオンにする必要があります。

echo 1 > /proc/sys/net/ipv4/ip_forward

ファイアウォール構成GUI (firewall-config)を使用して、マスカレードおよびポート転送を構成できます。