部门 | 地址空间 | vlan | 网关 |
财务部门 | 10.0.10.0/24 | Vlan10 | 10.0.10.254/24 |
业务部门 | 10.0.20.0/24 | Vlan20 | 10.0.20.254/24 |
研发部门 | 10.0.30.0/24 | Vlan30 | 10.0.30.254/24 |
IT部门 | 10.0.40.0/24 | Vlan40 | 10.0.40.254/24 |
服务器 | 10.0.200.0/24 |
| 10.0.200.254/24 |
1、接入层实现
对于接入层根据规划,分别设置为vlan10、vlan20、vlan30、vlan40、vlan50、vlan60,接入用户的端口加入相关VLAN,上行trunk口允许相关vlan通过。
[Acc-01]vlan batch 10 20 30 40 //创建vlan
配置接入用户接口
[Acc-01-Ethernet0/0/3]port link-type access
[Acc-01-Ethernet0/0/3]port default vlan 10
配置上行口
[Acc-01-Ethernet0/0/1]port link-type trunk
[Acc-01-Ethernet0/0/1]port trunk allow-pass vlan 10 20 30 40
[Acc-01-Ethernet0/0/1]int e0/0/2
[Acc-01-Ethernet0/0/2]port link-type trunk
[Acc-01-Ethernet0/0/2]port trunk allow-pass vlan 10 20 30 40
(其他接入配置相同)
另在接入层交换机、汇聚交换机上配置MSTP多实例生成树,将相关vlan加入不同的实例。
stp region-configuration //进入MSTP模式
region-name huawei //配置域名为huawei
instance 1 vlan 10 20 30 40 //将vlan10 、20、30 40 加入实例1中
active region-configuration //激活配置
2、汇聚层实现
(1)DHCP实现
核心交换机上部署DHCP
配置接口DHCP:
[Huawei-Vlanif10]dhcp select interface
(2)MSTP+VRRP:
stp instance 1 root primary //指定本交换机为主根桥
3)网关配置,以vlan10 为例 其他网关配置同理:
interface Vlanif10 //后勤vlan 网关
ip address 10.0.10.254 255.255.255.0 //配置ip地址
(4)链路聚合
在两个核心交换机间设置链路聚合,关键代码如下:
interface eth-trunk 0 //创建ID为0的Eth-Trunk接口
trunkport GigabitEthernet 0/0/23 to 0/0/24 将23 24号口加入到聚合组中
(对端配置完全相同)
3、网络出口实现
(1)部署NAT:
NAT关键代码如下:
//创建内网需要上网的源地址到外网的ACL列表:
[Huawei]acl 2000
[Huawei-acl-basic-2000]rule permit source 10.0.0.0 0.0.255.255
进入接口配置NAT 类型为easy-ip
[Huawei-GigabitEthernet0/0/2]nat outbound 2000
//创建NAT server 映射 使外网用户访问内部特殊服务器
[Huawei-GigabitEthernet0/0/2]nat server protocol tcp global 17.1.1.100 8080 insi
de 10.0.200.100 www
4、路由协议实现
核心交换机通过双上行与出口设备相连,通过三层OSPF路由技术
//此配置其他设备均相同宣告各自直连网段即可
[Core-A-ospf-1]area 0
[Core-A-ospf-1-area-0.0.0.0]network 10.0.0.0 0.0.255.255
出口路由配置
[Huawei]ip route-static 0.0.0.0 0 17.1.1.7 description Internet
5、单臂路由配置
[Huawei]int g0/0/1.70
[Huawei-GigabitEthernet0/0/1.70]ip add 10.0.70.254 24
[Huawei-GigabitEthernet0/0/1.70]dot1q termination vid 70
[Huawei-GigabitEthernet0/0/1.70]arp broadcast enable
[Huawei]int g0/0/1.80
[Huawei-GigabitEthernet0/0/1.70]ip add 10.0.80.254 24
[Huawei-GigabitEthernet0/0/1.70]dot1q termination vid 80
[Huawei-GigabitEthernet0/0/1.70]arp broadcast enable
6、配置防火墙安全策略,提高服务器区域安全
rule name server
source-zone trust
destination-zone dmz
destination-address 10.0.200.0 mask 255.255.255.0
action permit
7、VPN配置
(3)GRE隧道配置
//手动创建去往公网的默认路由 保证各个分公司、总部公网地址可达
[Huawei]ip route-static 0.0.0.0 0 78.1.1.7
[Huawei]ip route-static 0.0.0.0 0 79.1.1.7
//总部建立2条VPN隧道 分别连接两个公司
interface Tunnel0/0/0 //隧道1
ip address 172.16.18.1 255.255.255.0
tunnel-protocol gre
source 17.1.1.1
destination 78.1.1.8
interface Tunnel0/0/1 //隧道2
ip address 172.16.19.1 255.255.255.0
tunnel-protocol gre
source 17.1.1.1
destination 79.1.1.9
分部相同配置隧道即可
配置总部到达分部的路由
[Huawei]ip route-static 10.0.70.0 24 Tunnel 0/0/0
[Huawei]ip route-static 10.0.80.0 24 Tunnel 0/0/0
[Huawei]ip route-static 10.0.90.0 24 Tunnel 0/0/1
[Huawei]ip route-static 10.0.95.0 24 Tunnel 0/0/1
分部的配置 均指向总公司
[Huawei]ip route-static 10.0.0.0 16 Tunnel 0/0/0
[Huawei]ip route-static 10.0.0.0 16 Tunnel 0/0/0
8、WLAN配置
创建管理vlan
AC、AP采用三层组网、转发模式为隧道转发,AP管理VLAN为100
[AC6605]ip route-static 0.0.0.0 0 10.0.100.254 //配置默认网关
b) 创建AP组 将AP加入不同组
d) AP与AC之间通过源接口方式建立capwap隧道
[AC6605]capwap source interface Vlanif 100
e) AP的SSID设置为Wlan-net,密码a1234567
DHCP测试
各部门均正常获取地址
WLAN测试
用户互联网访问测试
用户内部访问、访问内部服务器
VPN 测试
分部访问总部
我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b
导读:随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时OLAP数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实时查询和精细化运营的需求。经过调研选型,最终引入ApacheDoris作为最终的OLAP分析引擎,Doris作为核心的OLAP引擎支持复杂地分析操作、提供多维的数据视图,在叮咚买菜数十个业务场景中广泛应用。作者|叮咚买菜资深数据工程师韩青叮咚买菜创立于2017年5月,是一家专注美好食物的创业公司。叮咚买菜专注吃的事业,为满足更多人“想吃什么”而努力,通过美好食材的供应、美好滋味的开发以及美食品牌的孵
C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.
网络编程套接字网络编程基础知识理解源`IP`地址和目的`IP`地址理解源MAC地址和目的MAC地址认识端口号理解端口号和进程ID理解源端口号和目的端口号认识`TCP`协议认识`UDP`协议网络字节序socket编程接口`sockaddr``UDP`网络程序服务器端代码逻辑:需要用到的接口服务器端代码`udp`客户端代码逻辑`udp`客户端代码`TCP`网络程序服务器代码逻辑多个版本服务器单进程版本多进程版本多线程版本线程池版本服务器端代码客户端代码逻辑客户端代码TCP协议通讯流程TCP协议的客户端/服务器程序流程三次握手(建立连接)数据传输四次挥手(断开连接)TCP和UDP对比网络编程基础知识
项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU
需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc
我正在寻找用于Rails的优质管理插件。似乎大多数现有的插件/gem(例如“restful_authentication”、“acts_as_authenticated”)都围绕着self注册等展开。但是,我正在寻找一种功能齐全的基于管理/管理角色的解决方案——但不是简单地附加到另一个非基于角色的解决方案。如果我找不到,我想我会自己动手......只是不想重新发明轮子。 最佳答案 RyanBates最近做了两个关于授权的railscast(注意身份验证和授权之间的区别;身份验证检查用户是否如她所说的那样,授权检查用户是否有权访问资源
是否可以在不实际下载文件的情况下检查文件是否存在?我有这么大的(~40mb)文件,例如:http://mirrors.sohu.com/mysql/MySQL-6.0/MySQL-6.0.11-0.glibc23.src.rpm这与ruby不严格相关,但如果发件人可以设置内容长度就好了。RestClient.get"http://mirrors.sohu.com/mysql/MySQL-6.0/MySQL-6.0.11-0.glibc23.src.rpm",headers:{"Content-Length"=>100} 最佳答案
我在这方面尝试了很多URL,在我遇到这个特定的之前,它们似乎都很好:require'rubygems'require'nokogiri'require'open-uri'doc=Nokogiri::HTML(open("http://www.moxyst.com/fashion/men-clothing/underwear.html"))putsdoc这是结果:/Users/macbookair/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/open-uri.rb:353:in`open_http':404NotFound(OpenURI::HT
我正在根据Rakefile中的现有测试文件动态生成测试任务。假设您有各种以模式命名的单元测试文件test_.rb.所以我正在做的是创建一个以“测试”命名空间内的文件名命名的任务。使用下面的代码,我可以用raketest:调用所有测试require'rake/testtask'task:default=>'test:all'namespace:testdodesc"Runalltests"Rake::TestTask.new(:all)do|t|t.test_files=FileList['test_*.rb']endFileList['test_*.rb'].eachdo|task|n