Cisco路由器
常见的模式:
Router> | 普通模式 | logout | |
Router# | 特权模式 | enable | disable |
Router(config)# | 全局配置模式 | configure terminal | ctrl+z |
Router(config-if)# | 接口模式 | int fastEthernet 1/0 | ctrl+z |
设置欢迎提示符号:
R1(config)#banner motd i Enter TEXT message. End with the character 'i'. welcom to Route............ i R1(config)#banner login i Enter TEXT message. End with the character 'i'. welcome to ....... i ctrl+z R1#copy running-config startup-config
设置主机名:
Router1(config)#hostname R1
密码
密码分为接口密码和特权模式密码。
特权密码:
设置明文密码:
R1(config)#enable password 123 R1(config)#do show running-config R1#copy running-config startup-config #到特权模式下保存
设置加密密码:
R1(config)#enable secret 456 R1(config)#do show running-config R1#copy running-config startup-config # 到特权模式下保存
do show running-config 的意思是在非特权模式下运行show running-config 的意思。
登陆:
R1>enable Password:
当明文密码和加密密码同时存在的时候明文密码自动失效。
取消设置的密码:
R1(config)#no enable password
接口密码:接口密码有各种各样的接口。
console密码:本地登陆可不输入密码
R1(config)#line console 0 R1(config-line)#password 123 R1(config-line)#login # 启用密码检测
aux 和 console 都是本地的。tty 终端接口,vty 虚拟终端接口。
设置超时时间:
R1(config-line)#exec-timeout 0 0 # 不超时 R1(config-line)#exec-timeout 5 30 # 5分30秒后超时
阻止控制台信息:
R1(config-line)#logging synchronous
telnet密码:实际路由器不配,telnet明文传输
R1(config)#line vty 0 15 #0到15全部开启telnet密码 R1(config-line)#password 123 R1(config-line)#login R1(config)#service password-encryption # 让密码加密,否者使用do show run 可以看到密码
SSH密码设置:
1、要设置ssh密码主机名、域名、时间这三项必须要配。
Router(config)#hostname R2 R2(config)#ip domain-name qiyang R2#clock set 17:33:30 22 aug 2018
2、生成秘钥
R2(config)#crypto key generate rsa How many bits in the modulus [512]: 1024 # 直接输入1024 R2(config)#aaa new-model # 启用AAA模式 R2(config)#username cisco password cisco # 设置账号和密码 R2(config)#ip ssh time-out 120 # 超时时间 R2(config)#ip ssh authentication-retries 5 # 尝试的次数 R2(config)#ip ssh version 2 # ssh版本 R2(config)#line vty 0 15 # 登陆到虚拟线路 R2(config-line)#transport input ssh # 使其生效
查看运行配置:
R2#show running-config
端口设置
设置以太网端口IP:
R2#configure terminal R2(config)#interface fastEthernet 1/0 R2(config-if)#ip address 192.168.1.1 255.255.255.0 R2(config-if)#no shutdown # 使其生效
关闭接口就是用 shutdown 命令。
进入接口配置:
R2(config)#interface ?
R2(config)#interface fastEthernet 0/0 # 进入快速以太网接口 0/1
0代表插槽,1代表端口。
串口会用 0/0/1 :0表示路由器本身,0插槽,1端口
为端口添加注释:
R1(config-if)#description conect to PC0
description 后面是注释内容,描述这个接口是用来干嘛的。
do命令:
在全局配置模式下运行特权模式中的命令。
显示版本:
R1#show version
显示接口信息:
R1#show interfaces fastEthernet 0/0
路由器连接路由器两个相连的接口要在同一个网段。
串口连接
串口用于老式的广域网,E1网络宽带2.0.48Mbps,现在基本都被光纤接口取代。
查看串口协议:
R1#show controllers serial 1/0/0
查看串口接口:
R1#show interfaces serial 1/0/0
设置串口IP:
R1#configure terminal R1(config)#interface serial 1/0/0 R1(config-if)#ip address 192.168.11.1 255.255.255.0 R1(config-if)#no shutdown R1(config-if)#clock rate 64000
配置串口两个口都要配置相同网段,还要在 DCE 口设置 clock,查看那个是DCE口可以使用查看串口协议命令 show controllers serial 1/0/0。
配置
保存配置:
R1#copy running-config startup-config
删除配置:还原
R1#erase startup-config
显示配置:
R1#show startup-config
重启:
R1#reload
ping:
ping ip
追踪路由:
traceroute
telnet
telnet ip port
查看IP信息:
R1#show ip interface brief
寄存器
显示寄存器的值:
show version
修改寄存器的值:
R1(config)#config-register 0x2102
破解密码:
1、通过 console 口连接 PC 和路由器,PC端使用终端。
路由开机在60秒内按键盘上的 ctrl+break(ctrl+c) 键中断启动过程,进入 rommoritor 模式,此时提示符为 rommon 1> ,如果 break 屏蔽了可以通过循环开机的方法进入 rom 状态。
2、修改寄存器的值:
rommon 1>confreg 0x2142
################# 这个时候按 ctrl + c monitor: command "boot" aborted due to user interrupt rommon 1 > confreg 0x2142 rommon 2 > reset # 有些路由器输入initialize Router>enable Router#copy startup-config running-config # 运行启动配置文件 R1#configure terminal R1(config)#enable secret 456 # 重新设置密码,还可以进行其他操作 R1(config)#config-register 0x2102 # 再把寄存器配置改回来 R1#copy running-config startup-config # 保存当前配置 R1#reboot
追踪路由命令:
R1#traceroute www.baidu.com
查看路由进程:
R1#show processes CPU utilization for five seconds: 0%/0%; one minute: 0%; five minutes: 0% PID QTy PC Runtime (ms) Invoked uSecs Stacks TTY Process 1 Csp 602F3AF0 0 1627 0 2600/3000 0 Load Meter 2 Lwe 60C5BE00 4 136 29 5572/6000 0 CEF Scanner 3 Lst 602D90F8 1676 837 2002 5740/6000 0 Check heaps ......
路由器备份、升级和恢复:
1、路由器和电脑用交叉线相连,并能够ping通,通过tftp服务进行传输。
Cisco发现协议
Cisco发现协议(CDP,Cisco Discovery Protocol)可以收集相邻设备的硬件和协议信息,用于故障诊断和网络判断。
查看路由的CDP信息:
R1#show cdp Global CDP information: Sending CDP packets every 60 seconds Sending a holdtime value of 180 seconds Sending CDPv2 advertisements is enabled
查看CDP接口信息:可以看到那些端口已经启用
R1#show cdp interface Vlan1 is administratively down, line protocol is down Sending CDP packets every 60 seconds Holdtime is 180 seconds FastEthernet0/0 is up, line protocol is up Sending CDP packets every 60 seconds Holdtime is 180 seconds FastEthernet0/1 is administratively down, line protocol is down Sending CDP packets every 60 seconds Holdtime is 180 seconds FastEthernet1/0 is up, line protocol is up Sending CDP packets every 60 seconds Holdtime is 180 seconds FastEthernet1/1 is administratively down, line protocol is down Sending CDP packets every 60 seconds Holdtime is 180 seconds Serial1/0/0 is up, line protocol is up Sending CDP packets every 60 seconds Holdtime is 180 seconds Serial1/1/0 is administratively down, line protocol is down Sending CDP packets every 60 seconds Holdtime is 180 seconds
激活CDP发现协议:
R1(config)#cdp run
只激活一个接口:进入到某个接口再激活这个接口
R1(config)#interface fastEthernet 0/0 R1(config-if)#cdp enable
关闭指定的CDP:
R1(config)#interface fastEthernet 0/0 R1(config-if)#no cdp enable
收集邻居信息:
R1#show cdp neighbors Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone Device ID Local Intrfce Holdtme Capability Platform Port ID R2 Fas 1/0 172 R C2800 Fas 1/0 R2 Ser 1/0/0 172 R C2800 Ser 1/0/0
显示详细信息:
R1#show cdp entry *
只查看协议:
R1#show cdp entry * protocol Protocol information for R2 : IP Address: 192.168.10.2 --------------------------- Protocol information for R2 : IP Address: 192.168.11.2
“忆图”可以画网络拓扑图。
telnet命令:可以通过telnet命令管理其他路由器,不推荐只是有这个功能。
查看登陆的用户:
R1#show users Line User Host(s) Idle Location * 0 con 0 idle 00:00:00 Interface User Mode Idle Peer Address
踢掉某个终端:
R1#clear line vty 100
建立主机与IP的对应列表:类似于hosts文件
R1(config)#ip host R2 192.168.10.2
查看列表:
R1(config)#do show hosts Default Domain is not set Name/address lookup uses domain service Name servers are 255.255.255.255 Codes: UN - unknown, EX - expired, OK - OK, ?? - revalidate temp - temporary, perm - permanent NA - Not Applicable None - Not defined Host Port Flags Age Type Address(es) R2 None (perm, OK) 0 IP 192.168.10.2
删除主机名:
R1(config)#no ip host R2
配置DNS
开启IP域名查询:
R1(config)#ip domain-lookup
指定DNS服务器:
R1(config)#ip name-server 8.8.8.8
禁止把不认识的命令进行DNS解析,防止输入错误进行费时的DNS解析。
R1(config)#no ip domain-lookup
如果不设置的话就会进行DNS解析:当输入错误命令的时候会自动当成域名去解析。
R1#abcde Translating "abcde"...domain server (8.8.8.8)
设置静态路由:
R1(config)#ip route 192.168.2.0 255.255.255.0 192.168.1.2
取消静态路由:
R1(config)#no ip route 192.168.2.0 255.255.255.0 192.168.1.2
默认路由
出口只有一个的情况下才能配置默认路由。
R3(config)#ip route 0.0.0.0 0.0.0.0 192.168.12.2
这个地址表示任意IP任意子网掩码都要经过192.168.12.2,这个12.2就是下一个路由的地址。
ip classless 路由器支持默认路由,一般路由器都支持。
查看默认路由:
R3#show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, 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, E - EGP i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area * - candidate default, U - per-user static route, o - ODR P - periodic downloaded static route Gateway of last resort is 192.168.12.2 to network 0.0.0.0 C 192.168.12.0/24 is directly connected, Serial1/1/0 C 192.168.13.0/24 is directly connected, FastEthernet0/0 S* 0.0.0.0/0 [1/0] via 192.168.12.2
静态路由
静态路由语法:
R2(config)# ip route 目标网络地址 子网掩码 下一条IP 管理距离 permanent
permanent:如果接口关闭或不能和下一条通信则会删除此条路由,但写入permanent则无论什么情况都会保留此条路由。
下一跳IP:写连接下一个路由器接口的IP,或本机的端口。
管理距离:管理距离越小优先级越高。
路由配置示例:
R0的静态路由:
R0(config)#ip route 192.168.2.0 255.255.255.0 192.168.10.2 R0(config)#ip route 192.168.20.0 255.255.255.0 192.168.10.2 R0(config)#ip route 192.168.3.0 255.255.255.0 192.168.10.2 R0(config)#ip route 192.168.30.0 255.255.255.0 192.168.10.2 R0(config)#ip route 192.168.4.0 255.255.255.0 192.168.10.2
R1的静态路由:
R1(config)#ip route 192.168.1.0 255.255.255.0 192.168.10.1 R1(config)#ip route 192.168.3.0 255.255.255.0 192.168.20.2 R1(config)#ip route 192.168.30.0 255.255.255.0 192.168.20.2 R1(config)#ip route 192.168.4.0 255.255.255.0 192.168.20.2
R2的静态路由:
R2(config)#ip route 192.168.1.0 255.255.255.0 192.168.20.1 R2(config)#ip route 192.168.10.0 255.255.255.0 192.168.20.1 R2(config)#ip route 192.168.2.0 255.255.255.0 192.168.20.1 R2(config)#ip route 192.168.4.0 255.255.255.0 192.168.30.2
R3的静态路由:
R3(config)#ip route 192.168.20.0 255.255.255.0 192.168.30.1 R3(config)#ip route 192.168.3.0 255.255.255.0 192.168.30.1 R3(config)#ip route 192.168.2.0 255.255.255.0 192.168.30.1 R3(config)#ip route 192.168.10.0 255.255.255.0 192.168.30.1 R3(config)#ip route 192.168.1.0 255.255.255.0 192.168.30.1
动态路由
邻居、拓扑、路由表
内部网关协议IGP:
距离矢量协议:
RIP:路由信息协议
IGRP:内部网关路由协议
链路状态协议:
OSPF:开放最短路径优先协议
IS-IS:中间系统-中间系统协议
混合型协议:
EIGPR:增强内部网关路由协议
外部网关协议EGP:
BGP:边界网关协议
有类路由和无类路由的区别:
有类路由:汇总以后 地址是标准的A B C类地址掩码 即 255.0.0.0 255.255.0.0 255.255.255.0
无类路由:汇总以后 地址是无类的 比如 172.16.12.0/16 - 172.16.15.0/16 汇总以后的地址是 172.16.12.0/20 子码 不属于 A B C 3个类别。
RIP协议
想配置好路由器等各个IP:
然后配置RIP协议:
R1
R1(config)#router rip #宣告使用rip路由协议 R1(config-router)#network 1.1.1.0 #宣告相连的网段,rip为有类协议,不支持边长子网掩码,使用默认子网掩码 R1(config-router)#network 192.168.10.0 #宣告相连的网段
查看路由:
R1#show ip route Gateway of last resort is not set 1.0.0.0/24 is subnetted, 1 subnets C 1.1.1.0 is directly connected, FastEthernet0/0 C 192.168.10.0/24 is directly connected, Serial1/0/0
R2:
R2(config)#router rip R2(config-router)#network 192.168.10.0 R2(config-router)#network 192.168.20.0 R2(config-router)#network 2.1.1.0 R2#show ip route Gateway of last resort is not set R 1.0.0.0/8 [120/1] via 192.168.10.1, 00:00:03, Serial1/0/0 2.0.0.0/24 is subnetted, 1 subnets C 2.1.1.0 is directly connected, FastEthernet0/0 C 192.168.10.0/24 is directly connected, Serial1/0/0 C 192.168.20.0/24 is directly connected, Serial1/1/0
R开头的1.0.0.0/8 和 2.0.0.0/24 就是rip协议更新的。
R3:
R3(config)#router rip R3(config-router)#network 192.168.20.0 R3(config-router)#network 3.1.1.0 R3#show ip route Gateway of last resort is not set R 1.0.0.0/8 [120/2] via 192.168.20.1, 00:00:25, Serial1/1/0 R 2.0.0.0/8 [120/1] via 192.168.20.1, 00:00:25, Serial1/1/0 3.0.0.0/24 is subnetted, 1 subnets C 3.1.1.0 is directly connected, FastEthernet0/0 R 192.168.10.0/24 [120/1] via 192.168.20.1, 00:00:25, Serial1/1/0 C 192.168.20.0/24 is directly connected, Serial1/1/0
然后用1.1.1.2 去 ping 3.1.1.2
C:\>ping 3.1.1.2 Pinging 3.1.1.2 with 32 bytes of data: Request timed out. Reply from 3.1.1.2: bytes=32 time=4ms TTL=125 Reply from 3.1.1.2: bytes=32 time=13ms TTL=125
此时就可以ping通了。
RIP2:
RIP2协议解决了RIP协议的一些局限性和弊端。
R1(config)#router rip R1(config-router)#version 2 #选着版本2 R1(config-router)#no auto-summary #关闭自动汇总 R1#clear ip route * # 清空路由表
EIGRP协议
EIGRP协议有三张表。
邻居表 Neighbor Table:路由器保存的相邻路由器的状态信息。当发现一个新邻居时该邻居的地址和接口信息就会被保存下来,这些信息保存在邻居表中,邻居表存在RAM中。
拓扑表 Topology Table:由算法和协议生成,保存临近路由信息和到达每个相邻的AD值和FD值。
路由表 Routing Table:保存正在使用的路由信息。
设置ERGIP:
R1设置:
R1(config)#router eigrp 100 #自制系统AS号,要想几台路由器直接通信需要设置相同的AS号。 R1(config-router)#network 1.1.1.0 R1(config-router)#network 192.168.10.0
使用show running-config就可以查看汇总信息了:
R1#show running-config ! router eigrp 100 network 1.0.0.0 network 192.168.10.0 auto-summary !
R2设置:
R2(config)#router eigrp 100 R2(config-router)#network 192.168.10.0 %DUAL-5-NBRCHANGE: IP-EIGRP 100: Neighbor 192.168.10.1 (Serial1/0/0) is up: new adjacency R2(config-router)#network 2.1.1.0 R2(config-router)#network 192.168.20.0 R2#show running-config ! router eigrp 100 network 192.168.10.0 network 2.0.0.0 network 192.168.20.0 auto-summary !
R3设置:
R3(config)#router eigrp 100 R3(config-router)#network 3.1.1.0 R3(config-router)#network 192.168.20.0 %DUAL-5-NBRCHANGE: IP-EIGRP 100: Neighbor 192.168.20.1 (Serial1/1/0) is up: new adjacency R3#show running-config ! router eigrp 100 network 3.0.0.0 network 192.168.20.0 auto-summary !
查看路由:
R3#show ip route Gateway of last resort is not set D 1.0.0.0/8 [90/21026560] via 192.168.20.1, 01:01:40, Serial1/1/0 D 2.0.0.0/8 [90/20514560] via 192.168.20.1, 01:01:40, Serial1/1/0 3.0.0.0/8 is variably subnetted, 2 subnets, 2 masks D 3.0.0.0/8 is a summary, 01:01:40, Null0 C 3.1.1.0/24 is directly connected, FastEthernet0/0 D 192.168.10.0/24 [90/21024000] via 192.168.20.1, 01:01:40, Serial1/1/0 C 192.168.20.0/24 is directly connected, Serial1/1/0
从左往右的信息为:路由协议、网段、[管理距离/FD]、去这个网段的接口、路由表更新时间、接口。
查看某个网段的详细信息:
R3#show ip route 1.1.1.0 Routing entry for 1.0.0.0/8 Known via "eigrp 100", distance 90, metric 21026560, type internal Redistributing via eigrp 100 Last update from 192.168.20.1 on Serial1/1/0, 01:18:34 ago Routing Descriptor Blocks: * 192.168.20.1, from 192.168.20.1, 01:18:34 ago, via Serial1/1/0 Route metric is 21026560, traffic share count is 1 Total delay is 40100 microseconds, minimum bandwidth is 128 Kbit Reliability 255/255, minimum MTU 1500 bytes Loading 1/255, Hops 2
查看路由:
R3#show ip route eigrp D 1.0.0.0/8 [90/21026560] via 192.168.20.1, 02:56:50, Serial1/1/0 D 2.0.0.0/8 [90/20514560] via 192.168.20.1, 02:56:50, Serial1/1/0 3.0.0.0/8 is variably subnetted, 2 subnets, 2 masks D 3.0.0.0/8 is a summary, 02:56:50, Null0 D 192.168.10.0/24 [90/21024000] via 192.168.20.1, 02:56:50, Serial1/1/0
查看邻居表:
R3#show ip eigrp neighbors IP-EIGRP neighbors for process 100 H Address Interface Hold Uptime SRTT RTO Q Seq (sec) (ms) Cnt Num 0 192.168.20.1 Se1/1/0 11 01:20:35 40 1000 0 11
查看拓扑表:
R3#show ip eigrp topology IP-EIGRP Topology Table for AS 100/ID(192.168.20.2) Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply, r - Reply status P 1.0.0.0/8, 1 successors, FD is 21026560 via 192.168.20.1 (21026560/20514560), Serial1/1/0 P 2.0.0.0/8, 1 successors, FD is 20514560 via 192.168.20.1 (20514560/28160), Serial1/1/0 P 3.0.0.0/8, 1 successors, FD is 28160 via Summary (28160/0), Null0 P 3.1.1.0/24, 1 successors, FD is 28160 via Connected, FastEthernet0/0 P 192.168.10.0/24, 1 successors, FD is 21024000 via 192.168.20.1 (21024000/20512000), Serial1/1/0 P 192.168.20.0/24, 1 successors, FD is 20512000 via Connected, Serial1/1/0
括号中的 (21024000/20512000) 为 FD/AD
关闭自动汇总:
如果ping一个ip出现一个通一个不通的情况,因为路由器只识别有类的标准路由,路由开启了自动汇总时将某些网段ip汇总为一类,也就是说 192.168.2.2/24 识别成了 192.168.2.2/16 这样两个ip 192.168.2.2/24 和 192.168.1.2/24 被识别成一个网段了。这样当从R2去ping 192.168.1.2 时会出现一个通一个不通的情况,是路由器在做负载均衡。
R1(config)#router eigrp 100 R1(config-router)#no auto-summary
OPSF协议
OSPF协议是链路状态路由协议,也称为最短路由优先协议,该协议是把路由分成区域并收集区域内所有的链路状态,根据状态信息生成网络拓扑结构;路由器会根据这个拓扑结构计算出路由线路,OPSF只把带宽作为度量值。相当于拿着地图找最短路径。链路状态路由协议有三张表:邻居表、拓扑表、路由表。
OSPF的三张表:
邻居表:邻居关系数据库。
拓扑表:链路状态数据库,邻居更新过来的链路信息。
路由表:利用SPF算法算出的最优路由。
OPSF必须要有一个区域0,区域是以端口为基础的,可以把一个路由器的不同端口划分在不同的区域内。划分区域的优点是把一个大网络划分成小网络,只有区域之间的路由器才会更新彼此的信息。
DR和BDR:
为了避免每台路由器彼此互相通信占用网络带宽,让所有路由器只跟其中一台路由器交换信息,这样就可以互相通信有避免重复的带宽占用,这个路由器称为DR,为了避免DR宕机还要选一台作为备份DR叫BDR,所有路由器也会跟BDR交换信息。
通过路由器ID来选取DR和BDR,路由器ID是比较IP地址,哪一个的IP地址大那个就作为DR,第二大的就是BDR。但是有个选取规则,首先选取 loopback 接口上的IP地址,没有loopback 地址则再选取物理地址,无论loopback上的地址有多小,路由器上的 loopback 上的地址可以设置且更稳定。
DR选取规则:
比较OSPF中路由器接口的优先级(默认为1)谁大则为DR。
如果优先级相同,则比较路由ID,谁的ID大则为DR。
如果路由器接口的优先级为0,则不参与DR选举。
loopback网卡设置:
Router(config)#interface loopback 0 Router(config-if)#ip address 192.168.100.1 255.255.255.0 Router(config-if)#no shutdown
OSPF工作在广播型网络中,需要先进行DR与BDR的选举,串口不是广播型网络,只有以太网接口是广播型网络。
SPF算法:
OSPF使用STP算法来计算网络中的度量值,OSPF使用贷款作为度量值。度量值=100^8/带宽=100M/带宽。RIP使用跳数作为度量值;EIGRP使用K值计算度量值默认只有带宽和延迟生效。
设置OSPF路由:
Router(config)#router ospf 10 Router(config-router)#network 1.1.1.0 0.0.0.255 area 0
查看路由协议:
Router#show running-config ... router ospf 10 log-adjacency-changes network 1.1.1.0 0.0.0.255 area 0 network 192.168.10.0 0.0.0.255 area 0 ...
命令格式:
router ospf 进程号
这个进程号只对本地路由生效,可以为1-65535中的任意数字,最好是写一样的。
Router(config)#router eigrp ? <1-65535> Autonomous system number Router(config)#router ospf ? <1-65535> Process ID
network IP 反掩码 area 区域号
区域号:0 为骨干区域,主干区域必须要有
反掩码:即把二进制中原来的1改为0,如原来的为 255.255.255.0 反掩码为 0.0.0.255 。在Cisco路由器中 255.255.255.255 代表一个确定的主机,计算机上是不会这么写的。
反掩码转换方法:
如将 192.168.10.0/28 转换成反掩码: 192.168.10.0 11111111.11111111.11111111.11110000 192.168.10.240 192.168.10.0 00000000.00000000.00000000.00001111 0.0.0.15
配置示例:
R1:
Router(config)#router ospf 10 Router(config-router)#network 1.1.1.0 0.0.0.255 area 0 Router(config-router)#network 192.168.10.0 0.0.0.255 area 0
R2:
Router(config)#router ospf 10 Router(config-router)#network 2.1.1.0 0.0.0.255 area 0 Router(config-router)#network 192.168.10.0 0.0.0.255 area 0 Router(config-router)#network 192.168.20.0 0.0.0.255 area 0
R3:
Router(config)#router ospf 10 Router(config-router)#network 3.1.1.0 0.0.0.255 area 0 Router(config-router)#network 192.168.20.0 0.0.0.255 area 0
然后使用PC或路由器相互ping通即可。
查看路由协议:地址前的 o 代表OSPF协议。
show ip route
查看邻居:直连的端口
Router#show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 192.168.20.1 0 FULL/ - 00:00:35 192.168.10.2 Serial1/0/0
查看端口:
Router#show ip ospf interface fastEthernet 0/0
设置路由器ID和回环接口:
Router(config)#interface loopback 0 Router(config-if)#ip address 200.0.0.1 255.255.255.0 Router(config-if)#no shutdown
清空路由表的进程信息:重新进行OSPF的学习和连接,不手动清空需要等一会。
Router#clear ip ospf process Reset ALL OSPF processes? [no]: y
查看loopback地址:不管回环IP地址多小都会作为路由ID。
Router#show ip ospf Routing Process "ospf 10" with ID 192.168.10.1
只有广播型网络才有DR选举,串口没有广播型网络。
查看邻居表:可看到是否为DR和BDR。
Router#show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 192.168.20.1 1 FULL/DR 00:00:32 10.0.0.2 FastEthernet0/0
修改端口优先级:优先级为0则没有做DR的权限。
Router(config-if)#ip ospf priority 0
OSPF路由手工汇总:
OSPF默认不会自动汇总,EIGRP会自动汇总。如下命令是将区域0的 100.1.0.0 网段的所有IP地址汇总成一个子网,在复杂的路由中可加快路由转发速度。
Router(config)#router ospf 10 Router(config-router)#area 0 range 100.1.0.0 255.255.0.0
访问控制列表ACL
访问控制列表类似于防火墙,可以对数据包进行过滤,IP、端口号、MAC地址、也可以根据数据包的内容进行过滤,路由器的功能有限只能配置IP和端口号。
访问控制列表ACL应用于连衣裙接口的指令列表,用于指定那些数据包可以接收转发,哪些数据包被拒绝访问。
访问控制列表原理:
访问控制列表主要是靠包过滤技术实现安全控制,他们能够坚持源IP地址目标E地址,网络层报头的协议字段(如icmp)、传输层报头中的端口号等通过这些策略来过滤数据包。
在路由器中一但启用ACL规则则至少有一条允许规则,因为默认的ACL规则是拒绝。规则为顺序执行,没有匹配到则拒绝。
防火墙有方向,入口和出口方向。在防火墙规则中按照顺序来执行。在路由器中先创建访问控制列表,再将列表应用到接口,接口分为出口方向和入口方向。
创建访问控制列表:
Router(config)#access-list 1 permit 192.168.0.0 0.0.255.255 #允许访问
应用控制列表到端口:
Router(config-if)#int f0/0 Router(config-if)#ip access-group 1 out Router(config-if)#int f0/1 Router(config-if)#ip access-group 1 out
拒绝某个IP地址:
Router(config)#access-list 1 deny host 192.168.1.101 #拒绝访问 Router(config)#access-list 1 permit #允许所有 Router(config)#int f0/0 Router(config-if)#ip access-group 1 out
上面示例为标准访问控制列表,扩展访问列表功能更强大,具体命令不在赘诉。
访问列表分类:
标准访问控制列表:访问控制列表为 1-99,只能基于源IP来决定数据包是否可以通过,如果拒绝只能拒绝整个IP地址的访问,而不能区分端口和协议(TCP/IP/ICMP等)。
扩展访问控制列表:访问控制列表为 100-199,既可以基于源IP地址和目标IP地址,也可以基于端口协议来控制数据包。
NAT地址转换
NAT(Network Address Translation 网络地址转换)让内网的主机通过转换来访问外网。
NAT的分类:
静态转换:将本地地址和全局地址进行一对一转换,每个内网IP都需要一个公网IP。
动态转换:多个公网地址组成一个地址池,进行动态映射,当内网地址多于公网地址时,需要等待其他主机使用完然后再分配给另一台主机使用。
端口多路复用:PAT(Port Address Translation),只有一个公网IP,所有的内网IP用公网IP的不同端口来表示。
NAT转换内部维护一张地址转换表,表中记录着 内网 IP:Port 对应着 IP:Port,这样外网发回来的数据就可以通过地址转换表来找到对应的内网主机了。
动态转换设置:
假设公网IP地址段为 61.1.1.10~61.1.1.15,将10作为网关,剩下的作为地址池。
如图将P2的设置:
ip:192.168.1.2 netmask:255.255.255.0 gateway:192.168.1.1
如图将P3的设置:
ip:192.168.1.2 netmask:255.255.255.0 gateway:192.168.1.1
和交换机相连的路由器设置:
Router(config)#hostname NAT NAT(config)#int f0/0 NAT(config-if)#ip address 192.168.1.1 255.255.255.0 NAT(config-if)#no shutdown NAT(config-if)#int s0/0/0 NAT(config-if)#clock rate 64000 NAT(config-if)#ip address 61.1.1.10 255.255.255.0 NAT(config-if)#no shutdown
最右边的路由器:
Router(config)#int s0/0/0 Router(config-if)#ip add 61.1.1.20 255.255.255.0 Router(config-if)#no shutdown
这时候可以用192.168.1.2去ping 61.1.1.20,同时打开路由器追踪,不过这时是ping不通的。
NAT#debug ip packet Packet debugging is on NAT# IP: tableid=0, s=192.168.1.2 (FastEthernet0/0), d=61.1.1.20 (Serial0/0/0), routed via RIB IP: s=192.168.1.2 (FastEthernet0/0), d=61.1.1.20 (Serial0/0/0), g=61.1.1.20, len 128, forward NAT#no debug all #关闭debug
在中间的路由器上设置入口方向和出口方向:
NAT(config)#int f0/0 NAT(config-if)#ip nat inside NAT(config-if)#int s0/0/0 NAT(config-if)#ip nat outside
定义地址池:这里的ips是自定义名称。
NAT(config)#ip nat pool ips 61.1.1.11 61.1.1.15 netmask 255.255.255.0
定义访问控制列表,也是内网要转换的IP列表,这里使用访问控制列表进行IP分类,只有此访问控制列表允许的IP才进行转换。
NAT(config)#access-list 1 permit 192.168.1.0 0.0.0.255
设置转换内网到公网:
NAT(config)#ip nat inside source list 1 pool ips
开启路由器的追踪功能,这时候使用PC2去ping 61.1.1.20 就可以ping通了。
NAT#debug ip packet Packet debugging is on NAT# IP: tableid=0, s=192.168.1.2 (FastEthernet0/0), d=61.1.1.20 (Serial0/0/0), routed via RIB IP: s=192.168.1.2 (FastEthernet0/0), d=61.1.1.20 (Serial0/0/0), g=61.1.1.20, len 128, forward IP: tableid=0, s=61.1.1.20 (Serial0/0/0), d=192.168.1.2 (FastEthernet0/0), routed via RIB IP: s=61.1.1.20 (Serial0/0/0), d=192.168.1.2 (FastEthernet0/0), g=192.168.1.2, len 128, forward NAT#no debug all
如果想看到IP转换的结果可以使用 debug ip nat命令,注意:查看的时候要在ping,要不然看不到。不同的PC去ping时使用的公网IP是不一样的,这就是动态地址转换。
NAT#debug ip nat IP NAT debugging is on NAT: s=192.168.1.2->61.1.1.11, d=61.1.1.20 [13] NAT*: s=61.1.1.20, d=61.1.1.11->192.168.1.2 [13] NAT: s=192.168.1.2->61.1.1.11, d=61.1.1.20 [14] NAT*: s=61.1.1.20, d=61.1.1.11->192.168.1.2 [14]
查看nat地址表:
NAT#show ip nat translations Pro Inside global Inside local Outside local Outside global icmp 61.1.1.11:1 192.168.1.2:1 61.1.1.20:1 61.1.1.20:1 icmp 61.1.1.11:2 192.168.1.2:2 61.1.1.20:2 61.1.1.20:2 icmp 61.1.1.11:3 192.168.1.2:3 61.1.1.20:3 61.1.1.20:3 icmp 61.1.1.11:4 192.168.1.2:4 61.1.1.20:4 61.1.1.20:4
PAT转换
首先清空之前的nat设置。
清空nat表:
NAT#clear ip nat translation * NAT#sh ip nat translations #再次查看无结果说明已近被清空
清空动态nat:
NAT(config)#no ip nat inside source list 1 pool ips
清空之前设置的地址池:
NAT(config)#no ip nat pool ips 61.1.1.11 61.1.1.15 netmask 255.255.255.0
清除访问控制列表:
NAT(config)#no access-list 1 permit 192.168.1.0 0.0.0.255
如果这个访问控制列表还要用就不用清除了。
设置地址池:这里公网ip只有一个,所以地址段只设置一个IP即可,ips为自定义名称。
NAT(config)#ip nat pool ips 61.1.1.10 61.1.1.10 netmask 255.255.255.0
设置内网要转换IP列表:
NAT(config)#access-list 1 permit 192.168.1.0 0.0.0.255
设置PAT转换:
NAT(config)#ip nat inside source list 1 pool ips overload
查看nat转发:开启debug后要使用PC去 ping 公网的路由器才能看到。从转发追踪可以看到1.2和1.3使用的是同一个公网IP。
NAT#debug ip nat IP NAT debugging is on NAT# NAT: s=192.168.1.2->61.1.1.10, d=61.1.1.20 [5] NAT*: s=61.1.1.20, d=61.1.1.10->192.168.1.2 [5] NAT: s=192.168.1.3->61.1.1.10, d=61.1.1.20 [1] NAT*: s=61.1.1.20, d=61.1.1.10->192.168.1.3 [12] NAT#no debug all #看完要关闭debug
查看PAT地址表:查看时要在ping。从地址表中可以看到所有内网IP都映射到了一个公网IP,只有端口号不同。
NAT#show ip nat translations Pro Inside global Inside local Outside local Outside global icmp 61.1.1.10:12 192.168.1.2:12 61.1.1.20:12 61.1.1.20:12 icmp 61.1.1.10:13 192.168.1.2:13 61.1.1.20:13 61.1.1.20:13 icmp 61.1.1.10:14 192.168.1.2:14 61.1.1.20:14 61.1.1.20:14 icmp 61.1.1.10:15 192.168.1.2:15 61.1.1.20:15 61.1.1.20:15 icmp 61.1.1.10:5 192.168.1.3:5 61.1.1.20:5 61.1.1.20:5 icmp 61.1.1.10:6 192.168.1.3:6 61.1.1.20:6 61.1.1.20:6 icmp 61.1.1.10:7 192.168.1.3:7 61.1.1.20:7 61.1.1.20:7 icmp 61.1.1.10:8 192.168.1.3:8 61.1.1.20:8 61.1.1.20:8