网络工程——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指令查看
- Disabled(禁用状态):不转发数据帧,不学习MAC地址表,不参与生成树计算
- Blocking(阻塞状态);不转发数据帧,不学习MAC地址表,接收并处理BPDU,不发生BPDU
- Listening(监听状态):不转发数据帧,不学习MAC地址表,参与生成树计算,接收并发送BPDU
- Learning(学习状态):不转发数据帧,学习MAC地址表,参与生成树计算,接收并发送BPDU
- 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
- 三次交换机上为VLAN配置IP地址作用是什么?
vlan 上配IP就是真实的网关地址, 主要用于两台或者多台三层交换机之间进行通信(网络说法不一定可信)
- 如何采用此种方法实现多个(超过两个)VLAN间路由?
- 将二层交换机与三层交换机之间的接口设置为trunk模式,使得不同vlan可以经三层交换机实现路由
路由器配置:
路由器常用命令
- Hostname #设置交换机的主机名
- Show startup-config 显示交换机初始化配置
- Show running-config 查看当前设备配置
- Show flash 显示flash存储器信息以及存储器中的IOS映象文件
- Show version 显示系统硬件的配置
- Show interface ** 命令来查察接口的信息
- Show controllers ** 查看接口的硬件信息
- 通过实验,说明如何保存路由器的启动配置 startup-config? Router# copy running-config startup-config
- 若将两台路由器互联,配置完各个接口的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地址]
- 静态路由的下一跳可以采用接口号表示,那么可以将本实验中的静态路由或默认路由写成什么表达形式?
- 可以将下一跳IP地址更换成出接口
- 静态路由:ip route [目的网络号] [子网掩码] [出接口]
- 默认路由:ip route 0.0.0.0 0.0.0.0 [出接口]
- 根据实验和路由知识,若静态路由和默认路由同时存在的话,分组路由的过程中优先选择静态路由还是默认路由?为什么?
- 静态路由。在路由表中默认路由排在最后,同时存在静态路由与默认路由时,将优先使用静态路由
配置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地址。
- PC端如何使用命令行方式释放或获取新的IP地址?(ipconfig 参数) ipconfig /release释放本机IP地址 ipconfig /renew,获得一个新的IP地址
- 若DHCP的配置中,使用的是Network 192.168.1.0 255.255.255.0,那么R1所连接本地网络中主机获取的IP地址范围是什么?
- 192.168.1.1到192.168.1.254
(应该)
- 192.168.1.1到192.168.1.254
- 根据实验说明:主机获取的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
- 使用这种方式配置VLAN间路由的原理是什么?
路由器的一个接口上通过配置逻辑接口或子接口的方式,
实现原来相互隔离的不同VLAN(虚拟局域网)之间的互联互通
- 如果不使用子接口,而是利用路由器的两个以太网口分别连接到交换机两个不同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
- 将静态路由换成默认路由改如何配置?如果从外网向内网私有IP发起通信,是否可以ping通?
- 不能ping通,静态NAT技术实现的就是对内部主机的隐藏
- 对第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
- 动态路由协议的配置主要包含哪两个步骤?
配置各路由器、PC的相关配置和配置路由协议(我猜的,没找到确切答案) - 通过RIP协议的调试步骤,可以得出RIP路由表的默认更新时间约是多少?
- RIP路由协议默认更新周期是30秒
- OSPF协议通过那条命令可以获得路由器的ID?
- show ip protocols
- 如果两台路由器一台运行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
#访问控制列表 出
- 根据本次实验,你认为ACL一般有哪些配置步骤?
跟上面那个动态路由一样,我没弄出来 - 在步骤4中,如果要使得1.0.0.0整个网络无法访问2.0.0.0该如何配置?
- 可以使用Access-list 1 deny 指令阻止整个网段的访问
- 在步骤5中,虽然禁止的是telnet,但此时PC1是否可以ping通PC2?为达到ping通的目的,应该如何处理?
- ping 命令通过ICMP协议进行报文传输,在访问控制类别中没有运行ICMP或者IP报文的访问,所以ping指令也无法通信。
- 禁止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
- 如果将S2的工作模式更改为透明模式,S2是否会学习S1的VLAN划分?
- 不会,透明模式不会学习服务器的配置