1,020 瀏覽數

dhcp – shared-network + vlan

第一次設定這樣的 DHCP 環境,有兩個網段而且處於不同的 VLAN 環境下
switch_DHCP_Relay_Agent

DHCP 172.16.0.2 / 255.255.255.0

  1. Range 172.16.0.50 172.16.0.150 (VLAN 1)
  2. Range 172.16.1.50 172.16.1.150 (VLAN 2)

跟一般的 DHCP 不一樣的地方有兩處.

  1. DHCP 怎麼設定兩個網段
  2. VLAN 2 電腦的 封包 要怎麼才能 傳送與接收 到 VLAN 1 的 DHCP

第一個問題先來看看 DHCP 怎麼設定兩個網段

# vi  /etc/dhcp/dhcpd.conf

#ddns-update-style interim;
ddns-update-style none;
ignore client-updates;
option domain-name-servers 172.16.0.254;
allow booting;
allow bootp;

shared-network vlan1 {
allow client-updates;
allow unknown-clients;
subnet 172.16.0.0 netmask 255.255.255.0 {
        range 172.16.0.50 172.16.0.150;
        option broadcast-address 172.16.0.255;
        option routers 172.16.0.254;
        option subnet-mask 255.255.255.0;
  }
}
shared-network vlan2 {
allow client-updates;
allow unknown-clients;
subnet 172.16.1.0 netmask 255.255.255.0 {
        range 172.16.1.50 172.16.1.150;
        option broadcast-address 172.16.1.255;
        option routers 172.16.1.254;
        option subnet-mask 255.255.255.0;
  }
}

主要的不同點是設定 shared-network ,雖然 DHCP 的 IP 為 172.16.0.2 / 255.255.255.0 ,透過這樣的方式,除了原本 DHCP 的 172.16.0.0 網段外,還可以設定其它的網段 172.16.1.0 .

在 RedHat 官方說明文件也提到 Example 16.4. Shared-network Declaration

shared-network name {
    option domain-search            "test.redhat.com";
    option domain-name-servers      ns1.redhat.com, ns2.redhat.com;
    option routers                  192.168.0.254;
    #more parameters for EXAMPLE shared-network
    subnet 192.168.1.0 netmask 255.255.252.0 {
        #parameters for subnet
        range 192.168.1.1 192.168.1.254;
    }
    subnet 192.168.2.0 netmask 255.255.252.0 {
        #parameters for subnet
        range 192.168.2.1 192.168.2.254;
    }
}

設定完成後將 DHCP 服務重新開啟.

# service dhcpd restart

第二個問題 VLAN 2 電腦的 封包 要怎麼才能 傳送與接收 到 VLAN 1 的 DHCP

這個問題 要透過 Switch 設定 dhcp relay agent ,指定 VLAN 2 收到 DHCPDISCOVER, DHCPOFFER, DHCPREQUEST , DHCPACK 就轉給 VLAN 1 的 DHCP Server (IP : 172.16.0.2) 這樣就可以解決了.

發表迴響