ubuntu 14.4 dhcp server配置問題

ubuntu的dhcp server配置有好多,最近我測試用了兩個,安裝配置遇到一下問題記錄如下:
1.isc-dhcp-server
安裝:

sudo apt-get install isc-dhcp-server

配置:/etc/dhcp/dhcp.conf

# A slightly different configuration for an internal subnet.
subnet 172.16.0.0 netmask 255.255.0.0 {
  range 172.16.0.2 172.16.0.240;
  option domain-name-servers 172.16.1.120, 114.114.114.114;
  option routers 172.16.1.120;
  option broadcast-address 172.16.1.120;
  default-lease-time 600;
  max-lease-time 7200;
}

注意這個配置,第一次使用這個配置的時候,大意了,broadcast-address沒看清楚,以爲是網關地址,其實broadcast-address是廣播地址,所以這麼配置下去,dhcp的client側的廣播地址就變成了172.16.1.120,導致本設備發出的廣播包,其他設備收不到。因爲組網中設備默認的廣播地址172.16.255.255,而本機的廣播地址變成了172.16.1.120,所以導致,廣播包無法正常收發,設備的只接表現是 arp列表出現:arp incomplete,應爲本機發的arp報文,對端沒有迴應。
所以正確的配置應該是:

subnet 172.16.0.0 netmask 255.255.0.0 {
  range 172.16.0.2 172.16.0.240;
  option domain-name-servers 172.16.1.120, 114.114.114.114;
  option routers 172.16.1.120;
  option broadcast-address 172.16.255.255;
  default-lease-time 600;
  max-lease-time 7200;
}

或者不配置option broadcast-address,使用默認值。
2.Dnsmasq

Dnsmasq安裝要先卸載設備自帶的dnsmasq-base然後安裝完全版的snamasq

apt-get remove dnsmasq-base
apt-get install dnsmasq

來個懶人配置,
/etc/dnsmasq.conf

bind-interfaces
listen-address=127.0.0.1,172.16.1.120
interface=br0
log-facility=/var/log/dnsmasq.log
 
# 異步log,緩解阻塞。
log-async=20
no-hosts
# 如果只使用dhcp服務,完全禁止DNS功能,則可將設置爲0。
#port=0

dhcp-range=172.16.1.1,172.16.1.100,255.255.0.0,12h
#dhcp-option=3,172.16.1.120,114,114,114,114

這裏我沒有用 dns功能所以dns配置配置 ,給關了(no-hosts)
ubuntu在運行的時候會報錯,地址被或者端口被佔用

Address already is use

原因呢,53端口被其他進行佔用了,幹掉他就好了

netstat -anlp |grep 53

原來是named進程在搞事情,在啓動腳本里面幹掉它。
/etc/init.d/dnsmasq裏面找到start,在開頭的位置加入 killall -9 named就可以了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章