You are on page 1of 4

DHCP-SERVER on CentOS 5 up

DHCP server (ถ้าต้องการติดตั้งก็ทาตามนี้เลย)
เลือกการ์ดแลนที่เราต้องการใช้งานเป็น DHCP-Server และ ผ่าน Squid Proxy Server transparent
ในตัวอย่าง จาก Server ของผม
eth0

------| รับเน็ตมาจาก ADSL Router WAN 1 = 192.168.1.100 : Gateway = 192.168.1.1

eth1

----- DHCP Server : IP Gateway = 192.168.100.1

eth2

----- Chillispot : TUN0 : IP Gateway = 10.0.0.1

*ตามที่แสดงให้ดูครับ ผมเลือกการ์ดแลนใบที่ 1 คือ eth1 เป็น dhcp server แจกเน็ตแบบธรรมดา
แก้ config ไฟล์ ตัวการ์ดแลนที่จะใช้เป็น dhcp server ก่อน

# nano /etc/sysconfig/network-scripts/ifcfg-eth1
Ethernet controller
DEVICE=eth1
BOOTPROTO=static
BROADCAST=192.168.100.255
HWADDR=00:24:21:11:C9:65
IPADDR=192.168.100.1
NETMASK=255.255.255.0
NETWORK=192.168.100.0
ONBOOT=yes

# /etc/init.d/network restart

100.255.0 netmask 255.100.192.0 { option routers 192.0 netmask 255.1 192. ddns-update-style ad-hoc.leases ต่อไปเป็นการสั่งรัน DHCP Server แบบแสดง Logfile ให้ดูด้วย เพื่อให้เราได้ทราบว่ามีจุด error! ใดๆ แต่ขั้นตอนนี้ห้าม Error~ ถ้ามีก็ต้องไปทาการไล่ Config ใหม่ ติดตั้ง dhcp ใหม่ด้วยยิ่งดี .0 { } # config ของการ์ดแลนของผม ที่ทาเป็น dhcp server subnet 192.168.168.100.100. option domain-name-servers 192.conf option domain-name "localhost".168. option subnet-mask 255.255.255.254.100.0. subnet 192.leases # chmod 777 /var/lib/dhcpd/dhcpd.168.จากนั้นเริ่มการติดตั้งได้เลย # yum -y install dhcp # nano /etc/dhcpd. range dynamic-bootp 192.255.168.168. max-lease-time 7200.255.1.255. option broadcast-address 192.1.100. default-lease-time 4800.168.1.255. } จากนั้นทาการสร้างไฟล์สาหรับฐานข้อมูลให้ dhcp server เก็บค่าที่ได้ leases ไอพีให้เครื่องลูกข่าย เพื่อไม่ให้แจกไอพีซ้ากัน # touch /var/lib/dhcpd/dhcpd.1.1.168.

# /usr/sbin/dhcpd & กด Ctrl+C เพื่อออกจากการทางานแบบแสดง logfile สั่งรัน DHCP Server แบบปกติ # /etc/init.d/dhcpd start .d/dhcpd restart Shutting down dhcpd: Starting dhcpd: [ OK ] [ OK ] # chkconfig dhcpd on # ps -ef | grep dhcpd root 17276 1 0 18:17 ? 00:00:00 /usr/sbin/dhcpd root 17376 5501 0 18:23 pts/1 00:00:00 grep dhcpd [1]+ Done /etc/init.

iptables # nano /etc/firewall.254 from 00:23:12:7b:2b:41 via eth1 DHCPACK on 192.168.168.iptables ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ใช้คาสั่งตรวจดู logfile ระบบ ว่ามีเครื่องลูกข่ายได้รับไอพี จาก DHCP Server หรือยัง # tail -f /var/log/messages Jun Jun Jun Jun Jun Jun Jun Jun Jun Jun Jun Jun 20 20 20 20 20 20 20 20 20 20 20 20 17:15:24 17:15:24 17:15:24 17:15:24 17:15:24 17:15:24 17:15:24 17:15:24 17:15:24 17:15:24 17:21:04 17:21:04 localhost localhost localhost localhost localhost localhost localhost localhost localhost localhost localhost localhost dhcpd: dhcpd: dhcpd: dhcpd: dhcpd: dhcpd: dhcpd: dhcpd: dhcpd: dhcpd: dhcpd: dhcpd: Internet Systems Consortium DHCP Server V3.iptables ## Squid Proxy Allow transparent proxy DHCP อันนี้จะใส่ก็ต่อเมื่อได้ติดตั้ง squid proxy ทางานที่ port 3128 $IPTABLES -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 3128 --syn -j DROP $IPTABLES $IPTABLES $IPTABLES $IPTABLES -t -t -t -t nat nat nat nat -A -A -A -A PREROUTING PREROUTING PREROUTING PREROUTING -i -i -i -i eth1 eth1 eth1 eth1 -p -p -p -p tcp tcp tcp tcp -m -m -m -m tcp tcp tcp tcp -d -d -d -d 192. All rights reserved.5-RedHat Copyright 2004-2006 Internet Systems Consortium.100.168.100.0/16 --dport 80 -j RETURN 192.org/sw/dhcp/ Wrote 1 leases to leases file.100.100/24 Listening on LPF/eth0/00:07:e9:10:52:ce/192.100.100.0.100/24 Sending on LPF/eth1/00:24:21:11:c9:65/192.0/24 --dport 80 -j RETURN 192. For info.iptable ใหม่ # sh /etc/firewall. Listening on LPF/eth1/00:24:21:11:c9:65/192.1/24 Sending on LPF/eth0/00:07:e9:10:52:ce/192.ไปทาการแจ้งเพิ่ม การเข้า-ออก ประตูของระบบ กับ firewall.168. please visit http://www.1/24 Sending on Socket/fallback/fallback-net DHCPREQUEST for 192.168.0/8 --dport 80 -j RETURN 127.0.254 to 00:23:12:7b:2b:41 via eth1 แสดงว่ามีเครื่องลูกข่ายได้รับไอพีจาก DHCP Server แล้ว ( ตามแถบสีเขียว ) .0/8 --dport 80 -j RETURN ถ้าติดตั้ง squid proxy ก็ใส่ค่าตามหมายเลข 3128 เลย $IPTABLES -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128 อันนี้ ยังไม่ได้ติดตั้ง squid proxy $IPTABLES -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 80 สั่ง restart filewall.168.168.isc.0.168.168.