EVE-NG模拟器实验系列之小型局域网搭建(DHCP+Apache+DNS+NAPT)

原创 阁主  2020-04-04 18:00:55  阅读 8441 次 评论 0 条
摘要:

结合最近老师所讲的好多好多好多好多知识点,特意出了本次实验以作深刻学习!本文仅作个人知识笔记整合,主要将Cent OS系统摇身一变成为DHCP服务器和路由器(quagga模块)及DNS服务器,在基础上在搭建一台Apache服务器提供web服务,在以上上基础,在搭建出基于动态端口的NAPT地址转换,用于内网去外网学习。结合下文提供的拓扑,通过配置常见路由协议(静态、动态),使我们的客户端可以DHCP获取IP地址,配置好DNS服务,使客户端可以顺利访问外网Apache服务,同时也可以通过NAPT去互联网冲浪。

实验拓扑

下图为本次实验的拓扑图,实验最终结果需要两台xp客户端可以从DHCP服务器动态获取IP地址,并完成客户端浏览器可以访问外网Apache服务,具体的信息均标示在图中。

01拓扑.png

实施步骤一(两台服务器配置)

1.安装wget模块

yum -y install wget

2.切换CentOS镜像源为华为源(如果是本地镜像源请略过)

备份配置文件:

cp -a /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

下载更新镜repo:

wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo

实施步骤二(Apache配置)

注意:先配置服务器的ip:10.1.2.2

sudo ip addr add 10.1.2.2/24 dev eth0
ip addr show eth0
service network restart #重启网络服务

1.安装Apache(yum源安装)

yum -y install httpd

2.启动httpd服务,默认未启动.

systemctl start httpd

3.查看httpd服务状态(active(running)说明服务状态正常启动)

systemctl status httpd.service

02万事带点绿,即为已启动.png

4.上传web1网页文件至/var/www/html/web1/

05使用FinalShell软件可以直接拖带对应目录进行上传.png

5.编辑主配置文件httpd.conf

vim /etc/httpd/conf/httpd.conf

配置web1的虚拟主机(基于域名)

<VirtualHost 10.1.2.2>
DocumentRoot  /var/www/html/web1
#用户访问www.good.com的时候,展示推送的是/var/www/html/web1内容
ServerName  www.good.com
<Directory /var/www/html/web1>
AllowOverride None
Require all granted
</directory>
</VirtualHost>

026虚拟主机配置.png

6.重启httpd服务

systemctl restart httpd.service

实施步骤三(DHCP配置)

注意:此服务安装在内网的CentOS服务器上.

1.使用yum安装dhcp服务:

yum install -y dhcp

查看dhcp状态,看udp的67端口有没有起来。

netstat -anptu |grep dhcp

09DHCP开启.png

2.修改配置文件,配置vlan10与vlan20的DHCP地址池

vim /etc/dhcp/dhcpd.conf

配置内容:

ddns-update-style none;  #设置DNS服务不自动进行动态更新
ignore client-updates;   #忽略客户端更新DNS记录

#写在前三行都是必备的,其他均为选填.
#下面配置对VLAN10客户端地址池配置
subnet 172.16.10.0 netmask 255.255.255.0 { #网段和掩码
range 172.16.10.10 172.16.10.250; #可分配地址范围
option routers 172.16.10.254; #网关地址
option domain-name-servers 10.1.1.2; #dns服务器地址,可以省略
option domain-name "vlan10-com"; #该网段的域名,可以省略
option broadcast-address 172.16.10.255; #广播地址,可以省略
default-lease-time 300; #租约时间,单位:秒,可以省略
max-lease-time 7200; # 最大租约时间,单位:秒,可以省略
}

#写在前三行都是必备的,其他均为选填.
#下面配置对VLAN20客户端地址池配置
subnet 172.16.20.0 netmask 255.255.255.0 { #网段和掩码
range 172.16.20.10 172.16.20.250; #可分配地址范围
option routers 172.16.20.254; #网关地址
option domain-name-servers 10.1.1.2; #dns服务器地址,可以省略
option domain-name "vlan20-com"; #该网段的域名,可以省略
option broadcast-address 172.16.20.255; #广播地址,可以省略
default-lease-time 300; #租约时间,单位:秒,可以省略
max-lease-time 7200; # 最大租约时间,单位:秒,可以省略
#绑定vlan20主机MAC开始#
host  Client1 {
#主机的MAC地址,注意书写格式,使用ipconfig/all来查看网卡的MAC地址
hardware ethernet 50:00:00:05:00:00 ;
#分配的IP地址  
fixed-address 172.16.20.1;
}
#绑定vlan20主机MAC结束#
}

#不提供本机多余网卡口的网络提供DHCP服务
subnet 172.16.8.0 netmask 255.255.255.0 { }
subnet 10.1.1.0 netmask 255.255.255.0 { }
subnet 10.1.3.0 netmask 255.255.255.0 { }

027DHCP地址池.png

注:每段配置项结尾,一定要有“;”结尾,否则会报错

3.启动DHCP服务

systemctl start dhcpd

不报错为正常

08无报错内容.png


实施步骤四(DNS配置)

注意:此服务安装在内网的CentOS服务器上.

1.安装BIND服务,键入下方命令安装.

yum -y install bind-chroot.x86_64

2.DNS采用的UDP协议,监听53号端口,进一步检验named工作是否正常:

netstat  -tunlp | grep 53

10端口运行.png

3.修改主配置文件(/etc/named.conf)的第13行和第19行的地址均修改为any,同时也在22行加上第三方DNS223.5.5.5作为代解析使用.

vim /etc/named.conf   #编辑named.conf配置文件

11提供服务的网卡ip,any表示允许所有.png

接着把光标拖到最后末端,把最后一行的key引用文件注释掉.

028注释掉.png

4.配置完毕,键入命令检查配置文件是否出错.

systemctl restart named #重启named服务
named-checkconf #检查配置文件

12检查named配置.png

5.主区域配置文件修改

(1)进入编辑区域配置文件

vim /etc/named.rfc1912.zones #编辑域配置文件

(2)添加下列配置信息

zone  "good.com"  IN {
         type master;   //服务类型为主服务器(干活的),相对而言有slave(备胎)
         file "good-zone";   //针对名为 good.com的zone,域名和IP解析规则保存的文件名(good-zone),可以任意命名
         allow-update { none; };  //无需同步记录给slave服务器
};    //----结束符

029区域配置文件.png

6.配置正向解析

(1)复制一份正向解析的模板文件named.localhost,然后把域名和IP地址的对应数据填写数据配置文件中并保存。

注意:该模板文件的所有者是root,所属组是named,权限是640

cd /var/named/  #进入配置文件目录
cp -a named.localhost good-zone   #复制一份正向解析的模板文件,-a为保持源文件属性

14已成功复制模板.png

(2)编辑good-zone文件,记得ip指向Apache服务器IP地址10.1.2.2

vim /var/named/good-zone

编辑内容:(实验为主,其他内部核心知识自行查阅百度)

030配置good-zone文件.png

7.重启named服务

systemctl restart named

8.配置完毕后,使用下列命令分查看正向解析配置文件是否生效

named-checkzone www.good.com /var/named/good-zone

16模拟解析通过.png

9.如果重启命令如果输入后有报错信息,请自行键入下列命令开始排错(下图为正常)

named-checkconf -z /etc/named.conf

17此处为正常,无任何报错..png

实施步骤五(quagga配置)

注意:此服务安装在内网的Server服务器上.

注意:在下面操作之前需要先配置服务器eth1eth2两张网卡!

sudo ip addr add 10.1.1.2/24 dev eth1
ip addr show eth1
sudo ip addr add 10.1.3.1/24 dev eth2
ip addr show eth2
service network restart #重启网络服务

031配置ip.png

1.安装quagga服务模块,键入下方命令安装.

yum install -y quagga

2.将模板文件导入/etc/quagga

注意:默认情况下,/etc/quagga文件夹下只包含vtysh.conf和zebra.conf,如果需要路由器具备哪种路由协议的功能,就需要从/usr/share/doc/quagga-xxxxxxx/文件夹下将对应的xxxx.conf.sample进行拷贝。

本次路由实验使用ospf路由协议,所以命令就是:

cp /usr/share/doc/quagga-0.99.22.4/ospfd.conf.sample   /etc/quagga/ospfd.conf

18复制ospf.png

3.用quagga实现的最基本的路由器最少包含两个进程,zebra基本进程和某个动态路由进程。

命令

systemctl start zebra
systemctl start ospfd

4.成功启动后使用下面两条命令可以查看状态,一般有一道绿光闪过即为正常。

systemctl status zebra
systemctl status ospfd

19绿光.png

5.使用命令vtysh登入"软路由".配上ospf宣告网段.

032宣告内网服务器网段.png

6.配置后期做NAPT地址转换访问外网需要用到的默认路由.(图中R1手抖,应为R3)

033外网NAT默认路由.png

7.退回linux用户配置模式,添加一条系统默认路由.不配置会造成未知目的ip的数据包一直往172.16.8.2一直跑,172.16.8.2是本次实验用于SSH连接的内网地址,不参与任何数据包互动.

route add default gw 10.1.1.1

02服务器添加默认路由.png

8.在Apache服务器上配置一条默认路由去往10.1.2.1,不然他会什么数据都往172.16.8.2跑,172.16.8.0这个网段是用来物理机SSH两台服务器用的.(此配置一定要在Apache配置,后面就不参与排障了.)

route add default gw 10.1.2.1

51apache默认路由.png

实施步骤六(SW2交换机配置)

此连接二层交换机就不做多的阐述,能看此文章都是有一定基础的大神了!就截图主要配置信息,参照看!

034sw配置记得有多个vlan就需要开trunk口.png

实施步骤七(SW1交换机配置)

此SW1汇聚三层交换机配置模式及基本命令不做多余介绍,直接贴总的配置信息.

035SW1.png

实施步骤七(R3交换机配置)

1.R3先上全部的配置信息.OSPF宣告网段就不多阐述了.后面重点讲napt地址转换.

036R3主要配置信息.png

2.看完主要配置信息,重点讲一下主要的基于动态NAPT端口转发数据的部分.

(1)首先要安排一下那个端口是进网端口,这里依据拓扑肯定是R3的0/1口

037Nat进网口.png

(2)接下来安排那个端口是出网端口,这里依据拓扑肯定是R3的0/3口

038Nat出网口.png

(3)再接下来配置允许哪些内网网段去外网进行"深度学习"(也可称科学上网),这里就配置允许内部全部已知网段可以外出学习.

39出去科学上网.png

(4)再再接下来配置地址转换公网IP地址池

040配置NAT地址池.png

(5)再再再接下来是在R3配置基于单个IP地址配置NAPT映射.(记得把上步骤配的地址池载入进来)

041配置NAPT.png

(6)最后的最后,建议在配置一条默认路由,下一跳地址为路由器的网关192.168.1.1

42默认路由.png

实施步骤八(检验结果+排障)

1.先检验win-xp-1(情怀版的XP系统)客户机DHCP获取的IP地址是多少.(我的手又抖了,范围是10-250)

43vlan0.png

2.检验win-xp-2客户机DHCP是否获取到之前配置中绑定MAC地址172.16.20.1

44valn20.png

3.PC1 ping  PC2

46 PC1PC2.png

4.PC1 ping 家庭路由器网关192.168.1.1

(1)一般情况此处会翻车

47翻车.png

(2)翻车不怕,把问题解决,tracert 192.168.1.1追踪一下路由走向,发现在到达网关后就被截住了,但是细想一下,既然可以DHCP拿到服务器分配的IP,所以问题应该出在服务器转发数据上.

48排障.png

(3)随后查了官方的解释:当主机拥有多于一块的网卡时,其中一块收到数据包,根据数据包的目的ip地址将包发往本机另一网卡,该网卡根据路由表继续发送数据包。所以我们拓扑中确实有多个网卡(高达3张,一张SSH连接,两张内网通信),按照官方解说的意思就是要想办法让服务器可以在根据路由表发送数据包的同时,又可以同时转发给其他端口.按照该解决方法确实有效解决.详细步骤看下面.

(4)配置Linux系统的ip转发功能,首先保证硬件连通,然后打开系统的转发功能

cat /proc/sys/net/ipv4/ip_forward #该文件内容为0,表示禁止数据包转发,1表示允许。
echo "1" > /proc/sys/net/ipv4/ip_forward   #修改为允许数据包转发
sysctl -p  #同步参数到系统内核

(5)在ping一次192.168.1.1,测试已成功.

49在ping一次.png

5.两台PC分别nslookup www.good.com (下图均成功解析到10.1.2.2web服务器)

45这是PC1的.png

50这是PC2的.png

6.两台PC均使用浏览器访问Apache服务器提供的web展示页.

52成功访问内网Apache服务.png7.两台PC均使用浏览器访问百度首页.检测外网是否可访问.

53访问外网成功.png8.经过上面的两个网页访问,马上去sh ip nat translations查看NAPT地址池转换的情况.

54地址转换情况.png

本文地址:https://www.mainblog.cn/209.html
版权声明:本文为原创文章,版权归 阁主 所有,欢迎分享本文,转载请保留出处!
免责申明:有些内容源于网络,没能联系到作者。如侵犯到你的权益请告知,我们会尽快删除相关内容。

评论已关闭!