前言
现今大部分学习网络工程的同学都会使用各种各样的网络模拟器,其中EVE-NG作为一款基于网络虚拟化的网络模拟器,可以模拟大量学习中可能会使用到的设备,例如:路由器、交换机、防火墙、Linux主机、windows主机,本次我们将在EVE-NG上进行一次简单的网络模拟。
模拟简单的企业需求,并进行网络拓扑规划
有关本次模拟的结构设计说明
- 本次模拟中,我们只使用三个部门作为接入层参考,分别为技术部、销售部、财务部
- 本次模拟中,部署服务采取DHCP和简单的WEB进行Linux服务模拟
- 本次模拟中,将采用三层网络结构(接入-汇聚-核心),并将服务器接入汇聚层
- 本次模拟中,汇聚层将使用两台思科三层交换机进行模拟,同时两台交换机也将担任核心层的部分路由功能
- 本次模拟中,核心层将使用思科路由器进行模拟NAT以及路由转发
有关本次模拟的网络功能需求说明
- 要求使用生成树技术、链路聚合技术、网关冗余技术等议保证网络的基本可靠性
- 要求路由协议统一使用ospf
- 要求内部网络使用DHCP协议自动获取IP地址分配
- 要求使用PAT技术使得内网能够访问外部模拟网络
- 要求财务部不可访问外网
- 要求使用Linux服务器模拟提供DNS服务
- 要求使用Linux服务器模拟提供WEB服务
- 要求外网主机可以访问本地的WEB服务器,但不可访问其他主机
基于模拟的功能需求和结构需求进行拓扑搭建,如下图所示:
有关VLAN网段IP地址的分配,如下表所示:
销售部 | vlan10 | 192.168.10.0/24 |
财务部 | vlan20 | 192.168.20.0/24 |
技术部 | vlan30 | 192.168.30.0/24 |
服务器集群 | vlan40 | 192.168.40.0/24 |
有关端口ip地址的分配,如下表所示:
设备1 | 设备2 | 设备1端口 | 设备2端口 | 设备1端口地址 | 设备2端口地址 |
Sw-agg1 | Router-core | e1/0 | e0/0 | 192.168.105.1/24 | 192.168.105.2/24 |
Sw-agg2 | Router-core | e1/0 | e0/1 | 192.168.106.1/24 | 192.168.106.2/24 |
Router-core | Router-outside | s2/0 | s2/0 | 10.10.10.1/24 | 10.10.10..2/24 |
Router-outside | Win-outside | e0/0 | e0 | 192.168.90.1/24 | 192.168.90.2/24 |
接入层与服务器集群接入的配置
在每个接入交换机上配置vlan,并将对下行接口(也可以将全部接口置入统一vlan)设置为Access模式,接入对应vlan
Sw-access1:
vlan 10
int e1/0
switchport mode access
switchport access vlan 10
Sw-access2:
vlan 20
int e1/0
switchport mode access
switchport access vlan 20
Sw-access3:
vlan 30
int range e1/0-1
switchport mode access
switchport access vlan 30
Sw-access-server:
vlan 40
int range e1/1-2
switchport mode access
switchport access vlan 40
将上行接口配置为Trunk接口,并封装dot1q协议(即802.1q)
Sw-access1:
interface Ethernet0/0
switchport trunk encapsulation dot1q
switchport mode trunk
!
interface Ethernet0/1
switchport trunk encapsulation dot1q
switchport mode trunk
Sw-access2:
interface Ethernet0/0
switchport trunk encapsulation dot1q
switchport mode trunk
!
interface Ethernet0/1
switchport trunk encapsulation dot1q
switchport mode trunk
Sw-access3:
interface Ethernet0/0
switchport trunk encapsulation dot1q
switchport mode trunk
!
interface Ethernet0/1
switchport trunk encapsulation dot1q
switchport mode trunk
Sw-access-server:
interface Ethernet0/0
switchport trunk encapsulation dot1q
switchport mode trunk
!
interface Ethernet0/1
switchport trunk encapsulation dot1q
switchport mode trunk
汇聚层的配置
将下行接口配置为Trunk接口,并封装相同地dot1q协议
Sw-agg1:
interface Ethernet0/0
switchport trunk encapsulation dot1q
switchport mode trunk
!
interface Ethernet0/1
switchport trunk encapsulation dot1q
switchport mode trunk
!
interface Ethernet0/2
switchport trunk encapsulation dot1q
switchport mode trunk
!
interface Ethernet0/3
switchport trunk encapsulation dot1q
switchport mode trunk
Sw-agg2:
interface Ethernet0/0
switchport trunk encapsulation dot1q
switchport mode trunk
!
interface Ethernet0/1
switchport trunk encapsulation dot1q
switchport mode trunk
!
interface Ethernet0/2
switchport trunk encapsulation dot1q
switchport mode trunk
!
interface Ethernet0/3
switchport trunk encapsulation dot1q
switchport mode trunk
汇聚层交换机做链路聚合
Sw-agg1:
interface Port-channel1
switchport trunk encapsulation dot1q
switchport mode trunk
int range e2/0-1
switchport trunk encapsulation dot1q
switchport mode trunk
channel-group 1 mode on
Sw-agg2:
interface Port-channel1
switchport trunk encapsulation dot1q
switchport mode trunk
int range e2/0-1
switchport trunk encapsulation dot1q
switchport mode trunk
channel-group 1 mode on
汇聚层交换机做网关冗余,并开启生成树协议
Sw-agg1:
interface Vlan10
ip address 192.168.10.250 255.255.255.0
no shutdown
standby 10 track 1 decrement 2
standby 10 ip 192.168.10.254
standby 10 priority 101
standby 10 preempt
!
interface Vlan20
ip address 192.168.20.250 255.255.255.0
no shutdown
standby 20 track 1 decrement 2
standby 20 ip 192.168.20.254
standby 20 priority 101
standby 20 preempt
!
interface Vlan30
ip address 192.168.30.251 255.255.255.0
no shutdown
standby 30 ip 192.168.30.254
standby 30 preempt
!
interface Vlan40
ip address 192.168.40.251 255.255.255.0
no shutdown
standby 40 preempt
standby 40 ip 192.168.40.254
!
spanning-tree mode pvst
spanning-tree vlan 10,20 root primary
spanning-tree vlan 30,40 root secondary
Sw-agg2:
interface Vlan10
ip address 192.168.10.251 255.255.255.0
no shutdown
standby 10 ip 192.168.10.254
standby 10 preempt
!
interface Vlan20
ip address 192.168.20.251 255.255.255.0
no shutdown
standby 20 ip 192.168.20.254
standby 20 preempt
!
interface Vlan30
ip address 192.168.30.250 255.255.255.0
no shutdown
standby 30 track 1 decrement 2
standby 30 ip 192.168.30.254
standby 30 priority 101
standby 30 preempt
!
interface Vlan40
ip address 192.168.40.250 255.255.255.0
no shutdown
standby 40 track 1 decrement 2
standby 40 preempt
standby 40 priority 101
standby 40 ip 192.168.40.254
!
spanning-tree mode pvst
spanning-tree vlan 10,20 root secondary
spanning-tree vlan 30,40 root primary
汇聚层交换机配置DHCP服务
Sw-agg1:
ip dhcp pool vlan10
network 192.168.10.0 255.255.255.0
default-router 192.168.10.254
dns-server 192.168.40.3
!
ip dhcp pool vlan20
network 192.168.20.0 255.255.255.0
dns-server 192.168.40.3
default-router 192.168.20.254
!
ip dhcp pool vlan30
network 192.168.30.0 255.255.255.0
default-router 192.168.30.254
dns-server 192.168.40.3
Sw-agg2:
ip dhcp pool vlan10
network 192.168.10.0 255.255.255.0
default-router 192.168.10.254
dns-server 192.168.40.3
!
ip dhcp pool vlan20
network 192.168.20.0 255.255.255.0
dns-server 192.168.40.3
default-router 192.168.20.254
!
ip dhcp pool vlan30
network 192.168.30.0 255.255.255.0
default-router 192.168.30.254
dns-server 192.168.40.3
配置上行接口
Sw-agg1:
interface Ethernet1/0
no switchport
ip address 192.168.105.1 255.255.255.0
no shutdown
Sw-agg2:
interface Ethernet1/0
no switchport
ip address 192.168.106.1 255.255.255.0
no shutdown
设定回环接口,并通过ospf发布路由
Sw-agg1:
interface Loopback1
ip address 1.1.1.1 255.255.255.255
no shutdown
!
router ospf 1
passive-interface Vlan10
passive-interface Vlan20
passive-interface Vlan30
passive-interface Vlan40
network 1.1.1.1 0.0.0.0 area 0
network 192.168.10.0 0.0.0.255 area 0
network 192.168.20.0 0.0.0.255 area 0
network 192.168.30.0 0.0.0.255 area 0
network 192.168.40.0 0.0.0.255 area 0
network 192.168.105.0 0.0.0.255 area 0
Sw-agg2:
interface Loopback1
ip address 2.2.2.2 255.255.255.255
no shutdown
!
router ospf 1
passive-interface Vlan10
passive-interface Vlan20
passive-interface Vlan30
passive-interface Vlan40
network 2.2.2.2 0.0.0.0 area 0
network 192.168.10.0 0.0.0.255 area 0
network 192.168.20.0 0.0.0.255 area 0
network 192.168.30.0 0.0.0.255 area 0
network 192.168.40.0 0.0.0.255 area 0
network 192.168.106.0 0.0.0.255 area 0
核心层的配置
配置下行接口
R-core:
interface Ethernet0/0
ip address 192.168.105.2 255.255.255.0
noshutdown
!
interface Ethernet0/1
ip address 192.168.106.2 255.255.255.0
no shutdown
!
配置出接口
R-core:
interface Serial2/0
ip address 10.10.10.1 255.255.255.0
no shutdown
配置回环接口,通过ospf发布路由,并发布静态出口路由
R-core:
interface Loopback1
ip address 6.6.6.6 255.255.255.255
no shutdown
!
router ospf 1
network 6.6.6.6 0.0.0.0 area 0
network 10.10.10.0 0.0.0.255 area 0
network 192.168.105.0 0.0.0.255 area 0
network 192.168.106.0 0.0.0.255 area 0
default-information originate
exit
ip route 0.0.0.0 0.0.0.0 10.10.10.2
配置PAT,映射WEB服务器以供外网访问
R-core
access-list 105 deny ip 192.168.20.0 0.0.0.255 any
access-list 105 permit ip any any
ip nat inside source list 105 interface Serial2/0 overload
ip nat inside source static tcp 192.168.40.2 80 10.10.10.10 80
外域模拟
R-outside:
interface Ethernet0/0
ip address 192.168.90.1 255.255.255.0
interface Serial2/0
ip address 10.10.10.2 255.255.255.0
Win-outside:
服务器部署
WEB服务器的简单部署
WEB服务的安装
yum install nginx -y
WEB服务的简单配置
我们只需要让其在网页上显示我们访问WEB服务器成功即可,此处我们直接使用默认的站点,将其域名改为www.inside.com,并让其站点内容包含this is inside关键字
更改主配置文件:
vim /etc/nginx/nginx.conf
进入默认站点文件,删除其全部内容,并将其更改为带有this is inside关键字的内容:
vim /usr/shar/nginx/html/index.html
启动并应用服务,关闭防火墙并在本地测试
systemctl stop firewalld
setenforce 0
systemctl start nginx
systemctl enable nginx
手动配置服务器的ip地址
打开网卡配置文件,将IP地址手动更改成vlan40内的地址192.168.40.2/24,并将其网关指向我们的虚拟网关192.168.40.254,DNS更改为DNS服务器的预保留地址:192.168.40.3:
vim /etc/sysconfig/network-scripts/ifcfg-eth0
重启网络服务,检查本地IP地址:
systemctl restart network
ifconfig
DNS服务器的简单部署
DNS服务的安装
此处我们选择简化的yum安装:
yum install bind -y
简单的正向解析配置
我们进入主配置文件,添加一条zone并向所有主机提供DNS服务监听:
vim /etc/named.conf
创建指定的zone配置文件,并将配置模版内容复制进去:
cp -p /var/named/named.localhost /var/named/inside.com.zone
进入该配置文件,将正向解析完成:
完成后,我们对主配置文件和zone配置文件进行语法检查:
named-checkzone
named-checkconf
启动并应用服务,关闭防火墙
systemctl stop firewalld
setenforce 0
systemctl start named
systemctl enable named
手动配置服务器的ip地址,并在本地测试服务
与WEB服务器同理,打开网卡配置文件将IP地址手动更改成vlan40内的地址192.168.40.3/24,并将其网关指向我们的虚拟网关192.168.40.254,DNS更改为本机地址即可:
IP地址配置完成后重启网卡便可以开始在本地进行测试:
nslookup 域名
功能性检测
完成所有配置之后,我们来逐条进行功能性的测试
DHCP功能检测
我们取各部门的一台主机来进行DHCP请求,结果如下:
销售部:
我们以销售部进行一次初始模拟,财务部主机不再演示全部过程,DHCP全过程如下:
财务部:
技术部Win:
内部网络对WEB服务和DNS服务的检测
我们以技术部Win主机来进行测试:
PAT功能检测,验证外网可以访问内网WEB资源;内部网络上网使用全局地址,且财务部不允许访问外网
验证外网可以通过全局地址访问内网WEB服务:
WIN-outside:
验证财务部不可访问外网:
销售部虚拟主机:
财务部虚拟主机:
验证内网主机访问外网是使用了全局地址,并进一步验证前两项:
R-core:
网关冗余检测
网关冗余的优化完善以及其验证非常的繁琐,在本文中我们不做多的叙述,仅检测设备down后的情况
首先,我们关闭Sw-agg1,测试网关冗余:
Sw-agg2:
DHCP冗余检测
我们来到销售部主机,让其重新通过dhcp服务获取IP地址,进行测试:
再来到技术部主机,看看有技术部有没有受到影响:
外网访问检测
技术部虚拟主机:
销售部虚拟主机:
WEB服务和DNS服务检测
技术部Win主机:
外网Win主机:
Sw-agg1恢复后的检测
Sw-agg2:
销售部虚拟主机:
链路聚合检测
我们使用了Sw-agg1和2的e2/0-1接口作为链路聚合的接口组,现在我们来到agg1交换机上检查该prot channel是否有误
首先,我们先来查看普通接口的状态:
再来查看channel的状态: