1. Basic Usage
- 通过CLI管理网络设备,共有四种模式:用户模式、特权模式、全局配置和接口配置,各种模式具体的功能如下表所示:
— | ||||||
---|---|---|---|---|---|---|
User EXEC 用户模式 | Ruijie> |
基本测试和显示系统信息 | ||||
Privileged EXEC 特权模式 | Ruijie# |
验证设置(本模式受密码保护,实验室的特权模式14的密码为power ) |
||||
Global configuration 全局配置 | Ruijie(config)# |
配置设备的全局参数 | ||||
Interface configuration 接口配置 | Ruijie(config-if)# |
配置某个特定接口,有些时候if会显示为具体的接口名字 |
- 四种模式的相互切换
<pre class="line-numbers">```none
# 从用户模式进入特权模式,可能需要输入密码
# 实验室设备使用enable 14,密码为power。
Router>enable
# 从特权模式进入全局配置
Router#config t
Enter configuration commands, one per line. End with CNTL/Z.
# 从全局配置进入接口配置
Router(config)#interface G0/1
# 退出接口配置
Router(config-if)#exit
# 退出全局配置
Router(config)#exit
Router#
%SYS-5-CONFIG_I: Configured from console by console
Router#
## 2. IP & netmask configuration
- IP地址和子网掩码是设备最基本的配置,一般会对某个接口或者VLAN(交换机)来配置IP地址,下面以路由器为例子讲解配置方法。
```none
# 配置接口:快速以太网0/1接口,可以简写为int f0/1
Router(config)#interface FastEthernet 0/1
# 配置IP地址和子网掩码
Router(config-if-FastEthernet 0/1)#ip address 10.15.0.1 255.255.192.0
# 退出接口配置
Router(config-if-FastEthernet 0/1)#exit
# 配置接口:串行接口2/0
Router(config)#interface Serial 2/0
# 配置IP地址和子网掩码
Router(config-if-Serial 2/0)#ip address 192.168.15.2 255.255.255.128
# 退出配置
Router(config-if-Serial 2/0)#exit
# 配置默认网关,两种方法
Router(config)#ip default-gateway 10.5.24.1
Router(config)#ip default-network 10.5.24.1
```
```## 3. Static route configuration
- 静态路由的配置:静态路由配置需要告诉每个路由器所有网络的“方位”,所谓方位就是路由器下一跳的地址,注意下一跳的地址应该是连接的另一个路由器的接口,不应为本路由器的接口。
```
```none
# 添加到10.15.64.0/18网络的静态路由,下一跳地址为192.168.15.1
Router(config)#ip route 10.15.64.0 255.255.192.0 192.168.15.1
# 添加到192.168.15.128/25网络的静态路由,下一跳地址为192.168.15.1
Router(config)#ip route 192.168.15.128 255.255.255.128 192.168.15.1
# 添加到10.15.128.0/18网络的静态路由,下一跳地址为192.168.15.1
Router(config)#ip route 10.15.128.0 255.255.192.0 192.168.15.1
```
```- 查看路由表,路由表中会显示所有学习到了网络的信息。
```
```none
# 查看路由表
Router(config)#show ip route
Codes: C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default
Gateway of last resort is no set
C 10.15.128.0/18 is directly connected, FastEthernet 0/1
C 10.15.128.1/32 is local host.
C 192.168.15.128/25 is directly connected, Serial 2/0
C 192.168.15.130/32 is local host.
```
```## 4. RIP Configuration
- 静态路由配置起来比较麻烦,需要手动通告所有的网络,在大型网络中这样显然不现实。所以又有了动态路由选择协议,动态路由选择协议只需要在本机通告直接连接的网络即可,然后会自动从过其他路由节点学习其他的网络。内部网关选择协议主要应用的是RIP和OSPF,外部的主要是BGP(不介绍),现在介绍RIP的配置。
```
```none
# 进入RIP配置
Router(config)#router rip
# 配置RIP协议版本2,即RIP2路由选择协议
Router(config-router)#version 2
# 关闭网络自动汇总
# 如果不关闭的话,就是启用了网络自动汇总
# 比如192.168.15.0/25和192.168.15.128/25
# 因为都是C类网络,所以自动按照/24进行合并为192.168.15.0/24
Router(config-router)#no auto-summary
# 向RIP通告自己直接连接的网络
Router(config-router)#network 10.15.0.0
Router(config-router)#network 192.168.15.0
Router(config-router)#network 192.168.15.128
# 退出RIP配置
Router(config-router)#exit
```
```- RIP协议还支持进行认证,增强安全性,配置方法如下:
```
```none
# 配置RIP密钥链
Router(config)#key chain RIP
# 配置密钥1
Router(config-keychain)#key 1
# 配置预共享密钥,密钥为“xiaolu”
Router(config-keychain-key)#key-string xiaolu
# 结束配置
Router(config-keychain-key)#end
```
```- 配置完成后,需要查看RIP的配置:
```
```none
# 查看RIP配置
Router#show ip rip database
10.15.0.0/18 auto-summary
10.15.0.0/18 directly connected, GigabitEthernet0/1
10.15.64.0/18 auto-summary
10.15.64.0/18
[2] via 192.168.15.130, 00:00:07, GigabitEthernet0/0
10.15.128.0/18 auto-summary
10.15.128.0/18
[1] via 192.168.15.130, 00:00:07, GigabitEthernet0/0
192.168.15.0/26 auto-summary
192.168.15.0/26 directly connected, Serial0/0/0
192.168.15.64/26 auto-summary
192.168.15.64/26
[1] via 192.168.15.130, 00:00:07, GigabitEthernet0/0
192.168.15.128/26 auto-summary
192.168.15.128/26 directly connected, GigabitEthernet0/0
```
```## 5. OSPF configuration
- 在后面的配置中,用的比较多的就是OSPF路由选择协议,同样是要在本地通告直接连接的路由,具体配置方法如下:
```
```none
# 进入OSPF配置,ID为1
Router(config)#router ospf 1
# 添加网络10.1.1.0/24到区域0
Router(config-router)#network 10.1.1.0 255.255.255.0 area 0
# 添加网络10.1.0.0/24到区域0
Router(config-router)#network 10.1.0.0 255.255.255.0 area 0
# 结束配置
Router(config-router)#end
```
```## 6. VLAN Configuration (Port-based)
- VLAN即虚拟局域网,可以实现在一个子网中进行设备的隔离。在基于端口的VLAN中,每个接口的VLAN模式可以设置为“access”和“trunk”,其中access模式是允许某个VLAN标签的数据包通过,而trunk模式则是允许任何VLAN标签的数据包通过,这两种模式适用于不同的接口。一般而言,access接口用于连接终端设备,而trunk接口用于沟通VLAN之间的联系或者用于跨交换机的VLAN,配置VLAN的方法如下。
```
```none
# 定义VLAN,VLAN的标签是10
Switch(config)#vlan 10
Switch(config-vlan)#exit
# 定义VLAN,VLAN的标签是20
Switch(config)#vlan 20
Switch(config-vlan)#exit
# 进入接口F0/2的配置
Switch(config-vlan)#interface F0/2
# 将接口的VLAN模式配置为access模式
Switch(config-if-FastEthernet 0/2)#switchport mode access
# 接口允许VLAN10的数据包通过
Switch(config-if-FastEthernet 0/2)#switchport access vlan 10
# 退出配置
Switch(config-if-FastEthernet 0/2)#exit
# 进入接口F0/4的配置,含义同上
Switch(config)#interface F0/4
Switch(config-if-FastEthernet 0/4)#switchport mode access
Switch(config-if-FastEthernet 0/4)#switchport access vlan 20
# 进入接口F0/1的配置
Switch(config-if-FastEthernet 0/4)#interface F0/1
# 将接口的VLAN模式配置为trunk模式
Switch(config-if-FastEthernet 0/1)#switchport mode trunk
# 退出配置
Switch(config-if-FastEthernet 0/1)#exit
Switch(config)#exit
```
```- 定义完了VLAN之后,可以查看VLAN的配置。
```
```none
# 查看VLAN配置,其中VLAN001为native-VLAN,实际上就是未进行配置的那些接口。
Switch(config)#show vlan
VLAN Name Status Ports
---- -------------------------------- --------- -----------------------------------
1 VLAN0001 STATIC Fa0/3, Fa0/4, Fa0/5, Fa0/6
Fa0/7, Fa0/8, Fa0/9, Fa0/10
Fa0/11, Fa0/12, Fa0/13, Fa0/14
Fa0/15, Fa0/16, Fa0/17, Fa0/18
Fa0/19, Fa0/20, Fa0/21, Fa0/22
Fa0/23, Fa0/24, Gi0/25, Gi0/26
10 vlan0010 STATIC Fa0/1, Fa0/2
20 vlan0020 STATIC Fa0/1, Fa0/2
# 查看接口F0/1的VLAN模式
Switch(config)#show interface f0/1 switchport
Interface Switchport Mode Access Native Protected VLAN lists
------------------------ ---------- --------- ------ ------ --------- ----------
FastEthernet 0/1 enabled TRUNK 1 1 Disabled 10,20
# 查看接口F0/2的VLAN模式
Switch(config)#show interface f0/2 switchport
Interface Switchport Mode Access Native Protected VLAN lists
------------------------ ---------- --------- ------ ------ --------- ----------
FastEthernet 0/2 enabled TRUNK 1 1 Disabled 10,20
```
```- 在上面的配置中,不同的VLAN之间是不能互相访问的,有些时候我们也需要让不同VLAN之间可以互相访问,这时候就需要使用VLAN间路由(Inter-VLAN Routing)的技术了,VLAN间路由可以通过单臂路由(Router-on-a-stick)或者三层交换机(Layer 3 switch)来实现。
- 单臂路由(Router-on-a-stick)就是使用一个路由器去“桥接”两个VLAN,两个VLAN通过1个交换机连接到路由器的一个接口,这一个接口要定义两个子接口来为两个VLAN来进行服务。显然这种方法VLAN间的数据传输速率会受到这个接口速率的限制,单臂路由的配置方法如下。```
```none
# 定义子接口(Subinterface)fa0/0.10
Router(config)#interface fa0/0.10
# 和VLAN10进行绑定
Router(config-subif)#encapsulation dot1q 10
# 配置子接口的IP地址和子网掩码
Router(config-subif)#ip address 10.15.0.3 255.255.128.0
# 定义子接口fa0/0.20
Router(config-subif)#interface fa0/0.20
# 和VLAN20进行绑定
Router(config-subif)#encapsulation dot1q 20
# 配置子接口的IP地址和子网掩码
Router(config-subif)#ip address 10.15.128.3 255.255.128.0
# 配置父接口开启
Router(config-subif)#interface fa0/0
Router(config-if-FastEthernet 0/0)#no shutdown
# 结束配置
Router(config-if-FastEthernet 0/0)#end
```
```- 三层交换机(Layer 3 switch)是可以工作在网际层(TCP/IP和OSI的第3层)的交换机设备,简单来说就是普通二层交换机+路由器的合体产品。我们不仅可以通过交换机连接设备划分VLAN,还可以配置VLAN间路由,不必借助路由器,配置方法如下。
```
```none
# 基本VLAN配置
Switch(config)#vlan 10
Switch(config-vlan)#exit
Switch(config)#vlan 20
Switch(config-vlan)#exit
# 设置接口F0/1为trunk模式
Switch(config)#int f0/1
Switch(config-FastEthernet 0/1)#switchport mod trunk
# 设置接口允许的VLAN标签
Switch(config-FastEthernet 0/1)#switchport trunk allowed vlan remove 1-4094
Switch(config-FastEthernet 0/1)#switchport trunk allowed vlan add 10,20
# 退出配置
Switch(config-FastEthernet 0/1)#exit
# 设置接口F0/2为trunk模式
Switch(config)# int f0/2
Switch(config-FastEthernet 0/2)#switchport mod trunk
# 设置接口允许的VLAN标签
Switch(config-FastEthernet 0/2)#switchport trunk allowed vlan remove 1-4094
Switch(config-FastEthernet 0/2)#switchport trunk allowed vlan add 10,20
# 退出配置
Switch(config-FastEthernet 0/2)#exit
# 针对VLAN10进行接口配置
Switch(config)#int vlan 10
# 配置其IP地址和子网掩码
Switch(config-VLAN 10)#ip address 10.15.0.3 255.255.128.0
# 退出配置
Switch(config-VLAN 10)#exit
# 针对VLAN20进行接口配置,同上
Switch(config)#int vlan 20
Switch(config-VLAN 20)#ip address 10.15.128.3 255.255.128.0
Switch(config-VLAN 20)#exit
```
```## 7. Access Control List (ACL) Configuration
- 访问控制列表(ACL)是进行访问控制de一种典型方式,可以按照网络、端口等规则来配置ACL,并部署到不同的接口上,ACL的配置应该尽可能接近被控制端。ACL分为两种,一种是标准ACL,一种是扩展ACL。
- 标准ACL(Standard ACL)只能根据网络来进行粗粒度的访问控制,编号在1-99之间,其基本格式为:```
```none
access-list 编号 permit/deny 网络号 反掩码
```
```- 其中反掩码就是对普通子网掩码按位取反的结果,要注意ACL的默认配置都是deny,也就是说没有匹配上任何规则的数据包会自动被阻止。标准ACL的具体配置方法如下。
```
```none
# 定义标准ACL
# 允许网络10.1.1.0/24
Router(config)#access-list 10 permit 10.1.1.0 0.0.0.255
# 允许网络10.3.1.0/24
Router(config)#access-list 10 permit 10.3.1.0 0.0.0.255
# 将ACL配置到接口上
Router(config)#interface G0/1
# 配置为入站规则
Router(config-if)#ip access-group 10 in
# 配置为出站规则
Router(config-if)#ip access-group 10 out
# 退出配置
Router(config-if)#exit
Router(config)#exit
```
```- 扩展ACL(Extended ACL)可以在标准ACL的基础上进行更细粒度的访问控制,可以针对不同的协议,以及不同的源和目的网络和不同的端口进行配置,编号在100-199之间,其基本格式为:
```
```none
access-list 编号 permit/deny 协议 源网络 源网络反掩码 源网络端口规则 目的网络 目的网络反掩码 目的网络端口规则
```
```- 其中端口规则为“eq 端口号/服务名”的形式,扩展ACL的具体配置方法如下。
```
```none
# 定义扩展ACL
# 允许从任意网络到任意网络的OSPF通信
Router(config)#access-list 101 permit ospf any any
# 允许从10.13.0.0/16网络到任意网络的ICMP通信
Router(config)#access-list 101 permit icmp 10.13.0.0 0.0.255.255 any
# 允许从任意网络到10.13.0.0/16网络的ICMP通信
Router(config)#access-list 101 permit icmp any 10.13.0.0 0.0.255.255
# 允许从任意网络到任意网络的源端口为80的TCP通信
Router(config)#access-list 101 permit tcp any eq 80 any
# 允许从任意网络到任意网络的目的端口为80的TCP通信
Router(config)#access-list 101 permit tcp any any eq 80
# 将ACL配置到接口上,同上
Router(config)#interface S0/1/0
Router(config-if)#ip access-group 101 in
Router(config-if)#ip access-group 101 out
Router(config-if)#interface S0/1/1
Router(config-if)#ip access-group 101 in
Router(config-if)#ip access-group 101 out
Router(config-if)#interface loopback 0
Router(config-if)#ip access-group 101 in
Router(config-if)#ip access-group 101 out
```
```## 8. NAT Configuration
- 网络地址转换,即NAT,其定义在网络安全的资料中已经有很多了,做过iptables的同学应该都知道NAT的作用。所以这里就不多介绍了,如果还有不明白的同学可以访问我的博客:[深入理解iptables防火墙 - 航大小路](https://wrlus.com2018/05/understanding-iptables/),这里只介绍NAT的用法。
- 实验中用到的是Static NAT,也就是将某台局域网设备直接映射到一个广域网IP地址上,本例中是将局域网中的`10.15.0.100`映射到`192.168.15.2`,接口方面`FastEthernet 0/0`是局域网,`Serial 2/0`是广域网,配置如下所示。```
```none
# 配置NAT静态映射,把192.168.15.2映射给10.15.0.100
Router(config)#ip nat inside source static 10.15.0.100 192.168.15.2
# 配置快速以太网接口0/0为NAT的内部区域
Router(config)#int F0/0
Router(config-if-FastEthernet 0/0)#ip nat inside
Router(config-if-FastEthernet 0/0)#exit
# 配置串行接口2/0为NAT的外部区域
Router(config)#int S2/0
Router(config-if-Serial 2/0)#ip nat outside
Router(config-if-Serial 2/0)#exit
```
```- 还可以进行地址池的映射
```
```none
# 定义广域网地址池net192,范围从192.168.15.2/25 到 192.168.15.127/25
Router(config)#ip nat pool net192 192.168.15.2 192.168.15.127 netmask 255.255.255.128
# 定义访问控制列表,允许10.15.0.0/17 网络的设备使用该地址池
Router(config)#access-list 1 permit 10.15.0.0 0.0.127.255
# 配置NAT静态映射,讲10.15.0.0/17网络映射到地址池net192
Router(config)#ip nat inside source list 1 pool net192
# 配置快速以太网接口0/0为NAT的内部区域
Router(config)#int F0/0
Router(config-if-FastEthernet 0/0)#ip nat inside
Router(config-if-FastEthernet 0/0)#exit
# 配置串行接口2/0为NAT的外部区域
Router(config)#int S2/0
Router(config-if-Serial 2/0)#ip nat outside
Router(config-if-Serial 2/0)#exit
```
```## 9. VRRP Configuration
- VRRP是一种接口的容灾技术,允许两个接口互为备份,使用同一个虚拟的IP地址和MAC地址,其中一个称为Master,当一个接口停止工作的时候可以自动切换到第二个接口,具体配置如下。
```
```none
# 配置快速以太网接口0/1
Router(config)#interface f0/1
# 将接口配置为VRRP编号5的虚拟接口,IP地址为110.15.0.1
Router(config-if-FastEthernet 0/1)#vrrp 5 ip 10.15.0.1
*May 28 09:22:24: %VRRP-6-STATECHANGE: FastEthernet 0/1 Grp 5 state Init -> Master.
# 退出配置
Router(config-if-FastEthernet 0/1)#exit
Router(config)#exit
# 查看VRRP配置
Router#show vrrp 5
FastEthernet 0/1 - Group 5
State is Master
Virtual IP address is 10.15.0.1 configured
Virtual MAC address is 0000.5e00.0105
Advertisement interval is 1 sec
Preemption is enabled
min delay is 0 sec
Priority is 255
Master Router is 10.15.0.1 (local), priority is 255
Master Advertisement interval is 1 sec
Master Down interval is 3 sec```
```## 10. WLAN Configuration on Wireless AP
- 无线AP的WLAN配置有点特别,需要使用`encapsulation`命令封装端口,具体配置如下(并非所有步骤都是必需的)。
```
```none
# 配置AP的吉比特以太网接口0/1
AP(config)#int g0/1
# 封装虚拟接口
# 如果不使用WLAN功能,只需要配置完这里即可
AP(config-if-GigabitEthernet 0/1)#encapsulation dot1Q 1
AP(config-if-GigabitEthernet 0/1)#exit
# 配置WLAN
AP(config)#dot11 wlan 1
# 配置SSID,也就是我们常说的WLAN广播名称
AP(dot11-wlan-config)#ssid XiaoLu_Group_05_AP
# 配置VLAN(应该是Native VLAN,因为编号是1)
AP(dot11-wlan-config)#vlan 1
# 开启WLAN广播,若不开启则无法被搜索到,只能手动输入网络加入
AP(dot11-wlan-config)#broadcast-ssid
# 配置广播
AP(dot11-wlan-config)#int Dot11radio1/0
# 封装虚拟接口
AP(config-if-Dot11radio 1/0)#encapsulation dot1Q 1
# 配置WLAN-ID为1
AP(config-if-Dot11radio 1/0)#wlan-id 1
Config sub-intferface SSID:XiaoLu_Group_05_AP, VID:1
# 配置WLAN发射信道
# 11信道属于2.4GHz频率。在中国信道11是2.4GHz的最后一个信道
AP(config-if-Dot11radio 1/0)#channel 11
# 配置WLAN的802.11版本
AP(config-if-Dot11radio 1/0)#radio-type 802.11b
# 配置国家代码为中国
AP(config-if-Dot11radio 1/0)#country-code CNI
# 配置信道频宽为40
AP(config-if-Dot11radio 1/0)#chan-width 40
# 启用802.11g支持
AP(config-if-Dot11radio 1/0)#11gsupport enable
# 启用802.11n支持
AP(config-if-Dot11radio 1/0)#11nsupport enable
# 退出配置
AP(config-if-Dot11radio 1/0)#exit
```
```## 11. Private VLAN Configuration
- Private VLAN是一种不同于Port-based VLAN的技术,可以实现同一VLAN下某些端口之间的隔离。典型的应用就是我校宿舍区的网络,每个宿舍的端口直接不能互相访问,这种端口称为`isolated`,但是所有宿舍的端口都可以访问网关(所在的端口),这种端口称为`primary`,本例中VLAN500是`primary`,VLAN50是`isolated`,具体配置方法如下。
```
```none
# 进入配置
Switch#config
Enter configuration commands, one per line. End with CNTL/Z.
# 配置快速以太网接口0/1
Switch(config)#int f0/1
# 配置端口模式为private-vlan的host模式
# 此处是将端口配置为isolated
Switch(config-FastEthernet 0/1)#switchport mode private-vlan host
# 配置VLAN之间的关联,500是primary,50是isolated
Switch(config-FastEthernet 0/1)#switchport private-vlan host-association 500 50
# 配置快速以太网接口0/2,同上
Switch(config)#int f0/2
Switch(config-FastEthernet 0/2)#switchport mode private-vlan host
Switch(config-FastEthernet 0/2)#switchport private-vlan host-association 500 50
# 配置快速以太网接口0/3
Switch(config-FastEthernet 0/2)#int f0/3
# 配置端口模式为private-vlan的promiscuous模式
Switch(config-FastEthernet 0/3)#switchport mode private-vlan promiscuous
# 配置VLAN之间的关联,500是primary,50是isolated
Switch(config-FastEthernet 0/3)#switchport private-vlan mapping 500 add 50
# 显示Private VLAN配置,F0/1和F0/2属于isolated接口,VLAN50,F0/3属于primary接口,VLAN500。
Switch(config-FastEthernet 0/3)#show vlan private-vlan
VLAN Type Status Routed Ports Associated VLANs
----- ---------- -------- -------- ------------------------------ ------------------
50 isolated active Disabled Fa0/1, Fa0/2 500
500 primary active Disabled Fa0/3 50```
```## 12. SNMP Configuration
- SNMP是一种网络管理协议,允许在远程管理常见的网络设备,大部分网络设备,比如交换机、路由器、AP等都支持SNMP,甚至是Server也可以配置SNMP,当然了如果想通过SNMP进行管理,设备必须拥有IP地址,即使是AP和交换机这样的设备也是如此。下面以AP为例介绍SNMP的配置。
```
```none
# 配置SNMP服务器,允许配置的读取
AP(config)#snmp-server community public RO
# 配置SNMP服务器,允许配置的修改
AP(config)#snmp-server community private RW
# 配置SNMP服务器,配置设备位置(可选)
AP(config)#snmp-server location Shenyang
# 配置SNMP服务器,配置联系方式(可选)
AP(config)#snmp-server contact wrlus@outlook.com
```
```