7、二种 为二个不同的子网配置DHCP服务器

环境如下:        (参考之前,保证二个子网可以互相ping通)

虚拟机vm1        192.168.170.3                    VMnet8 (NAT模式)

虚拟机vm2        192.168.155.3                    VMnet1 (仅主机模式)

虚拟机gate        192.168.170.4 (eth1)       VMnet8 (NAT模式)

192.168.155.4 (eth0)       VMnet1 (仅主机模式)

第一种:在网关gate配置DHCP服务器

(eth0)   为   192.168.155.0/24   子网提供IP地址分配服务

(eth1)   为   192.168.170.0/24   子网提供IP地址分配服务

1、putty连接192.168.170.4

[[email protected] root]#  vi    /etc/dhcpd.conf

ddns-update-style interim;
ignore client-updates;

subnet 192.168.155.0 netmask 255.255.255.0 {

        option routers                  192.168.155.4;
        option subnet-mask              255.255.255.0;
        option domain-name-servers      192.168.155.4;
        option time-offset              28800;  # Eastern Standard Time

        range  192.168.155.10  192.168.155.198;
        default-lease-time 86400;
        max-lease-time 172800;

 host www {
                next-server marvin.redhat.com;
                hardware ethernet 12:34:56:78:AB:CD;
                fixed-address 207.175.42.254;

            }

}

subnet 192.168.170.0 netmask 255.255.255.0 {

        option routers                  192.168.170.4;
        option subnet-mask              255.255.255.0;
        option domain-name-servers      192.168.170.4;
        option time-offset              28800;  # Eastern Standard Time

        range  192.168.170.6  192.168.170.230;
        default-lease-time 86400;
        max-lease-time 172800;

 host nd {
                next-server marvin.redhat.com;
                hardware ethernet 12:34:56:78:AB:CD;
                fixed-address 207.175.42.254;

            }
}

设置eth0网卡的IP地址,直接编辑

[[email protected] root]#  vi    /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.155.4
NETMASK=255.255.255.0
GATEWAY=192.168.155.4

设置eth1网卡的IP地址,直接编辑

[[email protected] root]#  vi    /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.170.4
NETMASK=255.255.255.0
GATEWAY=192.168.170.4

重启network,DHCP服务

[[email protected] sysconfig]#  service    network    restart

[[email protected] sysconfig]#   service    dhcpd   restart

测试二个子网是否都正常工作

如果在Windows端
①将 VMnet1 和 VMnet8 的(属性-》TCP/IPv4-》把里面的“自动获取IP”打上勾,设置DNS服务器)

   

等几分钟,正常如下图   (出现网络几)

②cmd 进命令行 ipconfig /all

(看 ip 是不是在 刚才设置的ip范围之内,和下面红色部分与设置的一致)

(注意:

1、因为会有租期的影响,如果某步设置出错,重启DHCP服务后,IP地址不变,可以把系统时间调快几天,让租约失效,重新获取。

2、

看看 VMnet1 和 VMnet8 的IP在刚才设置文件里面的范围?如果不是,可能就是其他虚拟机分配的IP。去把DHCP服务关闭就好了。
到主界面 “编辑”-》分别把“使用本地DHCP服务将IP地址分配给虚拟机”的勾 去掉。

再禁用,然后启动 这二个网卡,重新获取

3、可能子网其他的DHCP服务器分配了,这时候只能看看是那个关掉其DHCP服务

如果在Linux端也可以用  dhclient 命令来测试DHCP服务

第二种:配置DHCP中继代理服务器

(如果做了第一种,先把gate的DHCP服务关闭,避免影响今次实验)

DHCP请求广播包是不能通过路由器的,因为路由器是具有隔离广播风暴的功能。

所以在VM1建立DHCP服务器,192.168.155.0/24子网是没法获取到的,这时候就需要在VM2建立DHCP中继代理服务器。

(二个子网要ping通,这里VM1和VM2ping通)

1、在VM1(170.3)建立DHCP服务器,基本步骤 跟上一篇基本一样,就是/etc/dhcpd.conf文件多了个子网

[[email protected] root]#  vi    /etc/dhcpd.conf

ddns-update-style interim;
ignore client-updates;
subnet 192.168.170.0 netmask 255.255.255.0 {
        option routers                  192.168.170.4;
        option subnet-mask              255.255.255.0;
        option domain-name              "gr.org";
        option domain-name-servers       192.168.170.3;
        option time-offset              28800;
        range dynamic-bootp  192.168.170.30   192.168.170.110;
        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;

            }
}

subnet 192.168.155.0 netmask 255.255.255.0 {

        option routers                  192.168.155.4;
        option subnet-mask              255.255.255.0;
        option domain-name-servers      192.168.155.3;
        option time-offset              28800;  # Eastern Standard Time
        range  192.168.155.81   192.168.155.200;
        default-lease-time 86400;
        max-lease-time 172800;

}

2、gate端

保证开启转发   ( 以前做过可以跳过 )

[[email protected] root]#  vi    /etc/sysctl.conf

net.ipv4.ip_forward = 1

[[email protected] root]# sysctl    -p   (更改生效)

关闭防火墙,或者以后学到防火墙时,直接放行66和67端口

[[email protected] root]#  service    iptables    stop

3、VM2(155.3)开始配置DHCP中继代理服务器

先安装DHCP软件,参考上一篇

[[email protected] root]#  vi     /etc/sysconfig/dhcrelay  (设置DHCP服务器)

# Command line options here
INTERFACES="eth0"
DHCPSERVERS="192.168.170.3"

[[email protected] root]#   service   dhcrelay    start      (启动中继服务)
启动 dhcrelay:                                            [  确定  ]

4、去Windows端测试

禁用,再启动,出现下图

CMD命令行输入   ipconfig/all

IP在设置范围之内,正确。

去170.3机查看分配的IP网络信息
[[email protected] root]#   cat    /var/lib/dhcp/dhcpd.leases

时间: 2024-11-03 05:24:32

7、二种 为二个不同的子网配置DHCP服务器的相关文章

FastReport中的frxRichView如何设置二种不同的字体 [问题点数:100分,结帖人LIULIVERYOK]

FastReport中的frxRichView如何设置二种不同的字体 [问题点数:100分,结帖人LIULIVERYOK] 在frxRichView中有几段文字,如何给第一段文字设置不同的字体? 感激大虾们能给下答案!!! 来源:http://bbs.csdn.net/topics/390952125?page=1 解答: frxReport1->LoadFromFile(L"D:\\ccrun\\123.fr3"); TfrxRichView *f = (TfrxRichVie

debian7更换gcc版本的二种方法分享

debian7更换gcc版本的二种方法分享 最近在编译qt,之前用的是debian6,gcc版本是gcc-4.4,当使用debian7时,编译遇到了很多跟debian6不一样的问题,debian7的默认gcc使用的是gcc-4.7,可能是编译器版本的问题,所以需要将debian7的gcc版本更换为gcc-4.4,办法如下:(推荐用方法一) 方法一: 安装gcc4.4和g++4.4 复制代码 代码如下: sudo apt-get install gcc-4.4sudo apt-get isntal

PHP去掉数组重复值二种方法实例

PHP两种去掉数组重复值的方法,分别使用foreach方法和array_unique方法. 去除一个数组中的重复值,可以使用foreach方法,也可以使用array_unique方法. <?php $arrF = array(); $arrS = array(); $intTotal = 100; $intRand = 10; for($i=0; $i < $intTotal; $i++) { $arrF[] = rand(1, $intRand); $arrS[] = rand(1, $in

UserView--第二种方式(避免第一种方式Set饱和),基于Spark算子的java代码实现

UserView--第二种方式(避免第一种方式Set饱和),基于Spark算子的java代码实现 测试数据 java代码 1 package com.hzf.spark.study; 2 3 import java.util.Map; 4 import java.util.Set; 5 6 import org.apache.spark.SparkConf; 7 import org.apache.spark.api.java.JavaPairRDD; 8 import org.apache.s

Python文件遍历二种方法

分享下有关Python文件遍历的两种方法,使用的OS模块的os.walk和os.listdir实现. 关于Python的文件遍历,大概有两种方法,一种是较为便利的os.walk(),还有一种是利用os.listdir()递归遍历.方法一:利用os.walkos.walk可以自顶向下或者自底向上遍历整个文件树,然后返回一个含有3个元素的tuple,(dirpath, dirnames, filenames).注意,os.walk()会返回一个generater,所以调用的时候一定要放到for循环中

linux系统下php安装mbstring扩展的二种方法

.执行 复制代码代码如下: yum install php-mbstring 2. 修改php.ini (这一步非常重要, 部分lxadmin版本无法自动修改) 复制代码代码如下: echo ‘extension=mbstring.so' >>/etc/php.ini #更具php安装目录而定 3. 重启web service 如果是apache: service httpd restart 方法二:php 5.36安装目录:/usr/local/php 复制代码代码如下: #cd /usr/

SpringJUnit4加载类目录下(src)和WEF-INF目录下的配置文件二--获取注入的bean的二种方式

前言: spring容器以xml的形式注入bean,然后可以在类中获取,获取的形式主要有二种:第一种最简单--采用@Resource 或@Autowired关键字在加载spring文件时将bean注入到相应的类中:第二种方式是先用FileSystemXmlApplicationContext.ClassPathXmlApplicationContext 实例化ApplicationContext(Spring容器),然后调用其getBean方法获取. 下面直接代码说明: 注意:是在springJ

django之创建第7-5-第二种传值方式(time/1232/xiaodneg)

1.修改views文件 def foo(request,myID,myName): t = loader.get_template("foo.html") user = {"today": datetime.datetime.now(),"id":myID,"name":myName} c = Context(user) return HttpResponse(t.render(c)) 2.创建foo.html文件 <!

mysql 远程连接数据库的二种方法

一.连接远程数据库: 1.显示密码 如:MySQL 连接远程数据库(192.168.5.116),端口"3306",用户名为"root",密码"123456" C:/>mysql -h 192.168.5.116 -P 3306 -u root -p123456 2.隐藏密码 如:MySQL 连接本地数据库,用户名为"root", C:/>mysql -h localhost -u root -p Enter pa