linux dhcp服務器配置
配置linux dhcp首先要安裝dhcp軟件包
dhcp-3.0.5-21.el5.i386.rpm
[root@server Server]# rpm -ivh dhcp-3.0.5-21.el5.i386.rpm ////安裝dhcp安裝包
[root@server Server]# rpm -ql dhcp /////查詢dhcp文件安裝位置
[root@server Server]# rpm -qc dhcp /////查詢dhcp的可配置文檔,c代表config可配置的
下面開始進入dhcp的配置文檔進行配置
[root@server Server]# vim /etc/dhcpd.conf /////dhcp的配置文檔的從上面介紹的兩種查詢可以知道在/etc/dhcpd.conf
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
但是進去之後並沒有什麼配置文檔只有兩句話,但是在第二句話給我們提示了一個文件,這個文件是dhcp的配置文檔模板,可以直接把它拷貝過來修改爲dhcp的配置文檔進去配置,也可以通過讀取的方法來進行配置如下圖
1 #
2 ddns-update-style interim;
3 ignore client-updates;
4
5 subnet 192.168.10.0 netmask 255.255.255.0 { ///////這一行相當於windows裏作用域
6
7 # --- default gateway
8 option routers 192.168.10.254; ////網關
9 option subnet-mask 255.255.255.0;
10
11 option nis-domain "domain.org";
12 option domain-name "tec.com"; ////域名
13 option domain-name-servers 222.88.88.88,222.85.85.85; ////這個是域名服務器,和windows上的dns服務器一樣
14
15 option time-offset -18000; # Eastern Standard Time
16 # option ntp-servers 192.168.1.1; //////這個是時間服務器,是使時間同步
17 # option netbios-name-servers 192.168.1.1; //////這個和windows上的win服務器一樣基於機器名轉換成ip地址
18 # --- Selects point-to-point node (default is hybrid). Don't change this unless
19 # -- you understand Netbios very well
20 # option netbios-node-type 2;
21
22 range dynamic-bootp 192.168.10.1 192.168.10.253; ////這個是客戶機的地址池,如果排除某個ip地址就要分開來寫如:
range dynamic-bootp 192.168.10.1 192.168.10.99;
range dynamic-bootp 192.168.10.101 192.168.10.253;
23 default-lease-time 21600; ///////租約時間
24 max-lease-time 43200;
25
26 # we want the nameserver to appear at a fixed address
27 host ns /////host後面最好寫上綁定ip的那臺機器的機器名 {
28 next-server marvin.redhat.com;
29 hardware ethernet 12:34:56:78:AB:CD;
30 fixed-address 207.175.42.254; //////27--31是mac地址和ip地址綁定
31 }
32 }
33 # DHCP Server Configuration file.
34 # see /usr/share/doc/dhcp*/dhcpd.conf.sample
35 #
當然瞭如果裏面的一些配置不太清楚,可以通過man 5 dhcpd.conf此命令查看
配置完成之後可以通過下面的命令進行測試,測試結果是ok說明沒有問題,然後就可以啓動了
[root@server Server]# service dhcpd configtest
Syntax: OK
[root@server Server]# service dhcpd start
Starting dhcpd: [ OK ]
dhcp 服務器 走的協議是udp 端口67 dhcp客戶端協議也是udp 端口是68
[root@server Server]# netstat -tupln | grep dhcpd //////可以通過此命令查看dhcp是否起來,同時也可以看出dhcp服務器的端口號和協議
udp 0 0 0.0.0.0:67 0.0.0.0:* 27595/dhcpd
這個時候dhcp服務器就已經做好了。
用linux系統從dhcp服務器上來獲取地址步驟如下:
ifconfig eth0 down //////先把eth0上的地址禁掉
dhclient -d eth0 //////通過此命令來獲取地址
如果客戶機比較多,一個c類地址不夠用但是又不能用b類地址,這時可以把上面的5--32行復制一遍在32行下粘貼,把作用域的地址段修改下如:192.168.20.0網段,但是綁定的那個地方的一個名稱要修改一下,和上面的不能一樣,然後再第5行上面加shared-network zzdx(名稱) { }左右大括號是把這兩個作用域全部括起來就ok.
這樣一個超級作用域就完成了。shared-network:相當於是聲明超級作用域
對於客戶機獲得地址的信息可以從vim /var/lib/dhcpd/dhcpd.leases裏面查看,在這個裏面有客戶機獲得地址及mac地址還有時間的信息,相當於windows裏面的地址租約。
在windows上dhcp服務器超級作用域有一個服務器選項,這個服務器選項可以添加路由器等。但是如果作用域中有路由器(網關),是以作用域中的爲先。在linux也有,
就是13 option domain-name-servers 222.88.88.88,222.85.85.85;可以把這一行剪切到作用域外超級作用域內,就可以實現服務器選項配置。
在linux裏自動獲得地址時dns也會自動獲得,如何實現獲得地址同時dns不自動獲得,而是手動配置如下:
[root@server ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 /////打開這個文件加入一行如圖:
&&&&&&&&&&&&
Dhcp小實驗:
有一個公司有一個技術部(tec)和市場部(mkt),通過dhcp服務器來完成這兩個部門的地址分配,這兩個部門在不同的vlan。
地址分配dhcp服務器192.168.10.0/24
Tec 192.168.20.0/24
Mkt 192.168.30.0/24
Dhcp服務器通過linux來實現,路由通過win2003來完成
Ip地址:
Linux eth0:192.168.10.100/24 網關:192.168.10.254
Win2003:vm1:192.168.10.254------與linux連接
Vm2:192.168.20.254------與tec連接
Vm3:192.168.30.254------與mkt連接
拓撲圖:
Dhcp配置如下:
subnet 192.168.10.0 netmask 255.255.255.0 {
}
subnet 192.168.20.0 netmask 255.255.255.0 {
# --- default gateway
option routers 192.168.20.254;
option subnet-mask 255.255.255.0;
option nis-domain "domain.org";
option domain-name "tec.com";
option domain-name-servers 222.88.88.88,222.85.85.85;
option time-offset -18000; # Eastern Standard Time
# option ntp-servers 192.168.1.1;
# option netbios-name-servers 192.168.1.1;
# -- you understand Netbios very well
# option netbios-node-type 2;
range dynamic-bootp 192.168.20.1 192.168.20.253;
# we want the nameserver to appear at a fixed address
host ns {
next-server marvin.redhat.com;
hardware ethernet 12:34:56:78:AB:CD;
fixed-address 207.175.42.254;
}
}
subnet 192.168.30.0 netmask 255.255.255.0 {
# --- default gateway
option routers 192.168.30.254;
option subnet-mask 255.255.255.0;
option nis-domain "domain.org";
option domain-name "mkt.com";
option domain-name-servers 222.88.88.88,222.85.85.85;
option time-offset -18000; # Eastern Standard Time
# option ntp-servers 192.168.1.1;
# option netbios-name-servers 192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;
range dynamic-bootp 192.168.30.1 192.168.30.253;
default-lease-time 21600;
max-lease-time 43200;
# we want the nameserver to appear at a fixed address
host ns1 {
next-server marvin.redhat.com;
hardware ethernet 12:34:56:78:AB:CD;
fixed-address 207.175.42.254;
}
}
Win2003路由配置:
添加三塊網卡分別命名vm1、vm2、vm3。
地址如上配置
然後單擊開始-----程序-----管理工具------路由和遠程訪問。
開始配置路由:
右擊本地服務器在單擊配置並啓動路由和遠程訪問
單擊自定義配置
在LAN路由前打鉤
然後下一步完成就會出現下面的畫面,在下面畫面裏有一個常規右擊在單擊新增路由協議進行dhcp中繼代理配置
選下面的dhcp中繼代理程序確定
就會出現下面畫面,然後右擊dhcp中繼代理單擊新增接口
會出現下圖:把vm2和vm3添加進去
添加後的結果
還要繼續設置服務器地址:繼續右擊dhcp中繼代理點屬性如下圖,添加服務器地址
到目前爲止服務器和路由都已經設置好了,就可以進行測試了。
&&
上面是通過win2003做路由中繼代理完成的,現在改用linux做中繼代理
首先dhcp包要安裝
在dhcp包中有一項是/etc/sysconfig/dhcrelay ////這個就是中繼代理要配置的文件
[root@localhost ~]# rpm -qc dhcp /////可以通過此命令查看dhcp包中的配置文件
/etc/dhcpd.conf
/etc/rc.d/init.d/dhcpd
/etc/rc.d/init.d/dhcrelay
/etc/sysconfig/dhcpd
/etc/sysconfig/dhcrelay
/var/lib/dhcpd/dhcpd.leases
在配置中繼代理之前應該先把ipv4的轉化功能開啓
[root@localhost ~]# vim /etc/sysctl.conf
7 net.ipv4.ip_forward = 1 ////ipv4轉化功能
[root@localhost ~]# sysctl -p
net.ipv4.ip_forward = 1 /////使ipv4轉化功能生效,可以看出已經生效
然後配置中繼代理
[root@localhost ~]# vim /etc/sysconfig/dhcrelay
INTERFACES="eth0 eth1 eth2" ///////這個是中繼接口
DHCPSERVERS="192.168.10.100" ///////dhcp服務器地址
然後就可以啓動dhcrelay進行測試
[root@localhost ~]# service dhcrelay start