【网课笔记Ⅰ】千锋课程——路由交换原理及计算机网络
虚拟机
这部分放在第一部分来讲,必然是有原因的,虚拟机作为一款可以在真实系统中操作多台虚拟系统的利器,并且最为独特而有用的快照功能使得我们入门网安变得便捷,每次对一台主机进行操作完之后可以进行快照保存或者对于一台新开的主机可以使用快照进行恢复
部署windows
本次一共部署了4个系统windows xp
、windows server 2003
、windows 7
、windows server 2008
镜像安装有个推荐的网站 itellyou 是一个公益网站,里面下载的镜像全都为纯净版,比在网上搜索干净且快捷
密钥推荐正版!!!
(网上可以搜到密钥及密钥工具,嘘~~)
IP 地址知识
这部分之前有了解过,所以学起来比较不废劲,理解也比较快
IP 地址构成
由网络位和主机位组成,存在3:1 2:2 1:3 的网络位主机位三种比例
子网掩码
子网掩码是用来区分不同网段的,仅由255和0构成,255的部分代表是网络位,0的位置代表的是主机位
IP 10.0.0.1
子网掩码 255.255.255.0
表示该网络位有三组,主机位只有一组
IP 地址类型
可以通过IP第一组数字判断
A类 1~126
B类 127~191
C类 192~223
D类 224~239 组播地址
E类 240~255 用于科研
127为本地回环地址,表示本地
网段与广播
在一个IP中,主机位全为0的IP地址代表该网段,全为255代表该网段的广播地址
交换机 路由器 网关
交换机:组成局域网,不能连接互联网
路由器:用于连接内网和外网
网关:指连接局域网和互联网的设备,一般存在于路由器内,其IP地址由局域网给出,一般为可用IP地址的第一个或者最后一个
计算机连接IP地址的流程
- 现在本局域网尝试连接
- 非本局域网,通过网关与互联网连接
DNS Domain
DNS表示域名解析服务器由于解析域名
域名就是IP地址的可视化形式,与IP地址紧密相关,可以这么理解:
IP是给机器看的,域名是给人看的
计算机访问一个域名的流程:
- 问自己,有没有DNS缓存
- 还是问自己,去Hosts文件类里面找
- 找域名服务器DNS,请求解析
进制转换
这一部分比较硬核,我觉得懂得不同进制和基本转换原理就行了
DOS命令
清屏
cls
浏览目录
dir
dir /a 显示隐藏文件
浏览文件内容
typr
type 1.txt | more 以翻页的形式查看
输出
echo
重定向符号
>> 追加
> 覆盖
删除目录
rd
删除文件
del
del 1.txt /s/q s全删 q不要提示
创建文件夹
md
文件属性
attrib +h 1.txt 隐藏文件
attrib -h 1.txt 取消隐藏文件
attrib +s 1.txt 将该文件变为系统级文件
attrib +a 1.txt 文件权限设为只读
定时关机
shutdown -s -t 100 100秒后自动关机
shutdown -a 取消自动关机
shutdown -r -f r重启 f强制
shutdown -s -t 100 -c"xxx" 倒计时处显示消息
颜色
color 0a 前一位背景颜色 后一位字体颜色
注销
logoff
复制文件
copy [路径] 1.txt [路径] 新名字
移动文件
move [路径] 1.txt [路径] 新名字
改文件名
ren 1.txt 新文件名
* 创建一个大小为4G的空文件,并命名为sys.ini 这里单位为字节
fsutil file createnew c:\sys.ini 4096000000
* 修改关联
assoc .txt = exefile
* 强制杀死指定进程 ==> 导致蓝屏 (winxp win2003)
ntsd -c q -pn winlogin.exe
* 强制杀死指定进程
taskkill /im explorer.exe /f
打开cmd
start
ping 五个包
ping -n 5 127.0.0.1
持续ping包
ping -t 127.0.0.1
批处理
批处理就是一次性处理多行DOS命令
输出
echo
关闭回显
@echo off
停止命令,不关闭命令行
pause
分区与goto
:name 设置分区,name可以为任何字符串、数字
goto name 跳转到name区,执行name区的命令
不显示命令运行 1>nul
不显示错误提示 2>nul
例子:ping 127.0.0.1 1>nul 2>nul
变量部分
set a=100 设置变量
echo %a% 输出变量
set /p a="请输入" 设置提示让用户输入变量a的值
%userprofile% 指当前用户的家目录
if语句
if 条件 执行命令 基本格式
例:if "%a%"=1 goto 1
用户与组管理
用户
不同用户所对应的权限的也就不同
每个账号拥有唯一的SID
(安全标识符)
admin用户
末尾以-500
结束
user用户
以 -1000+
结束
账号密码的存储位置:c:\windows\system32\config\SAM
内置用户
给人使用:administrator、guest
给机器使用:system、local services、network services
配置文件(家)所在处
xp/2003
:c:\Document and Setting\
7/2008
:c:\User\
一些命令
net user 列出
域 Domain
内网环境
- 工作组:默认模式,人人平等,不方便管理
- 域:人人不平等,集中管理,统一管理
特点
- 统一 / 集中管理
组成
- 域控制器(老大):DC(Domain Controller)
- 成员机
原理
域命名:与域名一样也是用xxx.com
每个主机的域名就为主机名 + xxx.com
解析:DNS服务器(一般就是域控制器内置),会自动创建区域和第一个主机
DC上安装了一张表(活动目录AD,放着所有的公共资源,可以建立域账号)在一台成员机上用该账号进行登陆,成员机本地并没有该账号的记录,就会向DC询问,DC查询AD内发现有这个账号,允许登陆该成员机。
AD可以定义一个GPO(组策略对象,为特定的用户和计算机组创建特定的桌面配置)
域的部署
- 安装域控制器——生成域环境
- 安装活动目录——生成域控制器
活动目录
- 统一 / 集中管理
部署安装活动目录
- 配置IP地址,桥街到VMware2
- 开始运行——输入
dcpromo
,安装活动目录- 勾选DNS
- 域的FQDN
- 域树:主公司的域和分公司的域为父子关系构成的一个总体
- 现有林:多个域树构成的总体
- 林功能级别:设置林的最低服务器版本2003
- 域功能级别:设置域的最低服务器版本2003
- SYSVOL:组策略存放处
- NTDS:目录服务
- 目录服务的管理员密码:活动目录AD的密码
- 验证域:
- 登陆域,计算机右键—所属域、计算机名
- DC的本地管理员升级为域管理员
- DNS处自动创建区域文件、自动注册DC的域名解析
- AD用户和计算机
打开AD用户和计算机:
computer:普通域成员机列表
Domain Controllers:域控制器(DC)
User:域账号,位于AD活动目录里面
- 加入域(winxp)
配好IP地址、DNS—右键我的电脑属性—计算机名—计算机名称更改—填入要加入的域(xxx.com)—输入密码(输入的是之前存在于该域的用户xxx.com\adminstrator,密码123.com)
- DC新建域用户
在Users处右键—输入姓名(中文)——用户登陆名(英文)——设置密码
- 问题解决思路
-
加入域不成功:
- 客户机的DNS是否设置正确
- 域DNS能否解析该域名
- 客户机本地DNS缓存
-
登入域不成功:
- 登陆时要选择本机登陆还是域登陆
-
域用户的权限:
- 不能加入域管理员组就加入本地管理员组
- 登陆域管理员后添加该域成员至本地管理员组
本地管理员组:administrators
域管理员组:Domain admins
在域内新建的用户都是普通用户,只有在Domain admins内添加才为域管理员
OU:组织单位
用于归类域资源(域用户、域计算机、域组)
名称 | 作用 |
---|---|
OU 组织单位 | 下发组策略GPO(对员工的强制限制) |
组 | 赋予权限 |
创建OU:
- 右键—新建组织单位
对计算机和对用户的限制不一样
- 对用户限制:在不同电脑上登陆该用户都会受限
- 对计算机限制:不同用户在该电脑上登陆限制都是一样的
组策略
作用:可以修改计算机的各种属性(桌面背景、网络参数等)
整个域是一个OU,DC也是一个OU。组策略在域中,是基于OU下发的
打开:在开始-管理工具-组策略管理
组策略应用顺序:LSDOU顺序
Local S站点 Domain OU表示所有OU 当出现了冲突,后应用的OU生效。若同时有多个策略叠加,已开启和已禁用 > 未配置
LSDOU顺序 | ||
---|---|---|
上级OU | 桌面:a.jpg | 运行:删除(已启用) |
下级OU | 桌面:未配置 | 运行:不删除(未配置) |
下级OU用户结果 | 桌面:a.jpg | 运行:删除(已启用) |
查看设置的组策略: 在组策略管理点击一个OU,在右边点击设置,之后可以查看到当前OU的所有设置的组策略
强制组策略: 右键选择强制即可
阻止继承: 不考虑上级OU,只考虑本级的OU,强制 > 组织继承
一些有趣的策略
用户注销时自动清除某文件夹:
- 组策略管理编辑器—用户配置—Windows 设置—注销属性
- 添加clear.bat脚本
- 在客户机上验证
PKI 公钥基础设施
PKI概述
Public Key Infrastructure
作用:通过加密技术和数字签名保证信息的安全
组成:公钥机密技术、数字证书、CA、RA
信息安全三要素
-
机密性
别人解密不了
-
完整性
数据不被破坏
-
身份验证 / 操作的不可否认性
PKI应用领域
- SSL / HTTPS
- IPsecVPN
- 部分远程访问VPN
公钥加密技术
作用:实现对信息加密、数字签名的安全等保障
加密算法
对称算法: 加解密的密钥一致
x+5=y
x是原数据 / 原文
y是密文
5是key
非对称加密算法: 通信双方各自产生一对公私钥
双方各自交换公钥
公钥和私钥为互相加解密的关系
公私钥不可互相逆推
数字签名
用自己的私钥对摘要进行加密后称为数字签名
用于证明发送方的身份(自证)
摘要
通过hash算法(摘要算法)加密得出的密文称为摘要
- 双方互换公钥,甲的明文通过你的公钥进行加密,唯一能解密的只有乙,这一步保证了机密性
- 甲再对密文进行hash加密形成摘要后,再通过甲的私钥进行加密形成数字签名,这一步可以保证完整性(可以验证两部分密文+数字签名是否一致)
- 通过CA颁发的证书用于证明真实身份
CA
CA是权威证书颁发机构,用于公正“公钥”的合法性,证明证书主体与证书中所包含的公钥的惟一对应关系(“证书申请者”被发放证书后即成为“证书主体”)
渗透简单流程
-
授权
-
信息收集
nslookup
whios
-
扫描漏洞
nmap = > ip范围 端口 (IIS,apache,网站)
手工测试:telnet 10.1.1.2 445
高级扫描:
比如IIS漏洞2003-IIS6.0 2008IIS7.0
扫描网站漏洞
-
漏洞利用
-
提权(shell环境、桌面环境、最高权限)
-
清除日志
-
留后门
-
渗透测试报告
Nmap
一些命令
查看主机在线
namp -sP www.baidu.com
查看操作系统
namp -O 10.1.1.1/24
查看指定端口开放
nmap -p 21,23,443 10.1.1.1
计算机网络模型
分层模型
分层思想
通信需求进而定义协议标准
将复杂的流程分解为几个功能相对单一的子过程
OSI 七层模型
1974年,ISO组织发布了OSI参考模型
Open System Interconnection 开放的通信系统互联参考模型
TCP / IP 五层协议栈
基本同时诞生,OSI先有模型,TCP / IP 先有协议
数据传输过程(封装与解封装)
传输层
TCP / UDP + 数据 = 数据段 Fragment
TCP/UDP 头
端口号
- 标记源端口号(客户端)和末端口号(服务器)
- 完成进程到从进程的通信(通过应用层的端口号来控制)
- 标记是从哪个应用传的
头部 | 作用 / 区别 |
---|---|
TCP | 可靠安全,字节多 |
UDP | 快,字节少 |
TCP
- 提供可靠安全的传输,需要和对方建立连接,有数据重传机制
- 面向连接服务
UDP
- 快捷的传输,无重传机制
- 无连接服务
加密只是对内容进行传输,与传输过程的安全性是两回事
网络层
IP包头 + TCP / UDP + 数据 = IP包 / 报文 Packet
IP包头
IP地址
- 完成点到点的通信
数据链路层
MAC子层 + IP包头 + TCP / UDP + 数据 +FCS = 帧 Frame
交换机不认识IP
地址,只认识MAC
地址
MAC子层
MAC地址
- 源MAC地址和目标MAC地址(给交换机看)
- 交换机根据MAC地址转发数据
FCS
- Frame Check Sequence帧校验序列,帧尾,占4个字节
- 表示前边的数据放在循环算法里得出来的值,用来验证完整性的
物理层
比特 bit
- 传输数字 / 模拟信号
表示层 / 会话层
表示层:将数据编码为二进制(ASCII)
会话层:维持会话秩序,避免数据堵塞
五层协议栈
层 | 单元 | 应用 | 协议 |
---|---|---|---|
应用层 | 数据PDU | PC/防火墙 | HTTP80 HTTPS443 SSH22 DNS53 Telnet23 FTP20/21 DHCP67/68 SMPT25 POP3110 RDP3389 SMB445 MySQL3306 |
传输层 | 数据段Fragment | 防火墙 | TCP UDP |
网络层 | 包/报文Packet | 路由器 | ICMP IP ARP |
数据链路层 | 帧Frame | 交换机/网卡 | MAC子层协议 |
物理层 | 比特bit | 网线/网卡 | 数字/模拟信号 |
ping
命令使用络层的ICMP
协议,不会用到上面两层
五层协议栈
各层通信
物理层 physical layer
载体:网线 / 光纤 / 空气
信号:
- 电信号:模拟信号 / 数字信号(中继器,抗干扰能力强)
- 光信号:光纤类型
- 单模光纤 只传输一种光
- 多模光纤 传输多种光
网线/双绞线
- 五类 超五类 六类
- 排线序:
- T568A标准:白绿 绿 白橙 蓝 白蓝 橙 白棕 棕
- T568B标准:白橙 橙 白绿 蓝 白蓝 绿 白棕 棕
- 1 2 发送 3 6接收
- 交叉线:
- 两边的线序不一样,
- 同种设备之间(三层以上都算,路由器,服务器,电脑)
- 直通线:
- 两端线序相同
- 异种设备间之间
- 全反线console线
数据链路层 Data Link Layer
结构
格式:
- 802.11帧格式:无线
- 802.3帧格式:有线
帧头:
- 网卡封装帧头
- 帧头由目标MAC、源MAC、类型组成
- 类型字段:
- 往上发数据时需要选择发送给哪一个协议
- 作用:识别上层协议,为上层提供服务
- 0x0800 上层是IP协议
- 0x0806 上层是ARP协议
- 帧头大小:6+6+2=14字节
上三层数据:
- 大小:
- MTU值(最大传输单元):1500字节
帧尾:
- 帧尾大小:4字节
工作在数据链路层的设备
- 交换机/网卡
交换机工作原理*
Switch视角
- 接收到帧,检查MAC地址表
- 若无匹配项,记录源MAC和接口至MAC地址表,广播转发
- 若有匹配项,单播转发
- 交换机2接收到该帧,检查MAC地址表,也记录源MAC,广播/单播给其他端口
交换机永远不会记录目标MAC地址
交换机MAC地址表更新:
- 立即更新:计算机换接口
- 等待老化时间:计算机拔出接口,未发送帧
注意:
- 计算机换接口时,有其他数据发到新接口上,计算机会丢弃该帧
- MAC地址表的老化时间默认是300秒
交换机的接口
接口类型 | 速率 |
---|---|
E Ethernet | 10Mb |
F FastEthernet | 100Mb |
G GigabitEthernet | 1000Mb |
Te TenGigabitEthernet | 10000Mb |
F0/1
0表示模块号,1表示接口号
接口速率自适应: 1000/100/10M自适应,
接口状态:up / down
down的三种类型:
- 人工down
- 速率不匹配
- 双工模式不匹配(双工duplex)
交换机基本工作模式、命令及基础知识(路由器配置)
第一次配置网络设备,需要使用console线,在PC需要使用“超级终端”或其它软件
- 用户模式:
switch>
- 可以查看交换机的基本简单信息
- 但不能做任何修改配置
- 特权模式
输入enable
switch> enable
switch> en // 缩写
switch#
- 可以查看所有配置,可以做测试、保存、初始化,
- 但不能修改配置
- 配置终端模式
在特权模式下输入configure
switch# configure terminal
switch# conf t //缩写
switch(config)#
- 默认不能查看配置!
- 可以修改配置,且全局生效!
- 接口配置模式
在配置终端模式下输入interface f0/2等接口
switch(config)# interface f0/2
switch(config)# int f0/2 // 缩写
switch(config-if)#
- 默认不能查看配置!
- 可以修改配置,且对该端口生效!
- console口/线/控制台模式
在配置终端模式下输入line
Switch(config)#line console 0
Switch(config)#line co 0 // 缩写
Switch(config-line)#
- 默认不能查看配置!
- 可以修改配置,且对console生效!
- 一些简单命令
退出一级
>exit
直接退到特权模式
>end
查看简写,可以查看该模式下的以e开头的命令
>e?
tab可以补全
修改交换机名称
conf t
>hostname xxx
改密码
用户密码:
line co 0
>password 123.com
>login // 开启验证
特权密码
conf t
enable password 123
enable secret 1234 // 保存时以密文形式
重启
en
reload
- 快捷键
ctrl+u
清除光标前的所有命令ctrl+a
快速定位到行首ctrl+e
快速定位到行尾
- 配置文件
running-config
配置文件,保存配置
en
copy running-config startup-config
en
show running-config // 浏览配置文件
交换机开机后查找startup-config
,写入running-config
内,若无,则创建running-config
在PT 7.2以上的版本退出时会提示是否要save
- 查看MAC地址表和接口状态列表
en
show mac-address-table
接口状态列表
Interface IP-Address OK? Method Status Protocol
FastEthernet0/1 unassigned YES manual up up
FastEthernet0/2 unassigned YES manual down down
int f0/1
shutdown // 手工关闭
no shutdown // 手工打开
- 第一个down:开启但未连线
- 第一个up:开启且接上线
- 第一个administratively down:手工关闭掉
- 第二个down:未协商成功(双工模式、速率之类的)
- 第二个up:协商成功
- 配置模式下使用特权模式的命令
在每条命令前加上do
do show mac-address-table
- 修改配置
在配置命令前加上no
line co 0
// 在哪配置的就在哪里删除
// 删除密码时可以不要加密码(具有唯一性)
no password 123.com
no login
- 路由器配置
int f0/0
ip add 10.1.1.254 255.255.255.0
no shutdown
// 查看接口状态!
do sh ip int b
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 10.1.1.254 YES manual up up
FastEthernet0/1 unassigned YES unset administratively down down
Vlan1 unassigned YES unset administratively down down
- 第一个up:人工开启路由器
- 第一个administratively down:人工关闭
- 第二个up:检测到连接了交换机
- 第二个down:检测到连接了交换机
- 清空 / 擦除
en
erase startup-config
- 设置虚拟端口远程连接
conf t
line vty 0 3 // 开启四个虚拟端口
修改/添加密码(特权模式加密码才可以远程连接)
在PC上
telnet 10.1.1.254
- PC连接路由器(ssh/telnet)
- 路由器配置虚拟端口
普通用户模式:
开启远程服务
conf t
// 配合ssh服务
hostname r1
ip domain-name r1.qf.com
crypto key generate rsa //生成密钥对
line vty 0 4 // 进入虚拟终端口配置
transport input all/none/ssh/telnet
password 密码
login
远程:
telnet 10.1.1.254
ssh -l r1 10.1.1.254 // -l 后面用户名
本地用户模式
conf t
// 配合ssh服务
hostname r1
ip domain-name r1.qf.com
crypto key generate rsa //生成密钥对
username xx password 123.com //配置本地用户
line vty 0 4
transport input all/none/ssh/telnet
password 密码
login local
远程:
telnet 10.1.1.254
ssh -l xx 10.1.1.254
- 交换机虚拟接口配置ip
交换机内部有虚拟PC,虚拟接口用来配置管理ip地址
conf t
int vlan 1 // 进入虚拟接口1
ip add
no shutdown
ip default-gateway 20.1.1.254 // 配置网关
网络层——IP数据包
结构
版本4
首部版本4
- 单位是四个字节 ,最大量为1111 15 就可以表示60字节了
优先级与服务类型8(3+4+1)
- 可以指定优先级
总长度16
- ip包的长度345层(3为ip包头)
- 如果数据长度大于1500 需要分包,ip包头20 加上其余1480数据为一趟
标识符16
- 表示同一个数据报文的所有分片
标志3(1+2)
- 第二位0表示分片
- 第二位1表示未分片
- 第三位1表示不是最后一个分片
- 第三位0表示最后一个分片
- 有些防火墙会筛选010型的,就是不允许网络层分片
- 让应用层分片
- 第一个保留不用
断片量13
- IP分片 0 1480
TTL 8
- time to live 生存时间
- 可以判断主机系列
- 100+ Windows
- 100- Linux
- 255 代表网络设备(网关)广播
- 没经过一个路由器-1
- 防止数据包在网络上一直循环下去
协议号8
- 6通向TCP
- 17通向UDP
- 1通向ICMP
- 类似于帧的类型
首部校验和16
- 类似FCS
- 只校验首部(IP包头)
- 确保数据不被篡改
路由
跨越从源主机到目标主机的一个互联网络来转发数据包的过程
(选择路径转发数据包的过程)
路由表
- 直连路由
C 10.1.1.0/24 F0/0
C 20.1.1.0/24 F0/1
- C表示直连 目标IP 接口(出口)
- 路由器一般连接的是网段,所以最后一位为0
- 静态路由
S 70.1.1.0/24 20.1.1.2(下一跳IP地址)
命令
配置路由
conf t
ip route 10.1.1.0 255.255.255.0 20.1.1.1
ip route 0.0.0.0 0.0.0.0 20.1.1.1(这个是下一跳)
查看路由
show ip route
VLAN
Virtual LAN
虚拟局域网
一般情况下广播会对该局域网内的所有主机发送请求,会增加网络负担。我们就会思考能否减小广播域呢,之前学的能对广播进行隔断的只有路由器,但它的缺点很明显:成本高且不灵活。于是就诞生了新技术VLAN,VLAN是在交换机上实现对广播域的逻辑隔离
VLAN原理:通过在交换机内设置不同的VLAN ID(不同频段),同一个频段才可以通信
VLAN作用: 实现在二层交换机的广播隔离(逻辑隔离广播域)
- 一个VLAN = 一个广播域 = 一个网段(一般默认设置)
VLAN类型:
- 静态VLAN
- 手工配置
- 基于端口划分的VLAN,VLAN ID设置端口上
- 动态VLAN(被淘汰了)
- 手工配置
- 基于MAC地址划分的VLAN,VLAN ID设置在MAC地址上/采用802.1x端口认证基于账号来划分VLAN
VLAN表 | MAC地址 |
---|---|
VLAN1 | BB |
VLAN2 | AA CC |
VLAN表与MAC地址表对比:
VLAN表只是决定可不可以通信
MAC用于实现通信(数据传输)
VLAN链路类型:
- 中继链路 trunk
用于连接两台交换机,使所有VLAN在该链路上进行传输,这里启用标签技术,在数据帧上加上标签,来区分不同的VLAN数据
trunk标签:
ISL标签:cisco私有的,标签大小30字节(26前+4后,未对帧破坏)
802.1q标签:公有协议,所有厂家支持,标签4字节,属于内部标签(加到中间)
- 接入链路 access
在同一个VLAN下的链路
VLAN命令
1. 创建VLAN
conf t
vlan 10
name 名字
exit
2. 查看VLAN表
show vlan b
3. 将端口加入到VLAN
int f0/x
switchport access vlan 10
exit
4.配置trunk
int f0/x
switchport mode trunk // 选择trunk链路类型
单臂路由
首先对网络进行规划时,一般选用同一VLAN同一网段,就可以在一台交换机上面连接不同的VLAN(网段),此时不同VLAN(网段)进行连接需要通过路由器,直接连接到交换机上,这里称为单臂路由。
我的思考:
VLAN & 网段 | 我的理解 |
---|---|
同一网段不同VLAN | 用作考题,无实际意义 |
不同网段不同VLAN | 实现交换机对不同网段的逻辑隔离(路由器为物理隔离) |
同一网段同一VLAN | |
不同网段同一VLAN |
在同一台交换机上,入和出只要是同一个VLAN就允许通过
小实验
PC 交换机
配好IP VLAN
路由器
int f0/0.1 // 进入子接口,配置IP
encapsulation dot1q 10 // 封装识别VLAN10的数据
ip add 10.1.1.254 255.255.255.0 // 配置IP
int f0/0.2 // 进入子接口,配置IP
encapsulation dot1q 20 // 封装识别VLAN10的数据
ip add 20.1.1.254 255.255.255.0 // 配置IP
int f0/0
no sh
大实验
# vlan配置
交换机上
swicthport mode trunk // 交换机之间
vlan [数字] // 创建vlan
PC上
swicthport access vlan [数字] // 配置PC的vlan
单臂路由器上
int f0/0.1 // 进入子接口
encapsulation dot1q [数字] // 选择封装类型(10、20)
ip add 10.1.1.254 255.255.255.0
# 域名部分-交换机上
vtp domain obito
后在dns服务器上设置解析
# 路由器上部署DHCP服务器
ip dhcp excluded-address 10.1.1.1 10.1.1.100 // 排除地址
ip dhcp pool v10 // 地址池名字
network 10.1.1.0 255.255.255.0 // 目标网段,设置的IP
default-router 10.1.1.254 // 默认路由
dns-sercer 40.1.1.1 // 默认DNS服务器
取消在前面加上 no 即可
# 服务器上部署DHCP
在配置页面中添加地址池,但此时由于不同VLAN不能通信,需要在路由器上做些操作(专门针对DHCP的)
int f0/0.1
ip helper-address 40.1.1.1 // 允许DHCP广播跨网段传输
单臂路由的缺点
- 网络瓶颈,请求量大
- 容易发生单点物理故障
- VLAN间的通信的每一帧都进行单独路由
三层交换机
交换机内置了路由引擎,具有路由的功能,但是不能代替路由,发明出来就是为了解决单臂路由的缺点
- 从多子接口到多虚拟接口(避免网络瓶颈)
- 不在依赖一个物理接口,无父子关系(避免单点故障)
- 一次路由,永久使用(避免每次都是一帧一帧解封封装发出)
- 使用到了CEF快速转发表和邻接关系表,对于目标VLAN和IP相同的包,直接怼上目标MAC和源MAC
开启三层路由
conf t
ip routing
int vlan [数字]
ip add 10.1.1.254 255.255.255.0
no sh
交换机的端口不能与路由器直接连接,这里需要升级端口(默认2级)
int f0/3
no switchport
ip add 30.1.1.1 255.255.255.0
no sh
小实验
实现下图互通!!
# 配置trunk
在交换机之间配置即可
int f0/2
sw t encapsulation dot1q // 三层交换机需指定封装类型
sw m t
# 配置vtp
VTP是用来帮助管理多交换机的多vlan情况,防止vlan信息混乱,维持vlan信息统一
在三层交换机上
conf t
vtp domain [域名]
# 配置/添加VLAN
交换机上
conf t
vlan 10
PC上
int f0/1
sw ac vlan 10
# 起虚拟接口
conf t
ip routing // 开启三层路由
int vlan 10
ip add 10.1.1.254 255.255.255.0
no sh
# 三层交换机升级端口配置IP
int f0/3
no switchport
ip add 30.1.1.1 255.255.255.0
no sh
# 配置路由
ip route 0.0.0.0 0.0.0.0 30.1.1.2
sh ip route
HSRP协议
hot standby route protocol
热备份路由协议
一般PC只能连接一个网关,如果坏了需要手动配置/重启,比较麻烦。于是就有了HSRP/VRRP
,用于备份网关,实时进行网关的切换。
涉及到的知识点
HSRP组号:1-255 无大小之分
虚拟路由器IP:主机接入的
HSRP成员(虚拟、活跃、备份路由器)
优先级:1-255,越大权限越高
hello包: 同组路由器每隔3秒交流,最高等待时间为10秒
占先权:检测不到对方时,或者检测到对方的权限比自己低的时候,立即抢占活跃路由的位置
跟踪:跟踪外网端口状态,外网down掉回自降优先级
小实验
实现在上面路由down掉的情况下仍能ping到外网
# IP配置
# 路由配置
# HSRP
int f0/0
standby 1 ip 10.1.1.254 // 配置虚拟网关
standby 1 priority 200 // 设置优先级
standby 1 preempt // 设置占先级
standby 1 track f0/1 // 追踪端口,down后会自降10点优先级
int f0/0
shutdown
no shutdown
int f0/1
shutdown
no shutdown
ACL
access control list
访问控制列表
一般情况下,数据包进出路由器都是随意自由,不受约束的,这会带来一定的安全问题。这里引入ACL,用于对经过路由器上的包进行过滤筛选,分为标准ACL和扩展ACL
标准ACL:表号1-99用于标记表中每一条ACL规则,但只能基于源IP对包进行过滤
扩展ACL:表号100-199,可以基于源IP、目标IP、端口号、协议等对包进行过滤
原理:
- ACL表须应用到接口的进/出方向才生效
- 一个接口的一个方向只能应用一张表(每个路由器上的表号不重复)
- 进还是出方向的应用取决于流量控制总方向
- ACL表自上而下检查每一条,每一条是由条件和动作组成,当某流量没有满足条件,则继续检查下一条
- 标准ACL尽量写在out方向
- 一般情况下,ACL一旦写错,不能删除条目,不能插入条目,如要修改,则必须删除整张表重写
标准ACL实验
# 写规则条目(每台路由器上的表号1-200)
conf t
access-list [表号] permit/deny IP 反子网掩码
access-list 1 deny host 10.1.1.1 // 禁止该主机
access-list 1 deny 40.0.0.0 0.255.255.255 // 禁止40网段
acc 1 permit any
# 应用到接口
int f0/1
ip access-group 1 in/out
ip access-group 1 out
# 查看表
show ip access-list
# 删除表
no access-list 1
注意在写条目最后要记得加上permit any
扩展ACL实验
# IP 路由配置
# 能ping通即可,可以开启server2的DNS服务,也可以不开启,影响不大
# 扩展ACL条目(格式)
conf t
access-list 100 permit/deny [协议] 源IP 反掩码 目标IP 反掩码 eq 端口
# 应用到接口
int f0/1
ip access-group 1 in/out
# 实验内的代码
# 在路由器2上
acc 100 deny tcp h 10.1.1.1 h 40.1.1.1 eq 80
acc 100 per ip h 10.1.1.1 h 40.1.1.1
acc 100 per tcp h 20.1.1.1 h 40.1.1.1 80
acc 100 deny ip h 20.1.1.1 h 40.1.1.1
acc 100 per ip any any
acc 101 deny icmp h 10.1.1.1 h 50.1.1.1
acc 101 deny icmp h 20.1.1.1 h 50.1.1.1
acc 101 per ip any any
int fx/x
ip access-group 100/101 out
eq:表示等于
详细的写在上边,下面的条目不会造成影响,千万不能写反!!!
命名ACL
不是一种类型,而是可以自定义名称、可以对ACL表内容增删改
标准和扩展的ACL表的表号其实就是表的名字,1-200
# 创建命名ACL,并进入到该表内部,可以执行操作
conf t
ip acc standard/extended [name]
[位置号] permit/deny [协议] IP IP eq 端口 // 插入、增加条目
no [位置号] // 删除条目
# 例子
conf t
ip acc ex 101 // 进入ex101表内
do sh ip acc // 查看ACL表,便于操作
no 20 // 删除位置号为20的条目
15 deny ip h 10.1.1.1 h 20.1.1.1 // 写入一个条目,位置号为15
NAT
Network Address Translation
网络地址转换
实现公私有IP的转换,用于解决IPv4地址不足的问题。一般配置在防火墙和路由器上。
静态NAT:有个转换表,里面的IP地址转换为1对1的,一般用于外 ==>内,且固定端口
PAT:端口复用技术,就是在网关上对原来的内网IP和端口号进行动态替换(有地址池),用于内 ==> 外
命令:
# 定义内网端口
int f0/0
ip nat inside
# 定义外网端口
int f0/1
ip nat outside
# 配置PAT
定义内部地址池:
acc 1 permit 192.168.0.0 0.0.255.255
做PAT动态映射
conf t
ip nat inside source list 1 int f0/1 overload
# 配置静态端口转换
cont t
ip nat inside source tcp 192.168.1.3 80 100.1.1.2 80