|
2006-04-12
TAG:System(FreeBSD) Network
dhcp的配置文件是/etc/dhcpd.conf,不过默认的情况下这个文件不存在,你需要使用它的模板建一个配置文件。模板的位置在/usr/share/doc/dhcp-3.0p11/dhcpd.conf.sample 如果你找不到你的配置文件可以使用我们学过的查找命令,locate filename进行寻找,如图:  查找到此文件后,我们先来看下模板的配置情况。 为了方便,我把这个配置文件用cat 命令给导入到了一个文本文件中,然后弄到win下来了。模板配置文件内容如下: 和所有的配置文件类似的,它用#代表注释。现在看看每行都说了什么 ddns-update-style interim; #配置使用过渡性 DHCP-DNS互动更新模式。 ignore client-updates; #忽略客户端更新 subnet 192.168.0.0 netmask 255.255.255.0 { #设置子网声明 # --- default gateway option routers 192.168.0.1; #设置缺省网关为192.168.0.1 option subnet-mask 255.255.255.0; #设置客户端的子网掩码 option nis-domain "domain.org"; #为客户设置NIS域 option domain-name "domain.org"; #为客户设置域名 option domain-name-servers 192.168.1.1; #为客户设置域名服务器 option time-offset -18000; # Eastern Standard Time #设置偏移时间。 # option ntp-servers 192.168.1.1; 设置NTP服务器。 # option netbios-name-servers 192.168.1.1; 设置wins服务器 # --- Selects point-to-point node (default is hybrid). Don't change this unless # -- you understand Netbios very well # option netbios-node-type 2; #设置netbios节点类型 我不清楚这个netbios节点是什么东西。*_*!,不懂最好不设。嘿嘿。 range dynamic-bootp 192.168.0.128 192.168.0.255; #设置动态的地址池。 default-lease-time 21600; #设置缺省的地址租期。 max-lease-time 43200; #设置客户端最长的地址租期 # 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; 指定dhcp客户的mac地址 fixed-address 207.175.42.254; 给指定的mac地址分配ip } } 看完了这个配置文件,朋友们如果有一定的英文基础。是不是觉得其实很好懂,其实不要被linux的配置文件吓倒,配置linux远比windows简单和容易理解,这些配置文件给了你一个模板,你照模板进行填写就可以,类似于给了你一张计划书,上面有你要做的事情,你可以选择做或者不做,具体情况根据你的环境填填空就可以了。不象windows会给你一个向导,至于向导干了什么你根本不知道。出了问题,你也不知道改找谁。但是linux则不同,出了问题,你把你的配置单cat出来,然后贴到网上,讲出你的要求,别人很容易知道你到底干了些什么。 后面我们举个例子来做这个配置。 先看下一个图,非常常见的网络环境。(俺改的以前的一个设计方案,因为讲这里是讲dhcp,就不把vlan考虑进来了,朋友们要是有兴趣,可以在社区http://www.easysafe.net/发帖专门讲这方面的问题。)  我们有一个10.0.0.0的网络,叫做easysafe.net 有一个DHCP,有一套企业应用系统, dns的服务器地址10.0.0.12 系统的数据库服务器地址为10.0.0.10 应用服务器地址为10.0.0.11 有一个网管监控区,放的网管工作站,其IP分别是,10.0.0.30,机器名字叫webmaster 然后有个防火墙做NAT,内部IP是10.0.0.1,外部IP是202.117.0.43(随便编个.HOHO) 你是这个企业的网管,由于你的机器比较多了,工作人员经常找你配IP地址。所以你让老总给你了台淘汰的机器,上面装上linux,配成DHCP服务器,来给他们分配IP地址。 那么,现在我们要怎么做呢。 首先,我们先要考虑一下这个环境。 10.0.0.10 10.0.0.11, 10.0.0.1 为避免网络问题,以上地址应该是保留的静态地址,也就是说你应该有一个排除范围。这个范围可大可小,在现在的情况下,为了避免以后的问题,可以把排除范围设置大点。比如我们设置为从10.0.0.1~10.0.0.20,为系统使用的。 10.0.0.30是你自己用的,不过你不想让别人用这个ip,也不想每次重新装了系统后重新修改,因此,你决定把你的IP给绑定到MAC上。 其他的人可以随意使用10.0.0.21~10.0.0.254之间的一个地址。 好了,现在调出我们的DHCP配置单模板,看如何配置。 ddns-update-style interim; ignore client-updates; #subnet 192.168.1.0 netmask 255.255.255.0 { #声明变了,我们的总的网络是10.0.0.0/24 subnet 10.0.0.0 netmask 255.255.255.0{ #朋友在修改配置的时候,原有配置我们可以使用#注释掉。 # --- default gateway #option routers 192.168.0.1; #路由变了,是10.0.0.1 option routers 10.0.0.1; option subnet-mask 255.255.255.0; option broadcast-address 10.0.0.255; #添加一个广播地址 #这句不用改,因为我们的子网还是个三类地址的子网 #option nis-domain "domain.org"; #nis不用 #option nis-domain "easysafe.net "; #option domain-name "domain.org"; option domain-name "easysafe.net"; #option domain-name-servers 192.168.1.1; option domain-name-server 10.0.0.12 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; #上面的可以不修改,因为我这里没有ntp和wins服务器 #range dynamic-bootp 192.168.0.128 192.168.0.255; #这里开始设置你的动态ip地址池了 #range dynamic-bootp 10.0.0.21 10.0.0.254 default-lease-time 21600; max-lease-time 43200; #缺省的更新ip时间和最大更新时间不修改默认的就可以。 # we want the nameserver to appear at a fixed address #―――――――――――――――――――――― #以上为模板中有的配置,现在加一些模板没有的配置 #―――――――――――――――――――――― subnet 10.0.0.0.0 netmask 255.255.255.0{ range 10.0.0.21 10.0.0.254; } #这里要注意了,在这里我们配置了我们的地址池!!从10.0.0.21到10.0.0.254 #host ns { # next-server marvin.redhat.com; # hardware ethernet 12:34:56:78:AB:CD; # fixed-address 207.175.42.254; #} #上面的是为特定用户来设置地址的。咱们来看看网管的机器该怎么配置,为了你以后 #配置的方便,这里加个group声明一下,以便如果哪个人看上了某个地址,你把他固、 #定上就可以。 group { host webmaster{ option host-name “webmaster.easysafe.net”; #你的主机名。可以就设置为webmaster hardware ethernet 00:cd:a9:70:e3:f3; #你的MAC地址,在linux下直接用ifconfig就可以看到。如果你要看win #的mac地址可以用ipconfig当然这个MAC地址是我编的,呵呵。 fixed-address 10.0.0.30 } } } 朋友们可以看到,在这里我们改的配置文件的地方并不是很多:)总共加了也没有10条语句,但是dhcp的配置文件已经做好了。 然后我们把这个文件复制回etc目录下存储为dhcpd.conf,然后你可以用vi看一下  不过别高兴的太早,linux怎么知道这是你要启动dhcp服务,并且使用这个配置文件呢? 现在就看我们后面要完成哪些工作了。 首先,要运行dhcp,我们需要一个客户租约数据库文件这个文件在/var/lib/dhcpd.leases,默认的这个库是空的,不需要配置,不过管理员可以通过这个来察看dhcp的运行情况。‘ 一般来说,这个文件的格式是 lease address {statement} 根据以上要求创建/var/lib/dhcp/dhcpd.lease文件。 完成了以上的配置,后面就是要启动dhcp了,和以前说的smb服务一样,也是通过service命令来执行 service dhcpd start  启动服务失败,系统提示第10和第27行出错。 原来一个是把domain-name-servers输错成了domain-name-server 另一个则是添加了两个range 费了半天力,到底把dhcp启动起来了。郁闷,又改了好几遍。  然后可以用pstree来察看此服务是否启动 pstree |grep dhcpd 如图所示,服务有了  如果希望以后每次服务器启动都把dhcp启动的话可以用ntsysV来选择你的dhcp服务器。 如图:  还剩下一点小问题,就是客户机的配置。 客户机win下的不多说了如图:默认就是这样的。  在linux下面,你可以手动配置你的dhcp。 察看你的网络配置文件,如果你没有设置为自动启动联网,则要修改你的网络配置文件。 vi /etc/sysconfig/network 添加 NETWORKING=yes (让引导的时候启动联网) 或者使用 @echo “NETWORKING=yes”>/etc/sysconfig/network 然后再修改你的网卡配置文件 /etc/sysconfig/network-scriptes/ifcfg-eth0 文件 应该包含这几行 DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes
|