Ubuntu DHCP 服务器配置时间:2010-05-13 15:04来源:未知 作者:admin 点击:104次系统环境:Ubuntu 8.04 LTS 服务器版 linux下DHCP服务器的配置其实就是配置f文件。 (1)首先安装DHCP服务器程序dhcp3-server,可以使用命令 sudo apt-get install dhcp3-server 进行安装,当然有图形界面的话使用新立得进行安装也是一样的。 (2)安装完成后开始配置DHCP服务器。 先备份系统原有的配置文件 sudo cp /etc/f /etc/f.origina系统环境:Ubuntu 8.04 LTS 服务器版
linux下DHCP服务器的配置其实就是配置f文件。
(1)首先安装DHCP服务器程序dhcp3-server,可以使用命令
sudo apt-get install dhcp3-server
进行安装,当然有图形界面的话使用新立得进行安装也是一样的。
(2)安装完成后开始配置DHCP服务器。
先备份系统原有的配置文件
sudo cp /etc/f /etc/f.original
开始配置 sudo vim /etc/f,在f中添加或修改以下几句:
ddns-update-style none; #定义所支持的DNS动态更新类型(必选),默认为none
default-lease-time 36000; #租约期限,单位为秒保持默认的也可以
max-lease-time 72000; #最大租约期限
#设置IP作用域,格式为subnet 子网ID netmask 子网掩码{}
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200; #可供分配给客户端的IP范围
option routers 192.168.1.1; #指定默认网关
option subnet-mask 255.255.255.0; #设置子网掩码
option broadcast-address 192.168.1.255; #指定广播地址
option domain-name "abc"; #设置DNS域名,则主机名为movie的全名为movie.abc
option domain-name-servers 202.101.107.85,218.85.157.99,210.34.240.100; #指定DNS服务器
option netbios-name-servers 192.168.1.2;
}
(3)保存配置文件并重启DHCP服务器,这样就可以满足一般的典型网络的基本要求了,DHCP也就能用了。下面是针对有特殊要求的,或者网络中有划分 VLAN等需要DHCP中继代理的。
3.1 保留特定的IP地址(或指定某IP永远分配给某主机,即IP MAC绑定,或称为分配静态IP或分配固定IP),使用host语句。
例如保留192.168.1.101给MAC地址为00:17:41:c9:21:64的主机使用,其主机名为movie,则host语句如下
host movie {
hardware ethernet 00:17:41:c9:21:64;
fixed-address 192.168.1.101;
option routers 192.168.1.1; #指定默认网关,也可省略,使用subnet所指定的配置
}
3.2 设置DHCP中继代理
设置DHCP中继代理一般使用于物理网络中存在多个IP子网,或者网络划分了VLAN,由于DHCP采用广播方式获取IP,物理子网和VLAN隔离了广播 域,因此如果PC与DHCP服务器处于不同的子网,就无法获取IP,DHCP中继代理允许将无DHCP服务器的子网内的DHCP客户端的请求转发给其他子 网内的DHCP
服务器,这样就解决了不同子网间DHCP获取的问题了。
3.2.1 首先在DHCP服务器上设置超级作用域
shared-network 名称 {
option subnet-mask 255.255.255.0; #设置子网掩码
option domain-name "abc"; #设置DNS域名,则主机名为movie的全名为movie.abc
option domain-name-servers 202.101.107.85,218.85.157.99,210.34.240.100; #指定DNS服务器
option netbios-name-servers 192.168.1.2;
#一些公共的配置就可以写在subnet外部,供所有subnet共享
subnet 子网1的网络ID netmask 子网掩码{
..........
..........
}
subnet 子网2的网络ID netmask 子网掩码{
..........
..........
}
}
3.2.2 设置DHCP中继代理
在连接多个子网的那台主机上安装中继代理,或者选用具有DHCP/BOOTP中继功能的路由器,这样就完成了所有配置。
启动DHCP服务 sudo /etc/init.d/dhcp3-server start
停止DHCP服务 sudo /etc/init.d/dhcp3-server stop
重启DHCP服务 sudo /etc/init.d/dhcp3-server restart
(责任编辑:admin)
Quick HOWTO : Ch08 : Configuring the DHCP Server/zh
出自Ubuntu中文
Quick HOWTO : Ch08 : Configuring the DHCP Server/zh正在校對翻譯。
歡迎您積极參与校對與修訂。
文章出處: www.linuxhomenetworking/wiki/index.php/Quick_HOWTO_:_Ch08_:_Configuring_the_DHCP_Server
翻譯人員: Dbzhang800 name Vitoking
點擊翻譯: English • 中文
目錄
[隱藏]
•1 簡介
•2 下載與安裝 DHCP 包
•3 /f 文件
•4 啟動DHCP:
•5 有多個網卡的DHCP 服務器
◦5.1 臨時解決方案
◦5.2 永久解決方案
•6 配置客戶端使用DHCP
•7 配置Windows客戶端使用 DHCP
•8 使用一個DHCP服務器為多個網絡服務
•9 簡單的 DHCP 故障排解
◦9.1 DHCP 客戶端包含 169.254.0.0 地址
◦9.2 DHCP的其它錯誤
•10 總結
[編輯] 簡介
一般來講,如果你有一個有線調製解調器或者數字用戶線路,你就可以使用家裡的電腦獲取由你的服務提供商動態分配的IP地址。如果在調製解調器和本地網絡之間安裝了有線/數字用戶線路的路由器,你的電腦很有可能是在啟動過程中從路由器獲取了IP地址。你也可以選擇禁用本地路由器中DHCP服務器的
功能,而設置一個Linux機器作為DHCP服務器。
這一章僅包含對一個可以提供IP地址的DHCP服務器的配置指南。關於Linux系統中,DHCP客戶端從DHCP服務器端如何獲取IP地址的配置可以參考第三章,「Linux Networking」中的Linux網絡互聯部分。
[編輯] 下載與安裝 DHCP 包
許多 RedHat 以及 Fedora Linux 軟件都是RPM格式的. 下載安裝這些RPM軟件很容易. 如果你想再回顧下如何安裝, Chapter 6, "Installing Linux Software", 詳細講解了這部分內容.
該軟件包的時候,請注意DHCP服務器的RPM包的命名往往
以dhcp開始,後跟一個版本號,比如這樣:dhcp-3.0.1rc14-1.i386.rpm
Debian Note: 對 Debian / Ubuntu 來說軟件包名稱可能也包含版本號. 用 dpkg --list | grep dhcp 來的到一個所有dhcp軟件包的列表,從而到dhcp服務區的軟件包名稱. 這裏我們不妨認為這個軟件包是 dhcp3-server.如果想回顧一下DEB包的安裝請參見 Chapter 6, "Installing Linux Software".
ubuntu网络配置root@u-bigboy:/tmp# dpkg --list | grep dhcp
ii dhcp3-client 3.0.3-6ubuntu7 DHCP Client
ii dhcp3-common 3.0.3-6ubuntu7 Files used by all the dhcp3* packages
root@u-bigboy:/tmp#
[編輯] /f 文件
DHCP 服務器啟動時,它讀取 /f文件,並使用裏面的命令來配置你的網絡。標準的DHCP RPM軟件包不會安裝這個文件,但是你可以在下面的目錄里到一個配置文件示例作為參照。
/usr/share/doc/dhcp-<version-number>/f.sample
你需要拷貝這個文件 f 到 /etc 目錄下面然後進行編輯。對於3.0p11版本的RPM包,拷貝文件命令如下:
[root@bigboy tmp]# cp /usr/share/doc/dhcp-3.f.sample /f
Debian Note: 對 Debian / Ubuntu 來說配置文件是 /etc/dhcp*/f ,語法跟 Redhat / Fedora一樣.
下面是對f文件的簡單解釋:最重要的是,你的Linux主機的每個網絡接口都必須有一個子網段
ddns-update-style interim
ignore client-updates
subnet 192.168.1.0 netmask 255.255.255.0 {
# 当DHCP客户端主机启动网络时
# 服务器能够分配给他的IP地址
# 的范围
range 192.168.1.201 192.168.1.220;
# 客户端能使用该IP地址的时间
# 以秒计算
default-lease-time 86400;
max-lease-time 86400;
# 客户端默认网关
option routers 192.168.1.1;
# 不从一个网口向另一个网口转发
# DHCP请求
option ip-forwarding off;
# 设置客户端广播地址和子网掩码
option broadcast-address 192.168.1.255;
option subnet-mask 255.255.255.0;
# 设置客户端DNS服务器
option domain-name-servers 192.168.1.100;
# 设置客户端NTP服务器
option nntp-server 192.168.1.100;
# 如果你为Windows客户端指定了一个WINS服务器,
# 你必须在 f中加入以下选项
option netbios-name-servers 192.168.1.100;
# 你也可以根据客户端MAC地址分配给他静态IP
# (主机名是 "laser-printer"):
host laser-printer {
hardware ethernet 08:00:2b:4c:59:23;
fixed-address 192.168.1.222;
}
}
#
# 未使用网络接口
#
subnet 192.168.2.0 netmask 255.255.255.0 {
}
還有許多其他選項來配置 DHCP, 包括告訴 DHCP客戶端哪裡提供 finger 以及 IRC服務。在安裝后請查看 dhcp-options man page :
[root@bigboy tmp]# man dhcp-options
Note: 示例文件f文件裏面的host指令非常有用. 像網絡上
打印機這樣一些設備默認是通過DHCP獲得IP地址的, 但是用戶可以用固定IP地址區訪問. 這個指令可以用來為一個已經預先知道網卡MAC地址的DHCP客戶端提供靜態IP地址。這可以降低系統管理開銷
[編輯] 啟動DHCP:
1) DHCP的一些舊版本的Fedora/RedHat將無法使用除非已有dhcpd.leases文件。如果沒有的話可以用命令 touch /var/lib/dhcp/dhcpd.leases 去創建一個。
[root@bigboy tmp]# touch /var/lib/dhcp/dhcpd.leases
2) 使用chkconfig命令配置DHCP在電腦啟動時自動運行;
[root@bigboy tmp]# chkconfig dhcpd on
對 Debian / Ubuntu,dhcp3-server 軟件包相應的命令為:
root@u-bigboy:/tmp# sysv-rc-conf dhcp3-server on
3) 然後用 service 命令執行 /etc/init.d/dhcpd 腳本來 start/stop/restart (啟動/停止/重新起動) DHCP
啟動
[root@bigboy tmp]# service dhcpd start
[root@bigboy tmp]# service dhcpd stop [root@bigboy tmp]# service dhcpd restart
對 Debian / Ubuntu 相應命令是:
root@u-bigboy:/tmp# /etc/init.d/dhcp*-server start
root@u-bigboy:/tmp# /etc/init.d/dhcp*-server stop root@u-bigboy:/tmp# /etc/init.d/dhcp*-server restart
4)每次更改配置文件后,要重啟DHCP服務以使更改生效。你也可以用下面的命令測試DHCP是否在運行,如果是則返回DHCP進程的ID;
[root@bigboy tmp]# pgrep dhcpd
5) 最後,一定要記得設置你的電腦以使其可以通過DHCP來獲得它的IP地址。
address via DHCP.
[編輯] 有多個網卡的DHCP 服務器
當一台被配置為動態獲得IP(DHCP)的電腦啟動時,他向DHCP服務器申請一個IP地址。這是通過向DHCP服務器發送一個標準的DHCP申請實現的。這個申請是一個廣播楨,源IP地址為255.255.255.255
如果你的DHCP服務器有多個網絡接口你必須為這個255.255.255.255添加一路由表項,讓服務器進程
知道往哪個接口發送回應;否則,回應會被發往默認網關(下面兩個例子中,我們假設DHCP請求來自接口eth0)
Note: 更多關於路由以及Linux添加路由表項的信息參見 Chapter 3, "Linux Networking".
Note: 你不能在多個網口上運行多個DHCP服務器,因為網絡255.255.255.255隻能有一個路由表項。如果你一定要這樣,你會發現DHCP服務器只在一個網口上工作。
[編輯] 臨時解決方案
你可以使用route add 命令臨時為 255.255.255.255添加一個路由項,如下。
[root@bigboy tmp]# route add -host 255.255.255.255 dev eth0
如果你想讓該路由項重啟后仍能使用,那用下面的永久解決方案
[編輯] 永久解決方案
新的Fedora Linux添加靜態路由的方法不支持將數據發往一個IP地址不是某一網關IP的接口。對地址為255.255.255.255的DHCP數據包的響應不應該發送給網關,而應該使用以太網幀中的MAC地址發送。
你有兩個選擇。往 /etc/rc.local 中加入一命
令, 或者往 /etc/sysconfig/static-routes 中添加一項,如下:
#
# File /etc/sysconfig/static-routes
#
eth0 host 255.255.255.255
Note: /etc/sysconfig/static-routes 是被聲明為不贊成的(deprecated),最終會被Fedora去除
現在已經配置好服務器了,談談客戶端吧。
[編輯] 配置客戶端使用DHCP
Linux網絡接口可以配置為通過DHCP獲取IP地址,參考"Linux Networking"。如果你需要回顧DHCP客戶端的配置,請查閱這一章。
[編輯] 配置Windows客戶端使用 DHCP
Windows默認對所有網口使用DHCP,所以你不用擔心需要重新配置
[編輯] 使用一個DHCP服務器為多個網絡服務
如前所述,DHCP客戶端發送一個請求IP地址的廣播楨,而廣播楨是被限制在局域網裡面的。這本來意味着每個子網都需要一個DHCP服務器。但是,可以通過配置路由器向許多跳之外的DHCP服務器轉發DHCP請求。這是通過將路由器在DHCP客戶端接口的IP地址插入到轉發的楨裏面。對於DHCP服務器,非空的路由器的IP地址優先於廣播地址考慮,並向該地址提供對DHCP客戶端很重要的IP地址。DHCP服務器用一個廣播楨響應(譯者注:怎麼是廣播楨呢?應該發給當初轉發DHCP請求的路由器才對,原文如此:The DHCP server replies with a broadcast packet), 而記錄了原先的DHCP請求的路由器再把這個響應楨轉發給DHCP客戶端。你可以用 ip helper-address 命令讓Cisco路由器在所有有DHCP客戶端的接口中啟用該功能。下面是一個配置實例,DHCP服務器的地址為192.168.36.25:
interface FastEthernet 2/1
ip address 192.168.1.30 255.255.255.0
ip helper-address 192.168.36.25
[編輯] 簡單的 DHCP 故障排解
DHCP最常見的問題常跟服務器無關;在服務器端被正確配置之後就沒必要作任何更改,服務器會運行的很好。問題常常由客戶端各種各樣的原因導致。接下來部分講述了簡單的故障排除步驟。執行這些步驟使DHCP在你的網絡上正常工作。
[編輯] DHCP 客戶端包含 169.254.0.0 地址
當Microsoft DHCP 客戶端不到DHCP服務器,他們就會默認從169.254.0.0網絡中選擇一個IP地址,直到到DHCP服務器為止,這常被稱為Automatic Private IP Addressing(APIPA)。你可以採取一下步驟解決該問題:
•確定DHCP服務器配置正確並使用先前講到的 pgrep 命令來確定DHCP服務器進程在運行。特別注意 255.255.255.255 路由項,尤其當你有多個網口時。
•從DHCP服務器能夠分配的IP地址裏面選一個給DHCP客戶端,然後看客戶端能不能ping通DHCP服務器。如果不能,再次檢查線纜與網卡。
•DHCP使用 BOOTP 協議在客戶端與服務器間交換信息。確定防火牆沒有阻止通信。DHCP服務器在UDP端口67接收請求,DHCP客戶端在UDP端口68等待響應,在
服務器網卡上使用 tcpdump 檢查通信數據流是否正確。
== == ==
[編輯] DHCP的其它錯誤
如果你的DHCP服務器無法啟動,可以使用第四章所描述的查錯糾錯技術,「常見網絡錯誤及其解決方法」,來幫助糾正錯誤。 以下原因常導致初始化時的一些錯誤:
•Incorrect settings in the /f file such as not defining the networks for which the DHCP server is responsible;
•/f 文件配置錯誤,例如沒有定義DHCP服務器負責的網絡。
•Firewall rules that block the DHCP bootp protocol on UDP ports 67 and 68;
•防火牆阻止了依賴於UDP端口67和68的 DHCP bootp 協議;
•Routers failing to forward the bootp packets to the DHCP server when the clients reside on a separate network.
•當客戶端位於另外一個網絡時,路由器沒有轉發DHCP服務器的bootp數據包
經常地查看/var/logs/messages文件以確定是否有DHCP錯誤發生,同時記得當你升級操作系統的時候寄存在配置文件里的關鍵字可能改變。經常檢閱版本發佈通知以確保關鍵字沒有改變。
[編輯] 總結
大多數的家庭網絡,一個CHCP 服務器是沒有必要的,因為DSL 路由器/防火牆(router / firewall)一般都有DHCP的功能,但是出於興趣也可以嘗試一下。務必確保一個網絡的所有DHCP 服務器 提供的IP地址不要重複,否則將有可能導致不可預料的錯誤。 要想在你的Linux 服務器上嘗試提供DHCP服務,最好關閉路由器/防火牆所提供的DHCP服務。
在辦公環境中,如果讓一個網絡工程師配置網絡的時間以及資金投入都不大的話,讓一個Linux系統管理員自己做這些事情會更簡單,這時DHCP服務器也就不再需要了.
配置一台DHCP服務器很簡單,也涉及到了前面章節講到的所有重要話題. 現在是時候嘗試一些比較有難度的操作了,不過在開始之前,我們將快速地複習一下怎樣創建將使用本書餘下部分介紹的許多功能的用戶的方法。
如何在Ubuntu服务器上安装和配置DHCP服务作者:www.360coding 日期:2009年10月06日 来源:www.360coding 【字体:大 中 小】 我要评论(0)360编程教程网 提示:
DHCP服务器提供以下两种配置方法: 地址池 这种方法指定了一个用来动态的提供给第一个访问网络的DHCP客户端的IP地址池(有时也称作区域或范围)。当DHCP客户端离开网络超过一定时间后,IP地址就会被回收到地址池以供其它DHCP客户端使用。 MAC地址 这种方法强制使用DHCP来区别每一块连接上网络的网卡的硬件地址,之后这块网卡每次连上网络请求DHCP服务时都为它提供这个固定的IP地址。 在ubuntu中安装DHCP服务 sudo apt-g
DHCP服务器提供以下两种配置方法:
地址池
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论