スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

DHCPサーバ構築

↓みたいな環境を想定。



・デフォルトゲートウェイ: 192.168.1.1
・DNSサーバ: 192.168.1.2, 192.168.1.3
・NTPサーバ: 192.168.1.4
・Proxyサーバ: 192.168.1.5:8080
・プライマリDHCPサーバ: 192.168.1.6
・セカンダリDHCPサーバ: 192.168.1.7
・proxy.pacファイル配布URL: http://192.168.1.10/proxy.pac
・DHCPで動的に割り当てるIPアドレスの範囲: 192.168.1.30~192.168.1.50, 192.168.1.100~192.168.1.120
・DHCPで静的に割り当てるIPアドレス: MACアドレスxx:xx:xx:xx:xx:xx→192.168.1.21, MACアドレスyy:yy:yy:yy:yy:yy→192.168.1.22

基本的に192.168.1.0/24のサブネット内に全部あるものとする。



【dhcpdインストール】

# yum install dhcp
# cd /etc/
# mkdir dhcpd

【/etc/dhcpd/dhcpd.master(プライマリ、セカンダリ共通)】

authoritative;
ddns-update-style none;
ignore client-updates;

log-facility local5;

option wpad code 252 = string;
option wpad "http://192.168.1.10/proxy.pac";

option routers                192.168.1.1;
option subnet-mask            255.255.255.0;

option domain-name            "hoge.local";
option domain-name-servers    192.168.1.2,192.168.1.3;

option time-offset            -18000; # Eastern Standard Time
option ntp-servers            192.168.1.4;

default-lease-time 21600;
max-lease-time 43200;

subnet 192.168.1.0 netmask 255.255.255.0 {
    pool {
        failover peer "peername"; ← /etc/dhcpd.confのfailover peerと同じにする
        range 192.168.1.30 192.168.1.50;
        range 192.168.1.100 192.168.1.120
        deny dynamic bootp clients;
    }
}

group {
    host hostA {
        hardware ethernet xx:xx:xx:xx:xx:xx;
        fixed-address 192.168.1.21;
    }

    host hostB {
        hardware ethernet yy:yy:yy:yy:yy:yy;
        fixed-address 192.168.1.22;
    }
}


【/etc/dhcpd.conf(プライマリ)】

failover peer "peername" { ← /etc/dhcpd/dhcpd.masterのfailover peerと同じにする
    primary;
    address 192.168.1.6;
    port 12345;
    peer address 192.168.1.7;
    peer port 12345;
    max-response-delay 5;
    max-unacked-updates 10;
    mclt 600;
    split 128;
    load balance max seconds 3;
}

include "/etc/dhcpd/dhcpd.master";

【/etc/dhcpd.conf(セカンダリ)】

failover peer "peername" { ← /etc/dhcpd/dhcpd.masterのfailover peerと同じにする
    secondary;
    address 192.168.1.7;
    port 12345;
    peer address 192.168.1.6;
    peer port 12345;
    max-response-delay 5;
    max-unacked-updates 10;
    load balance max seconds 3;
}

include "/etc/dhcpd/dhcpd.master";

【/etc/syslog.conf(プライマリ、セカンダリ共通)】

*.info;mail.none;authpriv.none;cron.none        /var/log/messages

*.info;local5.none;mail.none;authpriv.none;cron.none        /var/log/messages
に変更

↓を追加
# DHCP dhcpd.log
local5.*        /var/log/dhcpd.log

【/etc/logrotate.d/dhcpd(プライマリ、セカンダリ共通)】

↓にしてみたけど…、

/var/log/dhcpd.log {
    notifempty
    missingok
    postrotate
        /bin/kill -HUP `cat /var/run/dhcpd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

kill -HUPでdhcpdが落ちた。dhcpdはHUPには対応していないらしい。
ということで、

/var/log/dhcpd.log {
    notifempty
    missingok
    postrotate
        /etc/init.d/dhcpd restart 2> /dev/null
    endscript
}

【http://192.168.1.10/proxy.pac】

function FindProxyForURL(url, host) {
    if(isInNet(host, "192.168.1.0", "255.255.255.0")) return "DIRECT";
    if(shExpMatch(url, "http://127.0.0.1/*")) return "DIRECT";
    if(shExpMatch(url, "http://127.0.0.1:*/*")) return "DIRECT";
    if(shExpMatch(url, "http://localhost/*")) return "DIRECT";
    if(shExpMatch(url, "http://localhost:*/*")) return "DIRECT";

    return "PROXY 192.168.1.5:8080";
}

あと、↓のシンボリックリンクもつくっておく。
# ln -s proxy.pac proxy.pa
# ln -s proxy.pac wpad.dat

この記事のトラックバックURL

http://ysmt.blog21.fc2.com/tb.php/283-e052677a

コメント

コメントする

管理者にだけ表示を許可する

Template Designed by DW99

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。