网络工程——CISCO设备基本语法

网络工程——CISCO设备基本语法

[TOC]

交换机配置:

代码语言:javascript
复制
Switch>enable
进入特权模式
Switch#configure terminal
进入全局配置模式
Switch(config)#hostname S1
更改用户名
S1(config)#enable password cisco
S1(config)#line con 0
S1(config-line)#password cisco
S1(config-line)#login
S1(config-line)#line vty 0 15
S1(config-line)#password cisco
S1(config-line)#login
S1(config-line)#exit
管理配置地址:
代码语言:javascript
复制
S1(config)# interface Vlan 1
进入vlan 1的接口配置模式
S1(if-config)# ip address 192.168.1.2 255.255.255.0
设置接口IP地址与子网掩码
S1(if-config)# no shutdown
开启端口
S1(if-config)# exit
S1(config)# ip default-gateway 192.168.1.1
配置默认网关IP地址
S1(config)# end  

其他交换机操作:

S1# show running-config 查看当前设备配置

S1# show flash 显示flash存储器信息以及存储器中的IOS映象文件

S1# show version 显示系统硬件的配置

交换机Vlan划分及信息备份

代码语言:javascript
复制
Switch_A#vlan database
进入vlan数据库模式
Switch_A(vlan)#vlan 20 name VLAN20 
Switch_A#configure terminal
Switch_A(config)#interface f0/20
Switch_A(config-if)#switchport mode access
将端口的工作模式改为access
Switch_A(config-if)#switchport access vlan 20
指定接口所属vlan

保存配置及IOS到TFTP

Copy starup-config(or running-config) tftp copy flash tftp

STP与RSTP

查看生成树

Show spanning-tree # 识别根桥、阻塞端口和转发端口

配置快速生成树:

Switch (config)# spanning-tree mode rapid-pvst

可以通过什么方法查看交换机的生成树阻塞了那个端口?

可以通过Show spanning-tree指令查看

  1. Disabled(禁用状态):不转发数据帧,不学习MAC地址表,不参与生成树计算
  2. Blocking(阻塞状态);不转发数据帧,不学习MAC地址表,接收并处理BPDU,不发生BPDU
  3. Listening(监听状态):不转发数据帧,不学习MAC地址表,参与生成树计算,接收并发送BPDU
  4. Learning(学习状态):不转发数据帧,学习MAC地址表,参与生成树计算,接收并发送BPDU
  5. Forwarling(转发状态):转发数据帧,学习MAC地址表,参与生成树计算,接收并发送BPDU

总结生成树中根桥的选举规则

  • 选择根桥的依据是网桥ID,网桥ID是唯一的,网桥ID由网桥优先级 和 网桥的MAC地址组成,网桥ID中的MAC地址是自身交换机的MAC地址
  • 在选择根桥的时候,是依据看哪台交换机的ID值最小,优先级小的被选择为根网桥,在优先级相同的情况下,MAC地址小的为根网桥

更改根桥优先级

所有交换机的优先级都是默认的32768,要实现变更根桥,只要将交换机的优先级更改为小于32768,同时优先级的修改以4096为增量

在全局配置模式下执行如下命令∶spanning-tree vlan 1 priority 4096

这样,Switch3的优先级值就变成4097,成为了网络中最小的ID,从而成为了根桥。

三层交换实现VLAN间通信

将端口分配给VLAN

代码语言:javascript
复制
config terminal
interface f0/1
switchport mode access
switchport access vlan 10//端口1分配给VLAN10
exit

在交换机上给VLAN分配IP地址

代码语言:javascript
复制
Switch#config terminal
Interface vlan 10
Ip address 192.168.10.1 255.255.255.0//VLAN10分配IP地址
No shutdown
Exit
  1. 三次交换机上为VLAN配置IP地址作用是什么?
    • vlan 上配IP就是真实的网关地址, 主要用于两台或者多台三层交换机之间进行通信(网络说法不一定可信)
  2. 如何采用此种方法实现多个(超过两个)VLAN间路由?
    • 将二层交换机与三层交换机之间的接口设置为trunk模式,使得不同vlan可以经三层交换机实现路由

路由器配置:

路由器常用命令
  • Hostname #设置交换机的主机名
  • Show startup-config 显示交换机初始化配置
  • Show running-config 查看当前设备配置
  • Show flash 显示flash存储器信息以及存储器中的IOS映象文件
  • Show version 显示系统硬件的配置
  • Show interface ** 命令来查察接口的信息
  • Show controllers ** 查看接口的硬件信息
  1. 通过实验,说明如何保存路由器的启动配置 startup-config? Router# copy running-config startup-config
  2. 若将两台路由器互联,配置完各个接口的IP地址以后,两台PC是否可以ping通,为什么?在路由器上Ping另外一台路由器的互联接口是否可ping通,为什么? 不可以ping通,两台路由器之间缺少相应的路由,可以ping通,两个路由器端口直接相连。

路由器的基本管理

Router# copy running-config tftp 配置文件保存

Router# Copy tftp running-config 配置文件恢复

Router#copy flash tftp 保存操作系统

配置静态路由

ip route [目的网络号] [子网掩码] [下一跳IP地址]

配置默认路由:

ip route 0.0.0.0 0.0.0.0 [下一跳IP地址]

  1. 静态路由的下一跳可以采用接口号表示,那么可以将本实验中的静态路由或默认路由写成什么表达形式?
    • 可以将下一跳IP地址更换成出接口
    • 静态路由:ip route [目的网络号] [子网掩码] [出接口]
    • 默认路由:ip route 0.0.0.0 0.0.0.0 [出接口]
  2. 根据实验和路由知识,若静态路由和默认路由同时存在的话,分组路由的过程中优先选择静态路由还是默认路由?为什么?
    • 静态路由。在路由表中默认路由排在最后,同时存在静态路由与默认路由时,将优先使用静态路由

配置DHCP:

代码语言:javascript
复制
ip dhcp pool [poolname]			 //创建地址池,名字为poolname
network 1.0.0.0 255.0.0.0		 //配置分配的网段 
default-router 1.1.1.1		  	 //配置网关
dns-server 219.218.18.18		 // 配置DNS服务器的IP地址。
  1. PC端如何使用命令行方式释放或获取新的IP地址?(ipconfig 参数) ipconfig /release释放本机IP地址 ipconfig /renew,获得一个新的IP地址
  2. 若DHCP的配置中,使用的是Network 192.168.1.0 255.255.255.0,那么R1所连接本地网络中主机获取的IP地址范围是什么?
    • 192.168.1.1到192.168.1.254 (应该)
  3. 根据实验说明:主机获取的IP地址、子网掩码、网关和DNS分别与DHCP配置中那条命令对应?
    • network命令配置主机获取的IP地址,子网掩码,default-router配置网关,dns-server配置DNS域名解析服务器。

查看DHCP状态:

代码语言:javascript
复制
R1#show ip dhcp binding			  // 查看IP分配绑定状态
R1#show ip dhcp pool [poolname]   // 查看dhcp地址池
R1#show ip dhcp server statistics // 查看dhcp服务状态
二层交换机与路由器实现VLAN间路由

在交换机上创建Trunk端口

代码语言:javascript
复制
interface f0/1                       //与路由器级联接口为f0/1
switchport mode trunk  			     //封装为Trunk口
end

配置路由器子接口

代码语言:javascript
复制
Router#configure terminal
Interface f0/0
No shut
exit
Interface f0/0.10
Encapsulation dot1q 10
    //子接口1对应VLAN 10
Ip address 192.168.10.1 255.255.255.0
Interface f0/0.20
Encapsulation dot1q 20
Ip address 192.168.20.1 255.255.255.0
    //子接口2 对应VLAN 20

激活路由选择协议

代码语言:javascript
复制
Switch(config)#Ip routing
  1. 使用这种方式配置VLAN间路由的原理是什么? 路由器的一个接口上通过配置逻辑接口或子接口的方式,实现原来相互隔离的不同VLAN(虚拟局域网)之间的互联互通
  2. 如果不使用子接口,而是利用路由器的两个以太网口分别连接到交换机两个不同VLAN中的接口上(PC、交换机与路由器级联接口也划分入相应的VLAN),是否能够连通?在这种情况下,路由器与交换机之间的级联接口不配置Trunk是否可以连通?
    • 可以连通, 在路由器上为每一个VLAN都配置一个物理连接后,数据流将分不同VLAN流到路由器上不同的端口中,再通过路由器进行路由的转发,以实现VLAN之间的通信。
网络地址转换NAT

静态NAT:

代码语言:javascript
复制
interface  f0/0
ip  adddress  172.16.1.1 255.255.255.0
ip  nat  inside
# 定义内部接口
no shutdown
(config)#interface   f0/1
ip  address  202.96.134.1 255.255.255.0
ip  nat  outside
# 定义外部接口
no shutdown
(config)#ip  nat  inside  source  static 172.16.1.100   202.96.134.100

ip nat inside source static [本地IP地址] [目标ip地址] # 初始于 inside 向 outside 发送,在outside接口执行源地址翻译

ip nat outside source static [global-address] [local-address], 初始于 outside 向 inside 发送,在inside接口执行源地址翻译

动态NAT配置:

代码语言:javascript
复制
access-list 10 permit 172.16.1.0 0.0.0.255
# 创造一个访问控制列表(ACL),表号为10,内容是允许172.16.1.0 
# access-list [表号] [permit/deny] [网络号] [反掩码]
ip nat pool MYNAT 202.96.134.100 202.96.134.110 netmask 255.255.255.0
# 配置NAT地址池的名字以及 IP地址范围、子网掩码
ip nat inside source list 10 pool MYNAT
# 将ACL 10 匹配得内部源IP地址,转换为地址池MYNAT 中的IP
  1. 将静态路由换成默认路由改如何配置?如果从外网向内网私有IP发起通信,是否可以ping通?
    • 不能ping通,静态NAT技术实现的就是对内部主机的隐藏
  2. 对第5步中:ip nat inside source list 10 pool MYNAT 命令中,如果使用参数overload,实验结果与本实验有什么区别?
    • 使用参数overload,意味使用PAT(网络地址端口转换)技术,可将多个内部地址映射为一个合法公网地址,但以不同的协议端口号与不同的内部地址相对应
    • 内部网络的所有主机均可共享一个合法外部IP地址实现对Internet的访问
    • ip nat inside source list 10 pool MYNAT overload

    此外内容需要在仿真上做一遍,我还没弄

路由协议

RIP路由协议

代码语言:javascript
复制
Router rip
# 启动RIP
network 1.0.0.0
network 12.0.0.0 

OSPF路由协议

代码语言:javascript
复制
Router ospf 1
# 启动ospf协议
Network 1.0.0.0 0.255.255.255 area 0
Network [网络号] [反掩码] [路由区域]
Network 12.0.0.0 0.255.255.255 area 0 

检查OSPF路由协议的命令

代码语言:javascript
复制
Show ip ospf neighbor
    // 显示现在的Ospf邻居,其中包括邻居ID(Route-id)、优先级、状态、存活时间、IP地址、接口
Show ip osfp interface
    //查看接口是否被加入到正确的区域中,该命令还可以显示各种定时器hello间隔等和邻居关系。
Show ip route ospf
    //显示路由器知道的OSPF路由
Show ip ospf database
    //查看OSPF数据库,包括各种LSA的数据状态
Clear ip ospf 
  1. 动态路由协议的配置主要包含哪两个步骤? 配置各路由器、PC的相关配置和配置路由协议(我猜的,没找到确切答案)
  2. 通过RIP协议的调试步骤,可以得出RIP路由表的默认更新时间约是多少?
    • RIP路由协议默认更新周期是30秒
  3. OSPF协议通过那条命令可以获得路由器的ID?
  • show ip protocols
  1. 如果两台路由器一台运行RIP第1版,一台运行第2版,两台主机是否可以ping通?通过使用show ip route 查看两台路由器的路由表,确定版本1与版本2之间究竟谁可以接受谁的路由更新?(单边邻居关系) 两台主机不能ping通,RIP版本1可以接受版本2,因为RIPv2需要包含子网掩码,而版本1并不含有子网掩码,版本1的协议发往版本2后,版本2会将该报文丢弃,而当版本1接受到版本2的报文时,版本1会收下版本2的报文
ACL
代码语言:javascript
复制
access-list[list number][permit/deny][source address][address][wildcard mask][log]

标准ACL

代码语言:javascript
复制
Access-list 1 deny host 1.1.1.2
# 拒绝来自1.1.1.2的主机通过
# 可以利用关键字"host"来代表通配符掩码0.0.0.0,表示一台主机
Access-list 1 permit any
Interface f0/0
Ip access-group 1 out
# 访问列表的出

拓展ACL

代码语言:javascript
复制
Access-list 101 deny tcp 1.0.0.0 0.255.255.255 2.0.0.0 0.255.255.255 eq telnet
# telnet使用的是TCP的23号端口、eq其实是等于....
Access-list 101 permit tcp any any
# 这两条语句的顺序;访问表语句的处理顺序是由上到下的。如果我们将两个语句顺序颠倒,将permit语句放在deny语句的前面,则我们将不能过滤来自主机地址的报文
Interface f0/0
Ip access-group 101 in
#访问控制列表 出
  1. 根据本次实验,你认为ACL一般有哪些配置步骤? 跟上面那个动态路由一样,我没弄出来
  2. 在步骤4中,如果要使得1.0.0.0整个网络无法访问2.0.0.0该如何配置?
    • 可以使用Access-list 1 deny 指令阻止整个网段的访问
  3. 在步骤5中,虽然禁止的是telnet,但此时PC1是否可以ping通PC2?为达到ping通的目的,应该如何处理?
    • ping 命令通过ICMP协议进行报文传输,在访问控制类别中没有运行ICMP或者IP报文的访问,所以ping指令也无法通信。
  4. 禁止FTP应该如何配置访问控制列表?
    • 通过access-list 1 deny命令禁止代表FTP协议的21号端口即可禁止FTP
VTP

配置级联接口的Trunk封装

代码语言:javascript
复制
switchport trunk encapsulation dot1q
#	接口的trunk封装802.1Q协议,用于启用trunk
switchport mode trunk
#	设置接口模式为trunk模式

配置交换机的工作模式

代码语言:javascript
复制
vtp mode [server/client/transparent] #分别是服务器,客户端和透明模式
  • VTP服务器控制着它们所在域中VALN的生成和修改
  • VTP客户机不允许管理员创建、修改或删除VLAN。它们监听本域中其他交换机的VTP通告,并相应修改它们的VTP配置情况
  • VTP透明模式中的交换机不参与VTP,交换机处于透明模式时,不通告其VLAN配置信息。它的VLAN数据库更新与收到的通告也不保持同步。可以创建和删除本地的VLAN。这些VLAN的变更不会传播到其他任何交换机上

更改交换机的域名

代码语言:javascript
复制
Switch (config)# vtp domain qrnu
  1. 如果将S2的工作模式更改为透明模式,S2是否会学习S1的VLAN划分?
    • 不会,透明模式不会学习服务器的配置