Vlan配置详解之单臂路由

简介:
文章包括下面内容:
配置 VLAN ;配置 VTP ;用路由器的快速以太网口提供 VLAN 间路由;在路由器上配置 DHCP 为各 VLAN分配 IP
实验所用硬件:
Cisco3600+NM-16ESW 交换模块
拓扑图如下:
图中两台交换机和一台路由器都是采用 Cisco3600+NM-16ESW
逻辑规划:
VLAN 2  IP 段是 192.168.1.0/24  成员 PC1 PC4 IP 分别为 192.168.1.11 192.168.1.44 ;成员网关是 192.168.1.1
VLAN 3 IP 段是 192.168.2.0/24  成员 PC2 PC3 IP 分别为 192.168.2.22 192.168.2.33 ;成员网关是 192.168.2.1
VLAN 1 IP 段是 192.168.0.0/24  成员 SW1 SW2 IP 分别为: 192.168.0.2  192.168.0.3 ;成员网关是 192.168.0.1
一、             配置 PC
照上述 IP 地址方案将 PC IP 配置好。
二、             配置交换机
配置SW1VTP Server
Router>en
Router#conf t
Router(config)#no cdp run //关闭CDP协议
Router(config)#no ip domain lookup //关闭名称解析
Router(config)#no ip routing //关闭路由功能否则会使VLAN1和其它PC不能通信。
Router(config)#line console 0
Router(config-line)#logging synchronous //控制台信息同步,避免干扰
Router(config-line)#exec-timeout 0 0  //永不超时,但离开控制台时要即时关闭
Router(config-line)#exit
Router(config)#hostname SW1
SW1(config)#interface range fa0/0 - 15
SW1(config-if-range)#shutdown  //同时关闭16个端口
SW1(config)#interface range fa0/1 - 2
SW1(config-if-range)#no shut
SW1(config-if-range)#switchport mode access //fa0/1fa0/2口激活并设为访问口,因为连接的是PC
SW1(config)#int range fa0/0 , fa0/15
SW1(config-if-range)#no shut   // 配置到这一步的时候 PC1 PC4 PC2 PC3 是可以相互通信的,因为此时还没有划分 VLAN ,默认所有 PC 都在 VLAN 1 里。所以在一个逻辑网段的 PC 可以相互通信,即使不在一个逻辑网段,只要将地址人为改成一个逻辑网段就可以相互通信了,例如这时 PC2 将地址从 192.168.2.22 改成 192.168.1.22 这样 PC2 就可以和 PC1 PC4 通信了,由此可见不划分 VLAN 的情况下想从逻辑上分隔不同部门是不安全的。
SW1(config-if-range)#switchport mode trunk //fa0/0fa0/15激活并设为中继口,因为一个连的是路由器,一个连的是SW2。在该平台上配置的中继后,默认会采用802.1Q封装。如果两台设备默认封装不同要手动设置。
SW1#vlan database  //进入VLAN数据库模式以配置VLAN相关信息
SW1(vlan)#vtp server //SW1设成Server
SW1(vlan)#vtp domain Cisco //VTP域名设成Cisco,名称可以任意
SW1(vlan)#vtp password abc //为了域的安全设置密码,密码不同的成员不可以加入该域,生产环境中要设置复杂密码。
SW1(vlan)#vtp pruning //启用VTP修剪
SW1(vlan)#vlan 2 name bjxh //增加VLAN 2 名称为bjxh,名称可以任意
SW1(vlan)#vlan 3 name xhce //增加VLAN3
SW1(vlan)#exit  //退出VLAN配置模式,注意,这里一定要用exit退出才能使设置生效。
SW1(config)#int vlan 1
SW1(config-if)#ip address 192.168.0.2 255.255.255.0
SW1(config-if)#no shut
SW1(config-if)#exit
SW1(config)#ip default-gateway 192.168.0.1
 分配端口
SW1(config)#int fa0/1
SW1(config-if)#switchport access vlan 2
SW1(config-if)#int fa0/2
SW1(config-if)#switchport access vlan 3  //配置到这里的时候各PC之间应该都不能访问了,因为这时候SW2还没有从VTP Server上得到VLAN信息,所以默认还是只有一个VLAN 1,而SW1上已经有了三个VLAN所以各PC间都是不通的。
配置SW2VTP Client
Router>en
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#no cdp run //关闭CDP协议
Router(config)#no ip domain lookup //关闭名称解析
Router(config)#no ip routing //关闭路由功能
Router(config)#line console 0
Router(config-line)#logging synchronous //控制台信息同步,避免干扰
Router(config-line)#exec-timeout 0 0  //永不超时,但离开控制台时要即时关闭
Router(config-line)#exit
Router(config)#hostname SW2
SW2(config)#int range fa0/0 - 15
SW2(config-if-range)#shutdown
SW2(config-if-range)#exit
SW2(config)#int r
SW2(config)#int range fa0/0 - 1
SW2(config-if-range)#no shutdown
SW2(config-if-range)#switchport mode access //连接的是PC3PC4
SW2(config)#int fa0/15
SW2(config-if)#no shut
SW2(config-if)#switchport mode trunk //连接的是SW1
SW2#vlan database
SW2(vlan)#vtp client
SW2(vlan)#vtp domain Cisco
SW2(vlan)#vtp password abc
SW2(vlan)#vtp pruning
SW2(vlan)#exit  //配置到这里的时候SW2应该可以得到VLAN信息了,但各PC间还是不能通信,因为SW2上的相关端口还没有分配到对应的VLAN里。注意:客户端只能从服务器端得到VLAN信息,但不会得到端口分配信息。
SW2(config)#int vlan 1
SW2(config-if)#ip address 192.168.0.3 255.255.255.0
SW2(config-if)#no shut
SW2(config-if)#exit
SW2(config)#ip default-gateway 192.168.0.1
SW2(config)#int fa0/0
SW2(config-if)#switchport access vlan 3
SW2(config-if)#int fa0/1
SW2(config-if)#switchport access vlan 2 //配置到这里的时候同一个VLAN的成员之间可以相互通信了,不同VLAN成员间依然不能通信。
 
路由器配置:
Router>
Router>en
Router#conf t
Enter configuration commands, one per lin
Router(config)#no cdp run
Router(config)#no ip domain lookup
Router(config)#line console 0
Router(config-line)#logging synchronous
Router(config-line)#exec-timeout 0 0
Router(config-line)#exit
Router(config)#int fa0/0
Router(config-if)#no ip address
Router(config-if)#no shut  //主接口一定要激活,否则子接口激不活
Router(config-if)#int fa0/0.1
Router(config-subif)#encapsulation dot1Q //一定先配置封装类型,再配置IP,封装类型要和SW1的fa0/0口一致
Router(config-subif)#ip address 192.168.0.1 255.255.255
Router(config-subif)#no shut
Router(config-subif)#int fa0/0.2
Router(config-subif)#encapsulation dot1Q 2
Router(config-subif)#ip address 192.168.1.1 255.255.255
Router(config-subif)#no shut
Router(config-subif)#int fa0/0.3
Router(config-subif)#encapsulation dot1Q 3
Router(config-subif)#ip address 192.168.2.1 255.255.255
Router(config-subif)#no shut //配置到这里的时候不同VLAN成员间也可以通信了,整个网络都是畅通的。VLAN间路由配置完成。如果还想限制某些访问可以配置ACL。
 
 在上面的配置中,客户机都是手动指定的IP地址,如果VLAN里成员多的话,维护起来工作量会很大。我们可以在路由器上为各VLAN配置DHCP地址池,为各VLAN自动分配IP和相信息。
Router(config)#ip dhcp pool v2 //建一个地址池名称叫v2,名称任意
Router(dhcp-config)#network 192.168.1.0 255.255.255.0 //分配地址范围
Router(dhcp-config)#default-router 192.168.1.1 //分配默认路由,也是相应VLAN的网关地址
Router(dhcp-config)#lease 5 //租约5天
Router(dhcp-config)#exit
Router(config)#ip dhcp pool v3
Router(dhcp-config)#network 192.168.2.0 255.255.255.0
Router(dhcp-config)#default-router 192.168.2.1
Router(dhcp-config)#lease 5
Router(dhcp-config)#exit
Router(config)#ip dhcp excluded-address 192.168.0.1 //排除不分配的地址,这些地址通常都是网关地址。
Router(config)#ip dhcp excluded-address 192.168.0.2
Router(config)#ip dhcp excluded-address 192.168.0.3
Router(config)#ip dhcp excluded-address 192.168.1.1
Router(config)#ip dhcp excluded-address 192.168.2.1
 
在交换机上为各VLAN配置IP帮助者地址,以通过该地址访问DHCP,该地址可以是任意的DHCP服务器地址,例如是一台WindowsDHCP服务器,只要该服务器是可以被访问的,而且该DHCP上定义了相关VLAN的地址域信息,否则VLAN成员会得不到正确的IP地址。
SW1(config)#int vlan 2
SW1(config-if)#ip helper-address 192.168.0.1 //这里设置成VLAN 1 的网关地址,可以设置成用意VLAN的网关地址。
SW1(config-if)#int vlan 3
SW1(config-if)#ip helper-address 192.168.0.1
在客户机上将IP设置成自动获取就可以得到正确的地址了!在上面的配置中还可以配置其它参数
Router(dhcp-config)#dns-server 202.106.196.115 //分配DNS
Router(dhcp-config)#client-identifier MAC //MAC绑定
 
可以根据具体情况配置你的网络。这是采用单臂路由器配置VLAN间路由的方法。这种方法容易出现瓶颈,就是当然VLAN数目多,且成员多而路由器以太口的速率又受到限制时就容易出现拥塞。为了解决这种问题我们可以采用三层交换来提供VLAN间的路由。

本文转自Y.weisheng 51CTO博客,原文链接:http://blog.51cto.com/yuan2/95766,如需转载请自行联系原作者
相关文章
|
编译器 索引
[Eigen中文文档] 块操作
本文介绍了块操作。块是matrix或array的部分矩形元素。块表达式既可以用作右值也可以用作左值。与Eigen表达式一样,如果让编译器进行优化,则块操作的运行时间成本为零。
492 0
|
Linux 容器 Docker
Debian配置系统中文语言及环境
Debian配置系统中文语言及环境
16268 1
|
6月前
|
Java 编译器 API
告别样板代码:探索Java Record的简洁之力
告别样板代码:探索Java Record的简洁之力
263 113
|
数据采集 存储 Web App开发
轻量级爬虫框架Feapder入门:快速搭建企业级数据管道
本教程基于Feapder框架,讲解如何构建轻量级爬虫采集豆瓣电影数据。通过配置代理IP、Cookie与User-Agent,实现企业级数据管道能力,包括动态请求与信息提取(如电影名称、导演、演员等)。适合具备Python基础及爬虫原理知识的读者,提供从环境搭建到代码实现的完整流程,并分析常见错误与解决方法,助力高效开发。
695 1
轻量级爬虫框架Feapder入门:快速搭建企业级数据管道
|
机器学习/深度学习 人工智能 自然语言处理
AI训练师入行指南(三):机器学习算法和模型架构选择
从淘金到雕琢,将原始数据炼成智能珠宝!本文带您走进数字珠宝工坊,用算法工具打磨数据金砂。从基础的经典算法到精密的深度学习模型,结合电商、医疗、金融等场景实战,手把手教您选择合适工具,打造价值连城的智能应用。掌握AutoML改装套件与模型蒸馏术,让复杂问题迎刃而解。握紧算法刻刀,为数字世界雕刻文明!
478 6
|
传感器
stm32f407探索者开发板(二十二)——通用定时器基本原理讲解
stm32f407探索者开发板(二十二)——通用定时器基本原理讲解
1813 0
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第16天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括配置系统源、安装 SQL Server 2019 软件包以及数据库初始化,确保 SQL Server 正常运行。
834 4
|
并行计算 Windows
23.10.02更新 Windows下CUDA和CUDNN的安装和配置(图多详细)
23.10.02更新 Windows下CUDA和CUDNN的安装和配置(图多详细)
1686 1
|
人工智能 并行计算 PyTorch
Stable Diffusion 本地部署教程:详细步骤与常见问题解析
【4月更文挑战第12天】本教程详细介绍了如何在本地部署Stable Diffusion模型,包括安装Python 3.8+、CUDA 11.3+、cuDNN、PyTorch和torchvision,克隆仓库,下载预训练模型。配置运行参数后,通过运行`scripts/run_diffusion.py`生成图像。常见问题包括CUDA/CuDNN版本不匹配、显存不足、API密钥问题、模型加载失败和生成质量不佳,可按教程提供的解决办法处理。进阶操作包括使用自定义提示词和批量生成图像。完成这些步骤后,即可开始Stable Diffusion的AI艺术创作。
3115 2
|
前端开发 开发者 容器
【专栏:CSS进阶篇】CSS Flexbox布局:实现灵活的响应式设计
【4月更文挑战第30天】CSS Flexbox是现代网页设计中创建响应式布局的关键工具,它提供了一种一维布局模型,使元素能灵活适应各种屏幕尺寸。通过设置容器的`display`属性为`flex`,开发者可以利用主轴和交叉轴调整元素排列和对齐方式。核心概念包括弹性项、伸缩性、空间分配和对齐。通过实例,如导航栏、卡片布局、图片画廊和响应式表单,展示了Flexbox在实现响应式设计中的应用。尽管需要注意浏览器兼容性,但掌握Flexbox能帮助开发者构建出功能强大且适应性强的界面。
402 0