一:DHCP簡介
Dynamic Host Configuration Protocol:動態主機配置協議,是 TCP/IP協議簇 中的一種,是一個 局域網 的網絡協議,使用 UDP協議 工作。
二:在線安裝dhcp服務器
- 服務器搭建所需要的硬件環境:
本人操作時,Dhcp服務器搭建在ruby板卡上,需要ruby板卡聯網在線安裝dhcp服務器。
首先,ruby板卡改爲dhcp動態IP,以接入外網。
其次,使用串口進行其他操作。重啓板卡後,不建議使用動態IP操作putty(可能不能路由到該網址)。
動態IP配置:
vim /etc/network/interfaces
示例:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto eno1
#iface eno1 inet dhcp
iface eno1 inet static
address 10.11.12.13
netmask 255.255.255.0
network 10.11.12.0
gateway 10.11.12.1
重啓服務器:
sudo /etc/init.d/networking restart
2.下載並安裝DHCP服務
1)安裝isc-dhcp-server:
$ sudo apt-get install isc-dhcp-server
Dhcp服務器下載安裝完成後,即可將ruby板卡的動態IP改爲靜態IP,方便以後操作。
DHCP的主要配置文件有兩個,分別位於 /etc/default/isc-dhcp-server 和 /etc/dhcp/dhcpd.conf。下面要做的就是對這兩個文件進行配置。
2)配置DHCP服務
首先需要知道目標主機的網卡名稱:
$ ifconfig
得到以下信息:
可以看到,目標主機的兩張網卡名稱分別爲enp5s0f0和enp5s0f1,其中enp5s0f0可用。接下來配置 /etc/default/isc-dhcp-server 文件,
$ sudo vim /etc/default/isc-dhcp-server
將INTERFACES的內容補充爲目標主機的網卡名稱enp5s0f0。
配置 /etc/dhcp/dhcpd.conf 文件:
$ sudo vim /etc/dhcp/dhcpd.conf
文件內容中需要配置的是域名和子網IP等信息,以下的IP網段和板卡的靜態IP網段一致。對於第一文件片段中的option domain-name “example.org” 不用修改,下一行的domain-name-server需要註釋掉在第二文件片段中補充。對於第二文件片段中的白色部分,全是新添加的信息。目標主機的子網IP爲192.168.19.20,因此subnet爲192.168.19.0,DHCP分配範圍設置爲150-253,其餘地址留給廣播和靜態IP。網關和DNS均設置爲192.168.19.1,廣播地址爲192.168.19.255,ntp-servers和netbios-name-servers設置與DNS一致,netbios-node-type默認爲8
配置完成之後重啓DHCP服務:
$ sudo service isc-dhcp-server restart
查看dhcp是否正常運行:
$ sudo netstat -uap
當顯示dhcpd的program name時表示dhcp服務安裝配置啓動成功
配置過程中的調試
第一次配置過程中很有可能出現配置失敗無法啓動dhcp的情況,筆者第一次配置時也是遇到了很多問題,後來發現查看日誌是最可靠的方法。
查看系統日誌:
$ vim /var/log/syslog
二:離線安裝dhcpd服務器
- 首先獲取dhcp服務器的deb包。
獲取deb包的方法:
提前在線下載完成。
apt-get -d install isc-dhcp-server
ubuntu apt-get 下載的軟件包放在/var/cache/apt/archives目錄下。
- 離線安裝deb包
sudo dpkg -i *.deb
- 安裝完成後,配置相應文件。方法和在線安裝相同。
三:問題及解決方案:
問題一:Unable to locate package解決Ubuntu14.04執行apt-get install時報錯
解決:sudo apt-get update
四:給客戶端主機 配置固定IP
host win7 { #host+主機名
hardware ethernet 00:0C:29:9D:6A:0B; #客戶端MAC地址
fixed-address 10.30.40.150; #給予的固定IP
}
五:附錄:
apt-get update 和 upgrade 的區別
update 是同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,這樣才能獲取到最新的軟件包。
upgrade 是升級已安裝的所有軟件包,升級之後的版本就是本地索引裏的,因此,在執行 upgrade 之前一定要執行 update, 這樣才能是最新的。