无论在国内市场还是国际市场,CISCO交换机、路由器在网络设备领域都占据了主导地位。本文主要总结交换机、路由器等网络设备相关的概念以及CISCO设备常用配置命令,以便记录和学习。

文章目录

  • 一、基础概念
    • (一) 交换机与集线器
    • (二) VLAN标签
    • (三) 管理方式
    • (四) 工作模式
    • (五) 加密级别
  • 二、配置命令
    • (一) 基本配置
    • (二) 配置DHCP
    • (三) 划分VLAN
    • (四) 配置VTP
    • (五) 配置ACL
    • (六) 端口镜像
    • (七) GRE隧道
    • (八) NAT配置

一、基础概念

(一) 交换机与集线器

交换机工作在链路层或网络层,这和工作在物理层的集线器有本质上的区别:

  • 集线器 (Hub):内部本质是总线型拓扑,数据转发只能通过广播的形式,端口之间通道为半双工通信,所有端口存在于同一个冲突域
  • 二层交换机 (Switch):通过自学习建立“MAC-端口”对应表,从而可以实现单播,端口之间为全双工通信,这样得以将每个端口冲突域相隔离
  • 三层交换机 (Router):具有路由功能的交换机,可以简单理解为在二层交换机的基础上添加了路由模块

尽管交换机有“MAC-端口”对应表,而且端口间为全双工通信,但这只是隔离了冲突域,并不能隔离广播域,对于ARP、DHCP等广播包一样会广播到所有端口,所以当链路复杂时一样容易产生广播风暴,对此有效的解决方法就是配置VLAN,每个VLAN都是一个独立的广播域,可以有效避免广播风暴。

(二) VLAN标签

要使交换机能够分辨不同的VLAN报文,需要在报文中添加标识VLAN信息的字段,即VLAN标签 (VLAN Tag) ,这个过程需要使用IEEE 802.1Q协议封装帧头,只能由交换机、路由器等网络设备实现。协议规定在以太网数据帧的目的MAC地址和源MAC地址字段之后、协议类型字段之前加入4个字节的VLAN Tag,用以标识VLAN信息,如下图所示:

主机、集线器收发的数据包中无VLAN Tag,交换机、路由器等设备收发的数据包中可以有,也可以没有VLAN Tag。VLAN Tag是二层的概念,如果需要三层设备处理VLAN Tag,就需要配置其二层功能,否则收到携带VLAN Tag的数据包无法正常识别和处理,例如路由器的三层接口如果不配置虚拟子接口,或者在三层交换机上关闭接口二层、开启三层功能,这些情况下接口都无法正常处理携带VLAN Tag的数据包。

CISCO交换机不同类型的接口 (链路) 在收发Tag/Untag报文时处理方式不同:

  • Access接口:一般用于和不能识别Tag的用户终端(如用户主机、服务器等)相连,只能收发Untag帧,且只能为Untag帧添加唯一VLAN的Tag
  • Trunk端口:一般用于连接交换机、路由器等可同时收发Tag和Untag报文的设备,可以允许多个VLAN的报文携带Tag通过

(三) 管理方式

对于交换机、路由器等CISCO设备,很多配置命令都是通用的,这两类网络设备管理的模式也是相同的:

  • Console接口:设备的控制台接入端口,一般为RJ45接口,管理员通过“Console转串口”或“Console转USB”数据线,一端接交换机另一端接PC控制端,在本地进行管理
  • AUX接口:辅助接口,用于远程配置,很少使用
  • 虚拟终端 (vty):通过Telnet、SSH等远程连接交换机时分配,需要先通过Console接口配置才能使用
  • WEB界面:通过WEB界面管理设备,需要先通过Console接口或其他方式将WEB服务启用

(四) 工作模式

CISCO设备四种基本的工作模式,分别如下:

  • 用户模式 >:低权限用户接入交换机的初始工作模式
  • 特权模式 #:用户模式下输入命令 enable 进入特权模式
  • 全局配置模式 (config)#:特权模式下输入命令 configuration terminal 进入全局配置模式
  • 接口配置模式 (config-if)#:全局配置模式下选择具体接口进入接口配置模式,如:int f0/1-4

CISCO设备特权级别范围 0-15,级别≥3时,用户登入交换机即特权模式,不用输入enable命令和特权模式的密码。当用户处于较低权限级别,通过enable命令默认进入15级最高权限。

(五) 加密级别

不同系列的设备支持的加密方式不同,常见如下:

  • 0:不加密,显示密码本身
  • 5:MD5哈希加密
  • 7:CISCO加密,可以逆转破解,安全性低
  • 8:PBKDF2哈希加密
  • 9:SCRYPT哈希加密

二、配置命令

(一) 基本配置

[<command>] ? —> 帮助命令,常用于查看子命令
no <command> —> 取消command相应的配置
include —> 结合管道符|使用,提取信息
exit —> 退出当前模式

SW> enable <level>                // 提升权限至level,默认进入15级特权模式SW# show users                    // 查看当前登陆用户,主要包括console和vty// 有*标注的代表自己当前登录用的模式 SW# show privilege                // 显示当前用户权限等级SW# show running-config           // 显示当前设备所有配置SW# show version                  // 显示设备版本、系统等信息SW# show vlan brief               // 简洁显示所有VLAN状态、名称SW# show ip interface brief       // 简洁显示所有接口(包括虚拟接口)分配IP和激活状态SW# show ip route                 // 查看路由表(三层设备)SW# show ip protocols             // 查看IP路由协议配置参数和运行情况SW# show arp                      // 查看“ARP-IP-Interface”对应表(三层设备)SW# show access-lists             // 查看ACL规则(三层设备)SW# show vtp status               // 查看VTP状态信息SW# show monitor                  // 查看端口镜像配置(交换机)SW# show mac address-table        // 查看交换机“MAC-接口”对应表// 可以以此判断接口下接主机情况,但注意转换表有过期时间,信息可能不完整SW# show cdp neighbors detail     // CDP(Cisco Discovery Protocol)是CISCO专有协议,用于查看相邻设备的配置信息// 查看与交换机连接设备的主机名、型号、接口、IP等详细信息SW# config terminal               // 进入全局配置模式SW# write                         // 保存配置信息// 配置信息保存在运行配置中,而重启后是按照启动配置运行的,所以配置后要保存SW# debug                         // 进入debug调试模式,可以查看通过设备的相关数据包的收发情况SW(config)# hostname <hostname>   // 配置设备名称SW(config)# service password-encryption // 开启加密服务,采用CISCO私有算法加密存储密码SW(config)# username <name> privilege <level> {secret|password} <num> <pass> //配置设备名称// privilege有16个等级:0-15,等级越高权限越大// secret代表加密,<num>代表不同的加密算法// password代表不加密,在show run时直接可见密码明文// 如果开启password-encryption服务,则password设置的密码会被加密// secret命令优先级大于password,若同时设置则secret命令生效SW(config)# enable {secret|password} <num> <pass> // 设置低权限用户进入特权模式的密码SW(config)# line console 0        // line表示接入交换机的线路,通常包括console和vty// 对控制台接口进行配置,0代表console端口号// 命令执行后进入SW(config-if)#配置模式SW(config)# line vty 0 4          // 对虚拟终端进行配置,0-4代表5个虚拟终端     // 命令执行后进入SW(config-if)#配置模式      SW(config-line)# password <pass>  // 配置进入当前模式(console/vty)需要的密码SW(config-line)# login            // 登录时启用密码检查,只需要输入密码SW(config-line)# login local      // 登录时启用密码检查,需要输入用户名和密码SW(config-line)# no login         // 当前line不允许登录SW(config)# interface <interface> // 进入接口配置模式 SW(config-if)#// <interface>可以是VLAN、物理接口、虚拟子接口SW(config-if)# no shutdown        // 激活端口SW(config-if)# ip address <addr> <mask> // 为接口(SVI、物理接口、虚拟子接口)配置静态IPSW(config-if)# ip address dhcp    // 为接口(SVI、物理接口、虚拟子接口)配置DHCPSW(config-if)# no switchport      // 关闭三层交换机物理接口的二层功能,启用三层功能// 这样就可以为三层交换机物理接口配置IP地址SW(config)# ip route <dst_addr> <mask> <gw_addr> // 配置静态路由(三层设备)SW(config)# router <protocol>     // 进入动态路由协议配置(三层设备),包括rip/ospf/eigrp/bgpSW(config-router)# default-information originate  // 配置默认路由(三层设备) // 使默认路由配置可以在动态路由协议域内所有路由器上传播

注意:配置命令支持缩略表示,如:username root privi 15 pass asdfshow run

(二) 配置DHCP

在二层或三层设备上配置DHCP服务,为使VLAN间可以正常路由,三层设备上为VLAN实现路由的IP地址 (路由器物理接口或虚拟子接口的IP / 三层交换机SVI的IP) 必须和DCHP服务分配的默认网关地址一致。

Router(config)# service dhcp               // 开启DCHP服务Router(config)# ip dhcp pool <name>        // 进人dhcp地址池进行配置Router(dhcp-config)# network <addr> <mask> // 配置dhcp地址池Router(dhcp-config)# default-router <addr> // 配置网关地址Router(dhcp-config)# dns-server <addr>     // 配置dns服务器地址Router(dhcp-config)# exitRouter(config)# ip dhcp excluded-address <addr> // dhcp不分配的地址Router(config)# exitRouter# show ip dhcp binding              // 查看dhcp地址分配情况

(三) 划分VLAN

1.创建VLAN

VLAN数据库模式全局模式下都可以实现对VLAN信息进行配置,但推荐在全局模式下进行配置,因为VLAN数据库模式正在被弃用,下面对VLAN的配置统一在全局模式下进行。

SW(config)# vlan <id>                // 创建vlan并对其进行配置SW(config-vlan)# name <name>         // 为vlan命名name

2.配置端口

SW(config)# interface <interface_phy>        // 进入物理接口进行配置,如fa0/1、gi0/1、gi0/0/1// 可以一次配置多个接口,如 interface range fa0/1-2// fa代表Fast百兆以太网接口// gi代表Gigabit千兆以太网接口// 接口代码的完整表示为x/y/z,代表第x台设备,第y个插槽板卡,第z个端口SW(config-if)# switchport mode access        // 配置接口为access模式,只允许指定vlan数据包通过SW(config-if)# switchport access vlan <id>   // 配置交换机接口,将其分配给vlan id,且只允许vlan id数据包通过// 只有交换机设备有此命令SW(config-if)# switchport trunk encapsulation dot1q
// 配置接口封装为dot1q,不然可能会出现报错:"An interface whose trunk encapsulation is 'Auto' can not be configured to 'trunk' mode"SW(config-if)# switchport mode trunk         // 配置接口为trunk模式,可以允许多个vlan数据包通过SW(config-if)# switchport trunk allowed vlan all // 允许所有vlan数据包通过

注意:交换机默认存在VLAN 1(本征VLAN),所有端口初始都划分在VLAN 1中。

3.配置SVI

交换机虚拟接口 (Switch Virtual Interface, SVI) 是VLAN的虚拟接口,为SVI配置IP,通常作用如下:

  • 实现对设备进行远程管理
  • 作为网关实现不同VLAN间路由

不同设备 (交换机) 如果需要通过同一个VLAN进行管理,需要为VLAN在不同设备上的SVI配置不同的IP,例如:在SW1和SW2上都配置有VLAN10的信息,想要通过VLAN10对这两个设备进行管理,可以在SW1上配置VLAN10的IP为10.1.1.1,在SW2上配置VLAN10的IP为10.1.1.2。

SW(config)# interface vlan <id>                // 针对Vlan的SVI进行配置SW(config-if)# descryption demo test           // 对SVI添加描述SW(config-if)# ip address <address> <mask>     // 为SVI分配IP

4.配置路由

在成功划分VLAN后,要使VLAN间可以正常路由需要在三层设备上配置,一般有三种方式:

(1) 多臂路由:即普通路由,为每个Vlan分配一个物理端口,每个物理端口配置为相应Vlan的网关,但是这种方式需要耗费大量路由器端口,在实际实施中基本行不通。

Router(config)# interface <interface_phy> // 进入物理接口配置,如fa0/1Router(config-if)# no shutdown            // 激活端口Router(config-if)# ip address 192.168.100.1 255.255.255.0 // 分配IPRouter(config-if)# exit

(2) 单臂路由:在一个物理端口上划分多个虚拟子接口,每个虚拟子接口分配一个VLAN,并作为VLAN的网关,这样解决了路由器物理端口需求量过大的问题,但由于所有VLAN数据包都通过一条链路,所以性能上限会受到单链路的局限。

交换机和路由器之间链路是中继链路,交换机连接路由器的接口配置为trunk口,允许多个VLAN的数据帧通过,默认封装格式为802.1Q,只有路由器接口同样封装为802.1Q,才能保证打上VLAN标签的数据帧能够被交换机区分,从而实现跨越VLAN通信,所以交换机在配置虚拟子接口时要封装802.1Q协议。

Router(config)# interface <interface_phy>  // 进入物理接口配置,如fa0/1Router(config-if)# no shutdown             // 激活接口Router(config-if)# exit Router(config)# interface <sub_interface> // 进入虚拟子接口配置,如fa0/0.1 // 虚拟子接口并不是实际存在的物理接口,但是功能和物理接口相同Router(config-subif)# encapsulation dot1q <vlan_id>          // 接口配置802.1Q协议(vlan封装方式)Router(config-subif)# ip address 192.168.100.1 255.255.255.0 // 为该接口划分网关地址,针对虚拟接口设置ip是为了分配网关Router(config-subif)# exit

(3) 三层交换机:在二层交换机的基础上添加路由模块,为每个VLAN分配一个物理接口,每个物理接口配置为相应的Vlan的网关,解决了物理端口需求量大和链路局限的问题,是解决VLAN间路由的首选。三层交换机默认只开启了二层功能,如果需要使用三层功能需要手动开启。

在交换机接口上配置VLAN间路由有两种思路,第一种是利用交换机接口二层功能+路由

SW(config)# vlan <id>                  // 和连接的二层交换机配置相同的vlan信息SW(config-vlan)# name <name>           // 为vlan命名SW(config-vlan)# exitSW(config)# interface <interface_phy>  // 进入物理接口配置,如fa0/1,配置三层功能      SW(config-if)# no shutdown             // 激活接口SW(config-if)# switchport mode access  // 允许单个VLAN通过配置接口为access模式// 允许多个VLAN通过配置接口为trunk模式SW(config-if)# switchport access vlan <id>  // 配置允许通过的vlan idSW(config-if)# exitSW(config)# interface vlan <id>        // 进入SVI配置SW(config-if)# ip address <addr> <mac> // 为SVI配置IP,与网关IP一致SW(config-if)# exitSW(config)# ip routing                 // 开启IP路由功能

第二种是利用交换机接口三层功能+路由

SW(config)# vlan <id>                  // 和连接的二层交换机配置相同的vlan信息SW(config-vlan)# name <name>           // 为vlan命名SW(config-vlan)# exitSW(config)# interface <interface_phy>  // 进入物理接口配置,如fa0/1,配置二层功能      SW(config-if)# no shutdown             // 激活接口SW(config-if)# no switchport           // 关闭接口二层功能,开启三层功能// 三层功能接口配置方法和路由器接口相同,但是不能配置虚拟子接口SW(config-if)# ip address <addr> <mac> // 配置接口IP,与网关IP一致SW(config-if)# exitSW(config)# ip routing                 // 开启IP路由功能

注意:
① 路由器自动开启路由功能,而三层交换机默认没有开启,需要ip routing命令
② 对三层交换机物理接口配置IP需要先使用no switchport命令关闭接口二层功能,开启三层功能
③ 出现Native VLAN mismatch discovered...警告信息,可以关闭VTP来解决,在全局配置模式输入命令 no cdp run,或者在相应接口关闭VTP no cdp enable

(四) 配置VTP

VTP (Vlan Trunk Protocol) 是CISCO私有的VLAN中继协议,通过同步交换机上VLAN的配置信息简化和统一网络管理。在VTP域中建立VTP Server和VTP Client,在一台VTP Server上配置VLAN时,VLAN信息将自动通过域中所有VTP Server/Client进行分发。

VTP中交换机有Server、Client、Transparent三种模式:

  • Server:维护VTP域中所有VLAN 信息,可以建立、删除或修改VLAN,可以同步VLAN配置,并把配置保存在NVRAM存储器中
  • Client:从VTP Server学习VLAN配置信息,不能建立、删除或修改VLAN,但可以同步VLAN配置,不保存配置到NVRAM存储器中
  • Transparent:独立于VTP域的交换机,仅维护本机上的VLAN信息,不参与VTP的信息同步和自学习机制,可以建立、删除和修改本机上的VLAN信息,并把配置保存在NVRAM存储器中

通常一个VTP域内的设置一个VTP Server和多个VTP Client,交换机之间必须要用中继链路Trunk模式,具体配置如下:

1.VTP Server

SW(config)# vtp mode server       // 配置交换机为VTP ServerSW(config)# vtp version <ver>     // 配置vtp版本SW(config)# vtp domain <name>     // 配置VTP域SW(config)# vtp password <pass>   // 配置VTP密码SW(config)# interface <interface_phy>   // 配置交换机相连的物理接口为trunk模式
SW(config-if)# switchport mode trunk
SW(config-if)# switchport trunk allowed vlan all
SW(config-if)# exit

2.VTP Client

SW(config))# vtp mode client      // 配置交换机为VTP ClientSW(config)# vtp version <ver>     // 配置vtp版本,必须与VTP Server一致SW(config)# vtp domain <name>     // 配置VTP域,必须与VTP Server一致SW(config)# vtp password <pass>   // 配置VTP密码,必须与VTP Server一致SW(config)# interface <interface_phy>   // 配置交换机相连的物理接口为trunk模式
SW(config-if)# switchport mode trunk
SW(config-if)# switchport trunk allowed vlan all
SW(config-if)# exit

(五) 配置ACL

访问控制列表 (Access Control Lists, ACL) 可以根据在三、四层设定的条件 (源IP、目的IP、源端口、目的端口等) 对接口上的数据包进行过滤,允许其通过或丢弃,从而限制网段、VLAN间互访。ACL需要在三层设备上进行配置,所有规则都是基于出/入两个方向:

  • 出:表示已经由设备处理完毕,正离开设备接口的数据包
  • 入:表示已经到达设备接口的数据包,将要被设备处理

ACL按照优先生效的原则,数据包先匹配到的规则直接生效,不会继续向下寻找匹配。CISCO默认在ACL规则结尾添加deny any规则,即默认丢弃所有没有匹配到规则的数据包,因此如果要正常转发数据包,需要手动添加permit any规则。

分为标准ACL、扩展ACL和命名ACL三类:

1.标准ACL

对三层数据包中的源IP地址进行过滤,使用访问控制列表号1-99来创建相应的ACL,命令为:

SW(config)# access-list <num> {permit|deny} <addr> <r_mask>
// 标准ACL --> num: 1-99
// CISCO规定ACL中用反向掩码表示子网掩码,比如:192.168.1.1 0.0.0.255 表示192.168.1.1/24
// <addr> <r_mask>替换成any,相当于 0.0.0.0 255.255.255.255
// <addr> <r_mask>替换成host <addr>,如:host 192.168.1.1,相当于:192.168.1.1 0.0.0.0SW(config)# access-list <num> permit any
// CISCO的ACL默认在规则结尾添加deny any的命令,即丢弃所有不符合匹配规则的数据包
// 因此在配置完限制规则后要加上这一句,否则匹配不到的规则包默认被丢弃SW(config)# ip access-list standard <num>SW(config-std-nacl)# <seq_num> {deny|permit} <addr> <r_mask>
// 可以指定添加ACL中具体规则的序号,如果不指定,默认序号按照10,20,30...递增SW(config-std-nacl)# no <seq_num>
// 只删除ACL中序号为seq_num的规则SW(config)# exitSW(config)# interface <interface>SW(config-if)# ip access-group <num> {in|out}
// 接口类型可以是物理端口、SVI和虚拟子接口
// 针对接口入/出端口应用ACL规则SW(config)# no access-list <num>
// 删除ACL规则

2.扩展ACL

对三层、四层数据包的源IP地址、端口以及目的IP地址、端口信息进行过滤,使用访问控制列表号100-199来创建相应的ACL,命令为:

SW(config)# access-list <num> {permit|deny} <protocol> <src_addr> <r_mask> <dst_addr> <r_mask> <operator> <service|port>
// 扩展ACL --> num: 100-199
// operator具体包括:It小于,gt大于,eq等于,neq不等于
// 如:access-list 1 deny tcp any host 192.168.1.1 eq www --> 将所有主机访问192.168.1.1的www(80)服务的tcp数据包丢弃SW(config)# no access-list <num>
// 删除整个ACL规则SW(config)# ip access-list extend <num>SW(config-std-nacl)# <seq_num> {deny|permit} <addr> <r_mask>
// 可以指定添加ACL中具体规则的序号,如果不指定,默认序号按照10,20,30...递增SW(config-std-nacl)# no <seq_num>
// 只删除ACL中序号为seq_num的规则SW(config)# exitSW(config)# interface <interface>SW(config-if)# ip access-group <num> {in|out}

3.命名ACL

基于名称建立标准/扩展ACL规则,或是选择相应的规则对其进行编辑,序号可以当成是一种特殊的名称,所以也可以针对序号规则进行编辑,命令为:

SW(config)# ip access-list {standard|extended} <name>
// 建立一个名为name的标准/扩展ACLSW(config-std-nacl)# <seq_num> {deny|permit} <addr> <r_mask>
// 可以指定ACL中具体规则的序号,如果不指定,默认序号按照10,20,30...递增SW(config-std-nacl)# no <seq_num>
// 只删除ACL中序号为seq_num的规则SW(config-std-nacl)# exitSW(config)# no ip access-list standard <name>
// 删除整个ACL规则SW(config)# interface <interface>SW(config-if)# ip access-group <name> {in|out}

注意:CISCO规定ACL中用反向掩码表示子网掩码,比如用 192.168.1.1 0.0.0.255 表示 192.168.1.1/24

(六) 端口镜像

端口镜像即把交换机源端口 (一个或多个) 的流量完全拷贝一份,然后从目的端口 (一个或多个) 发出,目的端口通常接IDS、Sniffer PC等流量分析设备,以便网络流量监控和故障诊断。在CISCO设备上通过SPAN (Switched Port ANalyzer) 和RSPAN (Remote Switched Port ANalyzer) 技术做端口镜像。

1.SPAN

本地设备端口监控,所有被监听的源端口与镜像目的端口同处于一台交换机上:

SW(config)# monitor session <id> source <interface> {tx|rx|both}
// 配置span镜像源接口
// interface既可以是物理接口,如fa0/1,也可以是SVI,如vlan 100
// tx: 接口发送流量,rx: 接口接收流量,both: 接口收发流量 (默认)SW(config)# monitor session <id> destination <interface_phy>
// 配置span镜像目的接口
// interface_phy是连接流量分析设备的物理接口

镜像目的接口配置后,只能接收镜像流量,无法收发正常流量。

2.RSPAN

远端设备端口监控,被监听的源端口与镜像目的端口不在同一台交换机上,这时要在中间经过所有的交换机上配置相同的RSPAN VLAN用于传递镜像流量,交换机之间为Trunk连接。

(1) 在源端口交换机上配置,使镜像端口流量 interface —> rspan vlan

SW(config)# vlan <id>          // vlan id不能和已配置正常vlan相同SW(config-vlan)# name <name>   SW(config-vlan)# remote-span   // 配置RSPAN模式,专用于传递镜像流量SW(config-vlan)# exitSW(config)# monitor session <id> source <interface> {tx|rx|both}
// 配置rspan镜像源接口
// interface既可以是物理接口,如fa0/1,也可以是SVI,如vlan 100SW(config)# monitor session <id> destination remote vlan <id> reflector-port <interface>
// 镜像目的端口配置为rspan vlan
// 反射端口(reflector-port)负责将镜像流量转发到rspan vlan

(2) 在中间交换机上配置 (如果存在的话) RSPAN VLAN,使镜像端口流量 rspan vlan —> interface

SW(config)# vlan <id>          // vlan id要与镜像源端口所在交换机的vlan一致SW(config-vlan)# name <name>      SW(config-vlan)# remote-span   // 配置RSPAN模式,专用于传递镜像流量SW(config-vlan)# exitSW(config)# monitor session <id> source remote vlan <id>
// 镜像源端口配置为rspan vlanSW(config)# monitor session <id> destination <interface_phy>
// 配置rspan镜像目的端口的流量
// session id不需要和源交换机一致
// interface_phy是连接下一个交换机的物理接口

(3) 在目的端口交换机上配置,使镜像端口流量 rspan vlan —> interface

SW(config)# vlan <id>          // vlan id要与镜像源端口所在交换机的vlan一致SW(config-vlan)# name <name>      SW(config-vlan)# remote-span   // 配置RSPAN模式,专用于传递镜像流量SW(config-vlan)# exitSW(config)# monitor session <id> source remote vlan <id>
// 镜像源端口配置为rspan vlanSW(config)# monitor session <id> destination <interface_phy>
// 配置rspan镜像目的端口的流量
// interface_phy是连接流量分析设备的物理接口

(七) GRE隧道

通用路由封装 (General Routing Encapsulation, GRE) 通过对三层数据报文进行封装,使被封装的报文可以在另一种三层网络协议中传输,从而连接两个不同的网络,为数据传输提供一个透明的隧道。在路由器R1和R2之间建立一条GRE (IP-over-IP) 隧道,R1、R2两路由器配置命令相似,基本过程为:

  • 创建隧道,配置IP,作为隧道源IP地址
  • 指定隧道源接口和目的接口IP,建立隧道
  • 为隧道配置路由 (目的地址是隧道对端可以访问的网段,路由地址是隧道对端IP)

以R1为例:

R1(config)# interface <interface>        // 配置接口,作为隧道源接口,如fa0/1R1(config-if)# ip address <addr> <mask>  // 配置接口IPR1(config-if)# exitR1(config)# interface tunnel <id>       // 创建隧道R1(config-if)# tunnel mode gre ip        // 在IP协议上封装GRER1(config-if)# ip address <addr> <mask>  // 配置隧道IP,隧道IP是虚拟IPR1(config-if)# tunnel source <interface> // 配置隧道源接口,如fa0/1R1(config-if)# tunnel destination <addr> // 配置隧道目的接口IP,注意与隧道IP (虚拟IP) 相区分// 如果源接口IP和目的接口IP之间能正常通信,通道开启R1(config-if)# exitR1(config)# ip route <dst_addr> <mask> <forward_ip>   // forward_ip 是隧道对端IP// 通过指定隧道IP的方式,路由通向某一网段的流量// 注意参数 dst_addr 应是网络号 (IP地址与掩码相与的结果,如 192.168.1.0),否则会报错 "%Inconsistent address and mask"

理解隧道两端为什么除了接口IP还需要隧道IP,因为通过GRE隧道的包外层协议IP地址是接口IP,而内层协议IP地址是隧道IP。

GRE具有配置简单、便于维护、包头小、效率高的优势,但不对数据进行加密,通常可结合IPSec协议以保证通信安全性。

(八) NAT配置

网络地址转换 (Network Address Translation, NAT) 提供了一种将内网地址转换成外网地址的方法,让内网计算机通过有限的外网IP访问外网资源,从而节省了IP资源。内网的私有IP如果想访问外网资源,在边界路由器上就必须配置NAT,因为外网主机无法对私有IP进行路由。

NAT常见三种类型:

  • 静态地址转换:将内网IP一对一地转换为外网IP,内网IP地址对应唯一的外网地址
  • 动态地址转换:将内网IP随机地转换为合法外网IP池中的地址,内网IP地址对应多个外网地址
  • 端口地址转换:即PAT (Port Address Translation),内网所有主机均可共享一个合法外网IP,采用端口多路复用,改变出网数据包的源端口并进行端口转换,从而可以最大限度地节约IP地址资源,目前使用的NAT技术一般都是PAT

NAT一般是针对边界路由设备进行配置,分为三类:

1.静态地址转换

Router(config)# interface <interface_inside>  // 配置连接内网的接口,如fa0/1
Router(config-if)# ip address <addr> <mask>
Router(config-if)# ip nat inside              // 配置内网NAT接口,启用NAT
Router(config-if)# exitRouter(config)# interface <interface_outside> // 配置连接外网的接口,如fa0/1
Router(config-if)# ip address <addr> <mask>
Router(config-if)# ip nat outside             // 配置外网NAT接口,启用NAT
Router(config-if)# exitRouter(config)# ip route <dst_addr> <mask> <forward_ip> // 配置路由Router(config)# ip nat inside source static <in_addr> <out_addr> // 配置内网IP与外网IP的静态NAT                                                                                      // 外网IP是ISP分配的合法IP

2.动态地址转换

动态NAT配置需要定义ACL和NAT地址池,然后将ACL映射到NAT地址池:

Router(config)# interface <interface_inside>  // 配置连接内网的接口,如fa0/1
Router(config-if)# ip address <addr> <mask>
Router(config-if)# ip nat inside              // 配置内网NAT接口,启用NAT
Router(config-if)# exitRouter(config)# interface <interface_outside> // 配置连接外网的接口,如fa0/1
Router(config-if)# ip address <addr> <mask>
Router(config-if)# ip nat outside             // 配置外网NAT接口,启用NAT
Router(config-if)# exitRouter(config)# access-list <num> {permit|deny} <addr> <r_mask>   // 创建ACLRouter(config)# ip nat pool <name> <start_addr> <end_addr> netmask <mask> // 创建NAT地址池
// 地址池中地址为ISP分配的合法IPRouter(config)# ip route <dst_addr> <mask> <forward_ip>           // 配置路由Router(config)# ip nat inside source list <number> pool <name>    // 将NAT地址池中地址和ACL规则相关联

3.端口地址转换

PAT是动态的,配置也需要定义ACL,如果想要所有内网IP在出网时映射到单一IP地址做PAT,则ACL规则关联出网接口,如果想要所有内网IP在出网时映射到多个IP地址做PAT,则需要建立NAT地址池,ACL规则关联NAT地址池:

Router(config)# interface <interface_inside>  // 配置连接内网的接口,如fa0/1
Router(config-if)# ip address <addr> <mask>
Router(config-if)# ip nat inside              // 配置内网NAT接口,启用NAT
Router(config-if)# exitRouter(config)# interface <interface_outside> // 配置连接外网的接口,如fa0/1
Router(config-if)# ip address <addr> <mask>
Router(config-if)# ip nat outside             // 配置外网NAT接口,启用NAT
Router(config-if)# exitRouter(config)# access-list <num> {permit|deny} <addr> <r_mask>  // 创建ACLRouter(config)# ip nat pool <name> <start_addr> <end_addr> netmask <mask> // 创建NAT地址池
// 地址池中地址为ISP分配的合法IPRouter(config)# ip route <dst_addr> <mask> <forward_ip>          // 配置路由Router(config)# ip nat inside source list <number> interface <interface_outside> overload // 将外网接口和ACL规则相关联 // 除了将外网接口和ACL规则相关联外,也可以将NAT地址池中地址和ACL规则相关联
// 这样内网IP出网时就可以转换为NAT地址池中的多个IP,在多个IP上做PAT
Router(config)# ip nat inside source list <number> pool <name> overload

CISCO常用配置命令相关推荐

  1. 华为交换机linux版本号,Cisco和华为交换机常用配置命令总结

    Cisco和华为交换机常用配置命令总结 一.调试命令 思科: Switch#show  run  显示所有配置命令 Switch#show  ip  inter  brief  显示所有接口状态 Sw ...

  2. Cisco和HuaWei交换机常用配置命令总结

    Cisco和华为交换机常用配置命令总结   一.调试命令 思科: Switch#show  run   显示所有配置命令 Switch#show   ip   inter   brief   显示所有 ...

  3. cisco交换机常用配置命令

    cisco交换机常用配置命令 思科交换机的基本配置 一.基本配置 switch>enable //进入特权模式 switch#config terminal //进入全局配置模式 switch( ...

  4. Cisco路由器配置命令之模式转换命令

    Cisco路由器配置命令之配置命令 show running config 显示所有的配置 show versin 显示版本号和寄存器值 shut down 关闭接口 no shutdown 打开接口 ...

  5. CISCO交换机配置命令大全

    CISCO交换机配置命令大全 1.在基于IOS的交换机上设置主机名/系统名: switch(config)# hostname hostname 在基于CLI的交换机上设置主机名/系统名: switc ...

  6. cisco 基础配置命令中文解析 1

    命令                                描述 <?xml:namespace prefix = o ns = "urn:schemas-microsoft- ...

  7. CISCO交换机配置命令及释义

    CISCO交换机配置命令及释义 1.设置交换机名称 switch(config)#hostname DSHD DSHD(config)# 2.设置交换机管理IP地址 switch(config)#in ...

  8. 《通用版CISCO交换机配置命令及释义》——【全面、通用,含部分功能的注释】

    CISCO交换机配置命令及释义 1.设置交换机名称 switch(config)#hostname DSHD DSHD(config)# 2.设置交换机管理IP地址 switch(config)#in ...

  9. 思科为计算机配置ip命令,Cisco常用配置:IP配置,静态、默认、浮动路由配置,网关等简单配置...

    很多朋友对于思科配置命令不是很熟悉,尤其是一些常用到的指令,作为一名合格网管,以下命令是必须懂得配置的,详见: 怎么给路由器配置IP? router(config)#interface fasteth ...

  10. 最详细的CISCO路由器配置命令及方法

    第一章 路由器配置基础 一.基本设置方式 二.命令状态 三.设置对话过程 四.常用命令 五.配置IP寻址 六.配置静态路由 第二章 广域网协议设置 一.HDLC 二.PPP 三.X.25 四.Fram ...

最新文章

  1. linux sqlncli 乱码,SQL SERVE报错SQLNCLI 返回了消息 Unspecified error
  2. Mysql服务器问题(2013.3.5日发现)
  3. 机器学习资料推荐 URL
  4. 有勇气的牛排---微信小程序
  5. AsyncTask类的使用
  6. c++ 纯虚函数和抽象类那些事(一)
  7. 初等数论--原根--原根间的关系,原根个数
  8. 我的小作品(烂笔头)
  9. 大学期末考试SSH试题四
  10. ubuntu 16.04 安装QT问题
  11. java response.write_@ResponseBody与response.getWriter .write()区别
  12. STL迭代器iterator
  13. web安全day14:扫描与爆破
  14. 怎么得到期刊论文的源代码_帮助这份开放获取期刊计划即将出版的《开放源代码策略》
  15. 【CSDN】博文导入微信公众号
  16. 一维有限差分算法推导及MATLAB代码
  17. 常见测试用例设计之水杯
  18. 实现连续签到案例的可能(使用)
  19. 【读书笔记】金字塔原理-构建金字塔的逻辑顺序
  20. 个人能力--认知能力

热门文章

  1. 电磁波中的波段划分:L波段、S波段、C波段、X波段、Ku波段、K波段、Ka波段
  2. Java毕设项目在线购书商城系统计算机(附源码+系统+数据库+LW)
  3. html5仿苹果通讯录效果,仿IOS手机通讯录效果
  4. vb与mysql实现登录界面_VB连接SQL数据库做用户登录窗口
  5. 惠普M1005打印机驱动-LaserJet提供下载
  6. 教你定时爬取微博热搜榜并做动态数据展示,让你不错过任何一个吃瓜热点
  7. 中南大学数字中南、电信校园网无法弹出验证界面解决方法
  8. 【Java】JavaSocket编程开发聊天室-服务器端部分
  9. 读书篇:《细说PHP》三、PHP的语言结构
  10. JavaScript如何对欧姆龙、三菱、施耐德等PLC进行读写通讯控制