⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1565.html

📁 著名的linux英雄站点的文档打包
💻 HTML
📖 第 1 页 / 共 5 页
字号:
内的机器动态分配IP地址、域名服务器和网关地址等信息。通常使用它的主要理由是节<br>
省IP地址,但是也有许多单位为了避免管理每台机器的IP地址这样的复杂问题而使用它<br>
。如果你的系统中有很多连什么是IP地址都搞不清的用户,用dhcp提供网络配置是一件<br>
很有益的事情。<br>
  <br>
  要使用DHCP,首先必须记住DHCP是一个租用体系,系统会定期以广播的方式传递给客<br>
户机器可以使用的IP地址,为此,你必须有一些IP地址可以供动态分配之用。实际上,<br>
纯粹的局域网中,DHCP并没有太大的用处,但是当面对一个较大的部门的时候,为了使<br>
安装配置网络客户机器的方法简化,也可以使用DHCP。<br>
  <br>
  要使用DHCP,必须安装dhcp软件包,例如我用的是dhcp-2.0.3.rpm,当然你也仍然可<br>
以自己编译这个工具。<br>
  <br>
  dhcp的配置非常简单,缺省下使用/etc/dhcp.conf,这个文件通常需要自己建立,下<br>
面是一个范例的dhcp.conf文件:<br>
  <br>
  subnet 192.168.12.0 netmask 255.255.255.0 {<br>
  <br>
  range 192.168.12.10 192.168.12.55;<br>
  <br>
  #出租的IP范围<br>
  <br>
   default-lease-time 600;<br>
  <br>
  #缺省的占用时间<br>
  <br>
  max-lease-time 7200;<br>
  <br>
  #最大占用时间片<br>
  <br>
  option subnet-mask 255.255.255.0;<br>
  <br>
  #子网的掩码<br>
  <br>
  option broadcast-address 192.168.12.255;<br>
  <br>
  #广播地址<br>
  <br>
  option routers 192.168.12.1;<br>
  <br>
  #路由器地址<br>
  <br>
  option domain-name-servers 192.168.12.2;<br>
  <br>
  #域名服务器地址<br>
  <br>
  option domain-name "asnc.edu.cn";<br>
  <br>
  #缺省的域名<br>
<br>
  <br>
}<br>
<br>
  <br>
  每个由subnet开始的段落定义了一个独立的租用段落,可以有多个subnet,每个subn<br>
et段落里面还可以有多个range段落。<br>
  <br>
  接下来,你需要启动dhcpd程序,这个程序会使用一个文件,这个文件的名字是dhcpd<br>
.leases,不过具体的位置和发行版本有关,你可以直接执行dhcpd程序来看看它的位置<br>
:<br>
  <br>
  [root@openlab /etc]# dhcpd<br>
  <br>
  Internet Software Consortium DHCP Server 2.0<br>
  <br>
  Copyright 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium.<br>
  <br>
  All rights reserved.<br>
<br>
  <br>
  Please contribute if you find this software useful.<br>
  <br>
  For info, please visit http://www.isc.org/dhcp-contrib.html<br>
<br>
  <br>
  Can't open lease database /var/state/dhcp/dhcpd.leases: No such file or di<br>
rector<br>
  <br>
  y -- check for failed database rewrite attempt!<br>
  <br>
  Please read the dhcpd.leases manual page if you.<br>
  <br>
  don't know what to do about this.<br>
  <br>
  exiting.<br>
  <br>
  显然,它认为dhcpd.leases应该位于/var/state/dhcp/dhcpd.leases,因此你可以手<br>
工建立这个文件:<br>
  <br>
   [root@openlab /etc]# touch /var/state/dhcp/dhcpd.leases<br>
  <br>
  然后就可以重新执行dhcpd了。<br>
  <br>
  不过需要注意的是,dhcpd是通过广播来完成服务的,所以你应该确定核心中加入了广<br>
播支持,用ifconfig程序可以看到当前的状况:<br>
  <br>
  [root@openlab dhcp]# ifconfig eth0<br>
  <br>
  eth0      Link encap:Ethernet  HWaddr 52:54:4C:B9:B8:29<br>
  <br>
            inet addr:192.168.12.2<br>
  <br>
    Bcast:192.168.12.255  Mask:255.255.255.0<br>
  <br>
            UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1<br>
  <br>
            RX packets:3288 errors:0 dropped:0 overruns:0 frame:0<br>
  <br>
            TX packets:1015 errors:0 dropped:0 overruns:0 carrier:0<br>
  <br>
            collisions:1 txqueuelen:100<br>
  <br>
            Interrupt:3 Base address:0x300<br>
  <br>
  MULTICAST说明广播已经被支持了。<br>
  <br>
  下一步要确认广播路由,例如,你要想通过eth0广播DHCP服务信息,必须将eth0加入<br>
广播路由表,即<br>
  <br>
  route add –host 255.255.255.255 dev eth0<br>
  <br>
  下面就可以使用dhcpd了,在测试阶段,你可以使用-f让dhcpd在前台工作:<br>
  <br>
  dhcpd –f –d<br>
  <br>
  -d选项显示调试信息。<br>
  <br>
  然后,你需要准备windows 9x客户机器,这只要在Windows 98的控制面板中选择网络<br>
设置,设置TCP/IP通信协议的属性,将IP地址设置成“自动获得IP地址”就可以了。<br>
  <br>
  然后可以重启动windows 98,在启动中,你应该可以在Linux的终端上看到这样的题是<br>
:<br>
  <br>
  Internet Software Consortium DHCP Server 2.0<br>
  <br>
  Copyright 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium.<br>
  <br>
  All rights reserved.<br>
<br>
  <br>
  Please contribute if you find this software useful.<br>
  <br>
  For info, please visit http://www.isc.org/dhcp-contrib.html<br>
<br>
  <br>
  Listening on LPF/eth0/52:54:4c:b9:b8:29/202.199.248.0<br>
  <br>
  Sending on   LPF/eth0/52:54:4c:b9:b8:29/202.199.248.0<br>
  <br>
  Sending on   Socket/fallback/fallback-net<br>
  <br>
  DHCPREQUEST for 192.168.12.47 from 00:40:05:47:7c:14 via eth0<br>
  <br>
  DHCPREQUEST for 192.168.12.47 from 00:40:05:47:7c:14 via eth0<br>
  <br>
 <br>
  <br>
  图5.5 启用DHCP<br>
  <br>
  这样的信息表示IP地址已经正确地分配了。<br>
  <br>
  如果想要了解当前dhcp分配的情况,可以看看/var/state/dhcp/dhcpd.leases,这基<br>
本是个对照表,例如:<br>
  <br>
  [root@openlab dhcp]# cat dhcpd.leases<br>
  <br>
  # All times in this file are in UTC (GMT), not your local timezone.   This<br>
 is<br>
  <br>
  # not a bug, so please don't ask about it.   There is no portable way to<br>
  <br>
  # store leases in the local timezone, so please don't request this as a<br>
  <br>
  # feature.   If this is inconvenient or confusing to you, we sincerely<br>
  <br>
  # apologize.   Seriously, though - don't ask.<br>
  <br>
  # The format of this file is documented in the dhcpd.leases(5) manual page<br>
. <br>
<br>
  <br>
  lease 192.168.12.50 {<br>
  <br>
          starts 5 2000/02/18 07:45:49;<br>
  <br>
          ends 5 2000/02/18 07:55:49;<br>
  <br>
          hardware ethernet 00:88:cc:12:53:15;<br>
  <br>
          uid 01:00:88:cc:12:53:15;<br>
  <br>
          client-hostname "aaa";<br>
  <br>
}<br>
  <br>
  这个信息表示192.168.12.50分配给了一个名叫aaa的客户机器。<br>
  <br>
  在某些情况下,你可能需要建立绑定到确定的以太网地址的IP地址对照表,这可以通<br>
过host段落来设置,例如:<br>
  <br>
  host test {<br>
  <br>
   hardware ethernet 08:00:2b:4c:59:23;<br>
  <br>
  #以太网卡的MAC地址<br>
  <br>
  fixed-address 192.168.12.40;<br>
  <br>
  #分配一个固定的IP地址<br>
  <br>
}<br>
  <br>
  这个段落里仍然可以使用各种option 子句。<br>
  <br>
  使用Linux提供的dhcp程序有一个比较讨厌的问题,一般来说,Linux的dhcp服务是相<br>
当稳定的,问题在于,如果你在同一个子网内同时有windows NT和Linux的dhcp服务程序<br>
,那么windows 9x客户机器总是会先选择Windows NT服务器,目前我们还没有找到解决<br>
这个问题的好办法,只能尽量保证不开Windows NT dhcp服务。<br>
  <br>
  5.4 NIS<br>
  <br>
  我们现在要来处理一个纯粹在局域网中使用的服务,即NIS(网络信息系统)。这个东<br>
西是sun搞出来的在不同机器之间共享口令文件和组文件的工具。依靠它,不同的机器可<br>
以使用一组同样的账号信息。对于NFS,Samba等共享服务,或者其他需要在机器之间共<br>
享用户权限信息的软件,NIS相当有用。<br>
  <br>
  最简单的NIS应用是共享passwd文件,例如一个NIS服务器可以散布它自身的passwd和<br>
shadow文件的信息,使得即使在NIS客户机器上没有账号的用户也可以根据服务器上的帐<br>
号和口令登录到客户机器上。<br>
  <br>
  NIS有两个版本,其中,比较早期的一个是我们下面要介绍的版本,而比较新的一个,<br>
称为NIS+,被sun应用在它的Solaris系统中。目前Linux的免费NIS服务器只能支持比较<br>
早的版本,虽然Linux的NIS客户程序可以使用NIS+。因为我们这本书是服务器指南,所<br>
以我们将不会涉及NIS+。<br>
  <br>
  在理解NIS之前,我们必须首先了解它的局限性。NIS是一个简单的数据库系统,客户<br>
机器通过广播的方法从网络上取得NIS服务信息,它对NIS请求和服务信息都不作验证,<br>
因此任何人都可能冒充成真正的NIS客户来取得你的NIS服务器提供的口令映射表,也就<br>
是说可以拿到你的服务器的/etc/passwd和/etc/shadow文件。或者,更危险的情况是,<br>
任何人都可以冒充为一台NIS服务器发布NIS信息。因此,除非你确保你得局域网是安全<br>
的,否则不要使用NIS。如果你的网络接入Internet,记住应该用防火墙把局域网和Int<br>
ernet割开。<br>
  <br>
  因为NIS是基于广播的,因此你在每一个以太网段中都需要包含一个NIS服务器,为了<br>
确保服务器之间的信息同步,NIS使用“主”和“从”服务器的概念。主NIS服务器发送<br>
权威的NIS信息,而从NIS服务器只是从主服务器那里取得NIS信息,并且对同一网段的机<br>
器提供服务。主从服务器之间的NIS信息传递基于IP,所以可以跨越路由,这使得使用N<br>
IS管理较大的网络成为可能。<br>
  <br>
  要使用NIS,你必须安装NIS服务器程序,在Linux中,对应的软件包是以yp开头的几个<br>
包,例如:<br>
  <br>
  # ls yp*<br>
  <br>
  yp-tools-2.3-2.i386.rpm  ypbind-3.3-24.i386.rpm  ypserv-1.3.7-3.i386.rpm<br>
  <br>
  #rpm –i yp*<br>
  <br>
  这个古怪的名字是因为NIS最早被称为Sun Yellow Page。<br>
  <br>
  我们说过NIS主要是用来在机器之间共享账号信息,实际上还有一些信息也在NIS中传<br>
递,例如下面的几个文件:/etc/hosts,/etc/networks,/etc/protocols,/etc/serv<br>
ices和/etc/netgroup等等。<br>
  <br>
  现在我们来构造一个简单的NIS服务系统,它包括一个NIS服务器和NIS客户机器。NIS<br>
服务器的设置是简单的,首先我们必须设置NIS域的名字:<br>
  <br>
  # domainname ASNC<br>
  <br>
  这样就建立了一个名字叫ASNC的NIS域。注意不要把NIS域和DNS或者Windows NT的域混<br>
淆。<br>
  <br>
  接下来,需要初始化服务器,这可以用ypinit程序来完成,通常情况下,ypinit位于<br>
/usr/lib/yp目录下,要将服务器初始化为NIS主服务器,使用ypinit –m:<br>
  <br>
  # /usr/lib/yp/ypinit -m<br>
<br>
  <br>
  At this point, we have to construct a list of the hosts which will run NIS<br>
  <br>
  servers.  mail.asnc.edu.cn is in the list of NIS server hosts.  Please con<br>
tinued<br>
  <br>
  the names for the other hosts, one per line.  When you are done with the<br>
  <br>
  list, type a &lt;control D&gt;.<br>
  <br>
          next host to add:  mail.asnc.edu.cn<br>
  <br>
          next host to add:<br>
  <br>
  这里需要你填入各个NIS服务器的地址,输入所有NIS服务器的地址后,按下^D组合健<br>
,将会出现类似下面的信息:<br>
  <br>
  The current list of NIS servers looks like this:<br>
  <br>
  mail.asnc.edu.cn<br>
  <br>
  wxd.asnc.edu.cn<br>
  <br>
  Is this correct?  [y/n: y]<br>
  <br>
  回车后,系统将自动初始化NIS服务器。<br>
  <br>
  接下来,你需要启动NIS服务程序,这个程序的名字是ypserv,一般位于/sbin下面,<br>
你只要简单地执行它就可以了,不过它是基于portmap程序的,所以<br>
  <br>
  #portmap<br>
  <br>
  #ypserv<br>
  <br>
  这样,NIS主服务器就开始运行了

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -