环境如下:        (参考之前,保证二个子网可以互相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

[root@mail 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地址,直接编辑

[root@mail 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地址,直接编辑

[root@mail 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服务

[root@mail sysconfig]#  service    network    restart

[root@mail 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文件多了个子网

[root@localhost 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端

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

[root@localhost root]#  vi    /etc/sysctl.conf

net.ipv4.ip_forward = 1

[root@localhost root]# sysctl    -p   (更改生效)

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

[root@localhost root]#  service    iptables    stop

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

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

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

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

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

4、去Windows端测试

禁用,再启动,出现下图

CMD命令行输入   ipconfig/all

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

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

7、二种 为二个不同的子网配置DHCP服务器(中继代理服务器)的更多相关文章

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

    http://blog.csdn.net/freecodetor/article/details/5799550 一.连接远程数据库: 1.显示密码 如:MySQL 连接远程数据库(192.168.5 ...

  2. IIS7.5使用web.config设置伪静态的二种方法

    转自 网上赚钱自学网 .http://www.whosmall.com/post/121 近几天公司里开发的项目有几个运行在IIS7.5上,由于全站采用的是伪静态,因此从网上找到两两种方法来实现.这两 ...

  3. 8、FTP,二种文本传输模式

    一.基本知识 1. FTP是 TCP/IP协议族 的协议之一,简称文件传输协议,主要用于远距离文件传输,如文件的上传和下载 2. 下面都是以VSFTP服务器为例 VSFTP服务器的用户有三种形式: 匿 ...

  4. Dynamic CRM 2013学习笔记(二十)字段改变事件的二种实现方法

    CRM里有二种方式实现字段change事件,一种是在form里,一种完全通过js来实现.本文介绍下二者的用途及区别. 1. Form里用法 这种方式估计其实也是添加一个js的function. 这种方 ...

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

    前言: spring容器以xml的形式注入bean,然后可以在类中获取,获取的形式主要有二种:第一种最简单--采用@Resource 或@Autowired关键字在加载spring文件时将bean注入 ...

  6. php分页类的二种调用方法(转载)

    php分页类的二种调用方法 原文地址:http://www.xfcodes.com/php/fenye/25584.htm 导读:php分页类的二种调用用法,ajax调用php分页类,非ajax方式调 ...

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

      UserView--第二种方式(避免第一种方式Set饱和),基于Spark算子的java代码实现   测试数据 java代码 package com.hzf.spark.study; import ...

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

    一.连接远程数据库: 1.显示密码 如:MySQL 连接远程数据库(192.168.5.116),端口"3306",用户名为"root",密码"123 ...

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

    1.修改views文件 def foo(request,myID,myName): t = loader.get_template("foo.html") user = {&quo ...

随机推荐

  1. bootstrap表格

    Bootstrap 实例 - 边框表格 < 建立日期 2015-5-27 录入人员 test1 处理人员 test2 问题报障人   部门/城市公司   联系电话   问题类型   处理状态   ...

  2. Python的魔法函数之 - __len__,__getitem__,__setitem__,__delitem__

    # 对象作为len()函数的参数是必须实现该方法 __len__ # 使用类似字典方式访问成员时必须实现 dic['pro_name'] __getitem__ # 使用类似字典方式设置成员时必须实现 ...

  3. Redis数据结构详解(一)

    前言 Redis和Memcached最大的区别,Redis 除啦支持数据持久化之外,还支持更多的数据类型而不仅仅是简单key-value结构的数据记录.Redis还支持对这些数据类型做更多的服务端操作 ...

  4. JQuery 滚动条插件perfect-scrollbar

    原文地址 https://github.com/noraesae/perfect-scrollbar perfect-scrollbar Tiny but perfect jQuery scrollb ...

  5. 2. SVM线性分类器

    在一个线性分类器中,可以看到SVM形成的思路,并接触很多SVM的核心概念.用一个二维空间里仅有两类样本的分类问题来举个小例子.如图所示 和是要区分的两个类别,在二维平面中它们的样本如上图所示.中间的直 ...

  6. webpack配置别名alias出现的错误匹配

    @(webpack) webpack是一款功能强大的前端构建工具,不仅仅是针对js,它也可通过各种loader来构建相关的less,html,image等各种资源,将webpack配合流程制定工具gu ...

  7. SQL Server 执行计划利用统计信息对数据行的预估原理二(为什么复合索引列顺序会影响到执行计划对数据行的预估)

    本文出处:http://www.cnblogs.com/wy123/p/6008477.html 关于统计信息对数据行数做预估,之前写过对非相关列(单独或者单独的索引列)进行预估时候的算法,参考这里. ...

  8. “全能”选手—Django 1.10文档中文版Part1

    本文是博主翻译的Django1.10版本官方文档的第一部分,如时间充裕,争取一直翻译下去,经验不足,或有错漏,敬请指正. 另外对于公开文档进行翻译的版权问题不是很清楚,如有侵权请联系我! 另外,要转载 ...

  9. line-height不同单位之间的区别

    line-height用来设置元素的行高. 该属性会影响行框的布局.在应用到一个块级元素时,它定义了该元素中基线之间的最小距离而不是最大距离. line-height 与 font-size 的计算值 ...

  10. JavaScript原型链分析

    Js之原型链    1.object 与 Object        1.object是类型,表示对象类型        2.Object是函数    2.js成员的访问规则        o.方法( ...