一次基于EVE-NG的简单企业网络部署模拟

前言

现今大部分学习网络工程的同学都会使用各种各样的网络模拟器,其中EVE-NG作为一款基于网络虚拟化的网络模拟器,可以模拟大量学习中可能会使用到的设备,例如:路由器、交换机、防火墙、Linux主机、windows主机,本次我们将在EVE-NG上进行一次简单的网络模拟。


模拟简单的企业需求,并进行网络拓扑规划

有关本次模拟的结构设计说明

  • 本次模拟中,我们只使用三个部门作为接入层参考,分别为技术部、销售部、财务部
  • 本次模拟中,部署服务采取DHCP和简单的WEB进行Linux服务模拟
  • 本次模拟中,将采用三层网络结构(接入-汇聚-核心),并将服务器接入汇聚层
  • 本次模拟中,汇聚层将使用两台思科三层交换机进行模拟,同时两台交换机也将担任核心层的部分路由功能
  • 本次模拟中,核心层将使用思科路由器进行模拟NAT以及路由转发

有关本次模拟的网络功能需求说明

  • 要求使用生成树技术、链路聚合技术、网关冗余技术等议保证网络的基本可靠性
  • 要求路由协议统一使用ospf
  • 要求内部网络使用DHCP协议自动获取IP地址分配
  • 要求使用PAT技术使得内网能够访问外部模拟网络
  • 要求财务部不可访问外网
  • 要求使用Linux服务器模拟提供DNS服务
  • 要求使用Linux服务器模拟提供WEB服务
  • 要求外网主机可以访问本地的WEB服务器,但不可访问其他主机

基于模拟的功能需求和结构需求进行拓扑搭建,如下图所示

有关VLAN网段IP地址的分配,如下表所示:

销售部vlan10192.168.10.0/24
财务部vlan20192.168.20.0/24
技术部vlan30192.168.30.0/24
服务器集群vlan40192.168.40.0/24
所有vlan的网关地址都为虚拟地址254,主网关为主根设备的250,次级网关为副根设备的251,请注意

有关端口ip地址的分配,如下表所示

设备1设备2设备1端口设备2端口设备1端口地址设备2端口地址
Sw-agg1Router-coree1/0e0/0192.168.105.1/24192.168.105.2/24
Sw-agg2Router-coree1/0e0/1192.168.106.1/24192.168.106.2/24
Router-coreRouter-outsides2/0s2/010.10.10.1/2410.10.10..2/24      
Router-outsideWin-outsidee0/0e0192.168.90.1/24192.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 
指向的DNS服务器为我们设定的Linux-DNS服务器地址

配置上行接口

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
真实环境中接口地址应尽量避免使用一整个网段,此处为便捷模拟使用了整个网络段:192.168.106.0/24、192.168.105.0/24,本文中后续也将使用整个网段进行接口地址的模拟,请注意分辨

核心层的配置

配置下行接口

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:

外域模拟也可以使用物理网络或者做复杂处理(如BGP、VPN等),此处不做演示,仅保留一台主机加路由器的形式简单模拟外域环境,如有外域或者企业分部的模拟,请注意修改网络拓扑

服务器部署

WEB服务器的简单部署

WEB服务的安装

yum install nginx -y
Apache同理,此处使用nginx简单模拟

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
请注意自己的网卡是什么,也有可能是ens或者其他网卡,此处为eth

重启网络服务,检查本地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后的情况

在此之前,请先明确,在本次模拟中,四个vlan的虚拟网关为254,主网关为250,次级网关为251,后续不会对此进行解释!

首先,我们关闭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的状态:


暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇