DHCP+DNS+Web实验

前言

本实验主要通过GNS3、VMware workstation来模拟局域网环境的vlan间通信、DNS解析、DHCP分配IP地址。

GNS3配置一台二层交换机和一台三层交换机,VMware workstation提供一台Windows server2012作为客户机(vlan 10)、一台CentOS7客户机(vlan 20)、一台CentOS7作为DNS和DHCP服务器,还有一台CentOS7作为Web服务器(服务器都在vlan 100)。

IP地址分配如下:

vlan 10网关:192.168.10.1/24

vlan 20网关:192.168.20.1/24

vlan 100网关:192.168.100.1/24

​ 三个网关都设置在三层交换机的vlan接口上。

DHCP&DNS服务器:192.168.100.100/24

Web服务器:192.168.100.88/24

CentOS7客户机:192.168.20.88/24,通过DHCP的mac地址绑定下发

Windows server客户机:通过DHCP获取,vlan 10

在这里插入图片描述

配置

事先准备

所有Linux关闭防火墙

[root@localhost ~]# systemctl stop firewalld 
[root@localhost ~]# setenforce 0

把VM的dhcp关掉

在VMware workstation中,编辑->虚拟网络编辑器,关掉DHCP
在这里插入图片描述

SW_2

SW1#conf t 
# 关闭路由转发功能
SW1(config)#no ip routing
# 创建vlan 10、20、100
SW1(config)#vlan 10,20,100
SW1(config-vlan)#ex
# f1/1 f1/2 f1/3分别划分vlan、设置模式
SW1(config)#in f1/1
SW1(config-if)#sw mo ac
SW1(config-if)#sw ac vlan 10
SW1(config-if)#in f1/2
SW1(config-if)#sw mo ac 
SW1(config-if)#sw ac v 20
SW1(config-if)#in f1/3
SW1(config-if)#sw mo ac
SW1(config-if)#sw ac v 100
# f1/0接口为trunk模式
SW1(config-if)#in f1/0
SW1(config-if)#sw mo t
SW1(config-if)#sw tr en d

SW_3

SW2#conf t 
# 接口f1/0为trunk模式
SW2(config)#in f1/0
SW2(config-if)#sw mo t
SW2(config-if)#sw t en d
SW2(config-if)#ex
# 创建vlan10、20、100
SW2(config)#vlan 10,20,100
SW2(config-vlan)#ex
# 分别进入vlan子接口,配置IP地址和DHCP中继
SW2(config)#in vlan 10
SW2(config-if)#no sh
SW2(config-if)#ip add 192.168.10.1 255.255.255.0
SW2(config-if)#ip helper-address 192.168.100.100
SW2(config-if)#in vlan 20
SW2(config-if)#no sh
SW2(config-if)#ip add 192.168.20.1 255.255.255.0
SW2(config-if)#ip helper-address 192.168.100.100
SW2(config-if)#in vlan 100
SW2(config-if)#no sh
SW2(config-if)#ip add 192.168.100.1 255.255.255.0
SW2(config-if)#ip helper-address 192.168.100.100

DHCP配置

# 安装DHCP
[root@localhost ~]# yum -y install dhcp*  &> /dev/null
[root@localhost ~]# rpm -q dhcp
dhcp-4.2.5-77.el7.centos.x86_64
# 查看配置文件的路径
[root@localhost ~]# rpm -qc dhcp
/etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd6.conf
/etc/openldap/schema/dhcp.schema
/etc/sysconfig/dhcpd
/var/lib/dhcpd/dhcpd.leases
/var/lib/dhcpd/dhcpd6.leases
# 复制example文件,配置在example文件中修改
[root@localhost ~]# cp  /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
# 修改全局配置
option domain-name-servers 192.168.100.100;

# 配置文件,添加以下subnet
subnet 192.168.100.0 netmask 255.255.255.0 {
  range 192.168.100.101 192.168.100.180;
  # 下发网关
  option routers 192.168.100.1;
}

subnet 192.168.10.0 netmask 255.255.255.0 {
  range 192.168.10.101 192.168.10.180;
  option routers 192.168.10.1;
}

subnet 192.168.20.0 netmask 255.255.255.0 {
  range 192.168.20.101 192.168.20.180;
  option routers 192.168.20.1;
  # 给CentOS7客户机绑定固定IP地址
  host bind {
  	# mac为CentOS7客户机的网卡mac
    hardware ethernet 00:0c:29:36:ab:5f;
    fixed-address 192.168.20.88;
  }
}

# 启动DHCP服务
[root@localhost ~]# systemctl start dhcpd

DNS服务

# 安装DNS服务
[root@localhost ~]# yum -y install bind*
[root@localhost ~]# rpm -qc bind
/etc/logrotate.d/named
/etc/named.conf				# 主配置文件,控制系统全局
/etc/named.iscdlv.key
/etc/named.rfc1912.zones	# 区域配置文件,控制具体单个区域
/etc/named.root.key
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named
/var/named/named.ca
/var/named/named.empty
/var/named/named.localhost	# 区域数据配置文件,区域信息
/var/named/named.loopback
[root@localhost ~]# vim /etc/named.conf
# 主配置文件
options {
		# 监听本地53端口
        listen-on port 53 { 192.168.100.100; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        # 允许解析的主机,改为any
        allow-query     { any; };
        recursion yes;
        dnssec-enable yes;
        dnssec-validation yes;
        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";
        managed-keys-directory "/var/named/dynamic";
        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
};

# 配置区域配置文件
[root@localhost ~]# vim /etc/named.rfc1912.zones
# 创建dnstest区域,可参照文件中已有例子
zone "dnstest.com" IN {
        type master;
        # 区域数据文件的文件名,默认位置在/var/named/下
        # 默认位置在/etc/named.conf文件中的directory处设定
        file "dnstest.com.zone";
        allow-update { none; };
};

# 创建区域数据配置文件,以named.localhost为模板
# cp -p保留原权限复制
[root@localhost ~]# cp -p /var/named/named.localhost /var/named/dnstest.com.zone
[root@localhost ~]# cd /var/named
# 配置区域数据文件
[root@localhost named]# vim dnstest.com.zone 
$TTL 1D
@       IN SOA  dnstest.com. admin.dnstest.com.  (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
@       IN      NS      dnstest.com.
        IN      A       192.168.100.88
www     IN      A       192.168.100.88
ftp     IN      CNAME   www
# 开启DNS服务
[root@localhost ~]# systemctl start named

web服务器

# nginx
yum -y install nginx &> /dev/null
/etc/nginx/sbin/nginx
# apache,与nginx二选一
yum -y install httpd &> /dev/null
systemctl start httpd
# 这里不做详细介绍,如有兴趣可关注笔者之后的更新

测试

在CentOS上使用ifconfig命令查看是否能正常获取IP地址,Windows上则在cmd上输入ipconfig。

Windows server上使用浏览器访问dnstest.com

在这里插入图片描述

在CentOS上使用curl命令,尝试获取dnstest.com的源码

在这里插入图片描述

出现以上现象说明DNS配置成功

总结

在整个布置过程中有很多易错点导致实验失败,比如没有关闭VMware workstation的DHCP功能,DHCP、DNS的配置出现错误,还有就是作为测试的Linux的网卡配置修改出现错误导致网络服务重启失败……实验并不难,需要你更多的细心和耐心。

在写配置文件的时候一定要注意格式,空格和制表符不能随便打。DHCP中的subnet配置的缩进为两个空格,DNS的区域数据配置文件可使用制表符。

当然也出现过一些非常奇怪的问题,比如GNS3的交换机不通了,这种时候笔者认为不要为难自己,可以重启一下GNS3试试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值