科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道架设DHCP Server

架设DHCP Server

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

DHCP 是 Dynamic Host Configuration Protocol 的简称, 主要用来简化网管在: 工作站/主机网路组态设定方面的 "烦覆" 问题, 俗称: "动态分配 IP".

作者:论坛整理 来源:zdnet网络安全 2008年3月26日

关键字: DHCP DHCP协议 DHCP服务器 网络协议

  • 评论
  • 分享微博
  • 分享邮件

  DHCP 是 Dynamic Host Configuration Protocol 的简称, 主要用来简化网管在: 工作站/主机网路组态设定方面的 "烦覆" 问题, 俗称: "动态分配 IP".

  相对於动态分配的机制, 而使用人工手动的方式, 一台一台去设定, 则称为静态设置.

  静态设置是相当没有效率的.

  试想: 如果一个网段中, 有几百部工作站, 用人工手动方式静态设置, 不累死才怪, 况且, 将来, 若欲更动网路组态, 也极不方便!

  因此之故, 通常在网管工作中, DHCP Server 是一项十分重要的架设服务.

  以往, 学校的 DHCP Server 大多架在 NT/W2K 上, 但效能及稳定性不是很好,

  因此, 以下介绍 DHCP Server 在 RedHatLinux上的架设.

  本文不讲太多理论, 以容易架起为原则.

  所需套件:

  dhcp-2.0-5.i386.rpm (RedHat 6.2)

  dhcp-2.0-12.i186.rpm (RedHat 7.0)

  dhcp-2.0-12.i386.rpm (CLE 1.0)

  dhcp-2.0p15-4.i386.rpm(RedHat 7.1)

  请根据您的 Linux 版本来挑选 dhcp Server 的套件吧.

  架设:

  在 RedHat Linux 上, 架设 DHCP Server 是非常简单的!

  1. 安装:

  (a) rpm -ivh dhcp-2.0-5.i386.rpm

  (b) 之後, 查看一下, 到底这个套件在主机中安置了那些档案?

  rpm -ql dhcp | more

  会得到以下列表:

  /etc/rc.d/init.d/dhcpd

  /usr/doc/dhcp-2.0

  /usr/doc/dhcp-2.0/CHANGES

  /usr/doc/dhcp-2.0/README

  /usr/doc/dhcp-2.0/RELNOTES

  /usr/doc/dhcp-2.0/dhcpd.conf.sample

  /usr/man/man5/dhcp-options.5.gz

  /usr/man/man5/dhcpd.conf.5.gz

  /usr/man/man5/dhcpd.leases.5.gz

  /usr/man/man8/dhcpd.8.gz

  /usr/man/man8/dhcrelay.8.gz

  /usr/sbin/dhcpd

  /usr/sbin/dhcrelay

  /var/state/dhcp

  其中, 比较重要的有二个:

  其一是, /etc/rc.d/init.d/dhcpd , 它可用来控制 dhcp server 的行为, 如:

  启动: /etc/rc.d/init.d/dhcpd start

  停止: /etc/rc.d/init.d/dhcpd stop

  重新启动: /etc/rc.d/init.d/dhcpd restart

  观察运作状况: /etc/rc.d/init.d/dhcpd status

  另外一个是, /usr/doc/dhcp-2.0/dhcpd.conf.sample

  (RedHat 7.0 在 /usr/share/doc/dhcp-2.0 中)

  顾名思义, 这是一个 dhcp server 的设定档本, 等一下我们要将它 copy 到 /etc 下, 并且命名为 dhcpd.conf.

  (c) cp /usr/doc/dhcp-2.0/dhcpd.conf.sample /etc/dhcpd.conf

  2. 设定:

  接着, 便可开始针对 dhcp server 的设定档 /etc/dhcpd.conf 来做设定的工作.

  以下是该档的原始内容:

  subnet 192.168.0.0 netmask 255.255.255.0 {

  # --- default gateway

  option routers 192.168.0.1;

  option subnet-mask 255.255.255.0;

  option nis-domain "domain.org";

  option domain-name "domain.org";

  option domain-name-servers 192.168.1.1;

  option time-offset -5; # 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.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;

  fixed-address 207.175.42.254;

  }

  }

  请将它修改成: (以昭明国中为例, 该校为 1/2 C 前半)

  subnet 163.26.167.0 netmask 255.255.255.128 {

  # --- default gateway

  # 路由器 IP

  option routers 163.26.197.126;

  # 网路遮罩

  option subnet-mask 255.255.255.128;

  # Domain

  option domain-name "jmjh.tnc.edu.tw";

  # 指定要分派那几台 DNSServer 来提供服务?

  option domain-name-servers 163.26.167.1, 163.26.200.1, 168.95.1.1;

  option time-offset -5; # Eastern Standard Time

  # 动态分配 IP 围

  range dynamic-bootp 163.26.167.50 163.26.167.100;

  # IP 租约时间

  default-lease-time 21600;

  max-lease-time 43200;

  # 将贵校的 DNS 主机设定在固定 IP

  # we want the nameserver to appear at a fixed address

  host ns {

  next-server dns.jmjh.tnc.edu.tw;

  hardware ethernet 12:34:56:78:AB:CD;

  fixed-address 163.26.167.1;

  }

  }

  上面的设定中, 请您依贵校组态, 自行修改之.

  要注意的是:

  (a) host ns {

  next-server dns.jmjh.tnc.edu.tw;

  hardware ethernet 12:34:56:78:AB:CD; ---> 这个是 DNS 主机网路卡的编号(6 bytes), 请用 ifconfig 来查询, 如下所示:

  fixed-address 163.26.167.1;

  }

  ifconfig 得:

  eth0 Link encap:Ethernet HWaddr 48:54:E8:26:CC:C9

  inet addr:163.26.167.1 Bcast:163.26.167.127 Mask:255.255.255.128

  UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

  RX packets:762193 errors:0 dropped:0 overruns:0 frame:0

  TX packets:555401 errors:0 dropped:0 overruns:0 carrier:0

  collisions:0 txqueuelen:100

  Interrupt:11 Base address:0x8000

  取 HWaddr 48:54:E8:26:CC:C9 的 48:54:E8:26:CC:C9

  填入上面的 hardware ethernet 设定中即可.

  特别注意: 贵校的网卡编号(每张卡全球唯一)一定不会和此本一样, 请勿照抄此处的设定值哟!

  (b) 这台 dhcp server 可以和原有的 NT/W2K 上的 dhcp server 共存, 但请注意, IP 分配段最好要错开.

  那麽, 到底工作站会向那一台 dhcp server 取得动态分配呢?

  很简单, 当工作站发出要求(request)的讯息时, 谁先抢到, 就由谁先提供.

  3. 执行:

  /etc/rc.d/init.d/dhcpd start

  第一次执行时, 不会成功,

  若是 dhcp-2.0-5 版本, 它会出现 failed 失败的红色字串, 并警告您:

  /var/state/dhcp/dhcpd.leases 这个档案不存, 因此, 您必须手动开启一个新档:

  touch /var/state/dhcp/dhcpd.leases

  这个档案的用途是: 记录各工作站租赁 IP 的情形.

  若是 DHCP-2.0-12 以後的版本, 则不会出现任何讯息, 您会发现它并没有运作起来.

  这是因为: 此版一旦发现您没有开设此档, 便会直接跳出而不执行.

  而且此档的位置稍有不同:

  它位於 /var/lib/dhcp/dhcpd.leases

  OK, 手动开一下吧?!

  touch /var/lib/dhcp/dhcpd.leases

  现在可以启动了, 并把它设成一开机就自动执行(linuxconf 或 ntsysv 皆可设定之)

  /etc/rc.d/init.d/dhcpd start

  恭喜您! 贵校已拥有一个非常稳定的 DHCP Server 了!

  注意事项:

  若您有架设 Linux 防火墙, 想将 DHCP Server 由某一张网卡分配出去(一张网卡代表一个网段围),

  例如: 想由第二张网路卡 eth1 介面分配出去, 只要修改 /etc/rc.d/init.d/dhcpd 即可.

  如下所示:

  将 start daemons 的地方

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章