『计算机网络』计算机网络实验——常用指令 配置NAT(关键) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [R1]acl basic 2001 // 在V7设备中(线下设备),使用acl basic命令;在V5设备中(线上设备),使用acl number命令 [R1-acl-2001]rule permit source 10.0.0.0 0.0.0.255 // 根据局域网的网段配置 [R1-acl-2001]rule deny sourse any // 允许IP源地址为10.0.0.0/24的外出数据包 [R1]nat address-group 1 // 进入地址池1 [R1-address-group-1]address 192.168.5.105 192.168.5.109 // 定义一个包含5个公网地址的地址池,地址池名为1 [R1]interface e 1/0/1 [R1-Ethernet 1/0/1]nat outbound 2001 address-group 1 // 在出接口e 1/0/1启动地址转换,指定number和group [R1]ip route-static 0.0.0.0 0.0.0.0 192.168.5.1 // 在路由表添加默认静态路由, 分别是目标IP,目标IP子网掩码,下一条地址 acl basic/number 2001 rule permit source 10.0.0.0 0.0.255.255 // 看情况 rule deny source any // 可以不用 nat address-group 1 address x.x.x.x x.x.x.x inter e0/1 nat outbound 2001 address-group 1 ip route-static 0.0.0.0 0.0.0.0 192.168.5.1
当于OSPF结合时,需要通告默认路由 1 2 [R1]ospf // 进入ospf [R1-ospf-1]default-route-advertise cost 100 // 通告默认路由配置
VLAN:数据链路层 VLAN端口分类 交换机的端口可以分为Access, Trunk和Hybrid三类。
Access:连接不支持VLAN技术的终端设备(如主机)的(交换机)端口,主机和交换机的连接端口通常都是Access
Trunk:连接支持VLAN技术的网络设备(如交换机)的(交换机)端口,收到的数据一般带有VLAN标签(数据帧VLAN和端口默认VLAN ID相同的除外);向外发送数据帧时,须保证接收端可以区分不同的VLAN,因此常常需要添加VLAN标签(数据帧VLAN ID和端口默认VLAN ID相同的除外),一般用于交换机之间的连接 。
Hybrid:Access和Trunk的混合模式,在Hybrid下工作的端口可以属于多个VLAN,可以接收和发送多个VLAN的报文,可以用于交换机之间的连接,也可以用于连接用户。
默认VLAN 每个(交换机)端口的属性,值为pvid,可以人为设置。交换机从某个端口收到一个不带VLAN标签的数据帧的时候,会在交换机内部将该数据帧视为带默认VLAN标签的数据帧。
H3C交换机初始化时,将每个端口设置为VLAN1,且VLAN1是每个端口的默认VLAN(pvid=1),VLAN1是untagged的。
带标签(tagged)和不带标签(untagged) tagged和untagged是端口的VLAN属性,用于确定从该端口发出的数据帧是否带VLAN标签。
一般来说,Access端口是untagged的;Trunk端口只有默认VLAN才是untagged,其他端口都是tagged;Hybrid端口比较灵活,可以自由设置。
创建VLAN 1 2 [h3c]vlan 2 // 创建vlan 2,2可以替换为其他vlan id,执行后会变为[h3c-vlan2] [h3c]undo vlan 2// 删除vlan 2,2可以替换为其他vlan id
VLAN添加端口 1 2 3 [h3c]vlan 2 // 创建/进入 vlan 2 [h3c-vlan2]port ge 1/0/1 to ge 1/0/3 // 进入vlan后,使用port ... to ...将某一范围内的端口添加到该VLAN,使用的是基于端口的VLAN划分。需要注意的是,e是Ethernet的缩写,线下网络实验室应当使用g [h3c-vlan2]undo port ge 1/0/1 to ge 1/0/2 // 将e 1/0/1 to e 1/0/3从VLAN2中删除
指定端口类型(trunk) 1 2 3 4 [h3c]int e 1/0/1 // 首先进入指定的端口 [h3c-Ethernet 1/0/1]port link-type trunk // 将端口类型设置为trunk [h3c-Ethernet 1/0/1]undo port link-type // 取消端口类型设置 [h3c-Ethernet 1/0/1]port link-type hybrid // 将端口类型设置为hybrid
指定/删除Trunk端口可以通过的VLAN数据帧 1 2 [h3c-Ethernet 1/0/1]port trunk permit vlan 2 to 3 // 允许通过2和3的数据帧 [h3c-Ethernet 1/0/1]undo port trnk permit vlan 2 to 3
配置VLAN IP 1 2 [H3C]inter vlan 2 // 进入interface vlan 2 [H3C-Vlan-interface3] ip addr 40.1.1.1 24 // 配置VLAN2的ip
二层交换机的端口不会配置IP,VLAN 的 IP 地址是为了在网络层上为该 VLAN 中的所有端口提供服务,而不是给每个端口单独配置 IP 地址,给 VLAN 配置 IP 地址意味着你在设置一个网络层的接口,供 VLAN 中的所有设备共用作为通信的网关 。
三个数据链路层协议 PPP协议 1 2 3 4 5 6 [R1-Serial1/0]link-protocol ppp // 配置PPP <R1>debugging ppp all // 打开PPP的debug开关 <R1>terminal debugging // 显示debug信息 [R1-Serial 1/0]shutdown // 关闭接口 [R1-Serial 1/0]undo shutdown // 启用接口
PAP验证 1 2 3 4 5 6 7 8 9 10 11 12 // R1 主验证方 [R1]local-user RTB class network // 配置用户 [R1-local-network-RTB]service-type ppp // 配置服务类型 [R1-local-network-RTB]password simple aaa // 配置用户密码 [R1]interface Serial 1/0 [R1-Serial1/0]ppp authentication pap // 授权PAP验证 // R2 被验证方 [R2]interface Serial 1/0 [R2-Serial 1/0]ppp pap local-user RTB password simple aaa // 配置PAP用户名和视图 <R1>debugging ppp pap all <R1>terminal debugging
CHAP验证 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [R1]local-user RTB class network // 配置用户列表 [R1-luser-network-RTB]service-type ppp // 配置服务类型 [R1-luser-network-RTB]pasword simple aaa // 配置用户对应的密码 [R1]Serial 1/0 [R1-Serial 1/0]ppp authentication-mode chap // 授权CHAP验证 [R1-Serial 1/0]ppp chap user RTA // 配置本地名称 [R2]local-user RTA class network // 配置用户列表 [R2-luser-network-RTA]service-type ppp //配置服务类型 [R2-luser-network-RTA]password simple aaa // 配置用户对应的密码 [R2]interface Serial 1/0 [R2-Serial 1/0]ppp chap user RTB // 配置本地名称 <R1>debugging ppp chap all <R1>terminal debugging
查看路由表 1 [H3C]display ip routing-table
OSPF协议 配置Router ID 1 2 3 <H3C>system-view [H3C]router id 1.1.1.1 // 配置路由器的router id为1.1.1.1 [H3C]undo router id // 删除router id
启动OSPF 1 2 3 4 5 6 [R1]router id 1.1.1.1 // 有时候不需要这一步 [R1]ospf // 启动ospf协议进程 [R1]undo ospf // 关闭ospf协议进程 reset ospf all process [R1-ospf-1]area 0 // 创建area 0区域视图 [R1-ospf-1]undo area 0 // 删除area0 [R1-ospf-1-area-0.0.0.0]network 1.1.1.0 0.0.0.255 // 指定网段运行OSPF协议,最重要, 前面是网段,后面是掩码取反
显示OSPF调试信息 1 2 3 4 <R1>debugging ospf event <R1>terminal debugging // 然后断线重连 <R1>reset ospf all process // 重启ospf进程
配置回环地址(LoopBack) 1 2 [h3c]inter loop 1 // 进入loopback1 [h3c-LoopBack1]ip addr 4.4.4.4 32 // 配置ip为4.4.4.4/32
配置串口(Serial) 路由器间不能使用以太网口直连,需要使用串口。
1 2 [R1]interface s 0/0 // 进入串口0/0,e就是serial [R1-Serial 0/0]ip addr 192.168.1.1 24
配置OSPF Cost 1 2 3 4 5 6 7 8 9 // 为VLAN配置ospf cost [R1]inter vlan 3 [R1-Vlan-Interface3]ospf cost 100 /// 配置ospf cost // 为端口配置ospf cost [R1]inter g 0/0 [R1-G..0/0]ospf cost 100 // 配置ospf cost // 为串口配置ospf cost [R1]inter s 0/0 // 进入串口 [R1-Serial0/0]ospf cost 200 // 配置ospf cost
配置缺省路由 1 2 [H3C]ip route-static 0.0.0.0 0.0.0.0 129.0.0.1 // 配置缺省路由器为129.0.0.1,和计算机网关的作用类似 第一个0.0.0.0目的网络地址,第二个0.0.0.0目的地址子网掩码,第三个129.0.0.1下一跳地址
查看OSPF LSDB(五类LSA如何查看) 1 2 3 4 5 6 display ospf lsdb # 所有LSA display ospf lsdb router # 第一类LSA display ospf lsdb network # 第二类LSA display ospf lsdb summary # 第三类LSA display ospf asbr # 第四类LSA,第五类过边界 display ospf ase # 第五类LSA,外部信息注入
排查故障指令 1 2 [R1]display ospf peer // 查看邻居路由器状态 [R1]reset ospf all // 重启ospf协议
路由引入(重点中的重点) 将静态路由或直连路由导入到动态路由协议中,使得其他路由器可以通过动态路由协议学习到这些路由。
直连路由:路由器的端口与127.0.0.1的连接,端口对应的网段与端口之间的连接
1 2 3 [S1-ospf]import-route direct // 引入直连路由 [R1]ip route-static 192.168.5.0 255.255.255.0 192.168.3.2 // 配置静态路由 [R1-ospf]import-route static // 引入静态路由
tracert tracert命令可以追踪经过的路由器路径,验证cost配置的正确性:
1 tracert {-d} 10.35.3.1 // PC可以使用-d,但是路由器和交换机似乎不支持
网络设备默认不回应tracert命令,因此需要手动开启:
1 2 [S1]ip ttl-expires enable [S1]ip unreachables enable
OSPF的五种报文以及其交互过程
路由器和交换机相连是某个网段相连,在这个网段下会选举路由器的接口作为DR,产生三类LSA;而两台路由器之间是点对点连接,无网段,无DR,BDR。 OSPF状态转移图:
BDR和DR选举过程: 在全连接网络中,Hello报文交换时选举,每台路由器拥有全部信息,则使用相同的算法就可以选举出DR和BDR。
BGP实验
启动BGP,并配置邻居(以上图为例),注入回环路由信息 1 2 3 4 5 6 7 8 9 10 11 [R1]bgp 100 // 在R1上启动BGP协议,AS号为100(重要) [R1]undo bgp [R1-bgp]peer 1.1.1.2 as-number 300 // 配置它的邻居IP,即与它相邻的路由器接口的IP地址与对应的AS号 [R1-bgp]address-family ipv4 unicast // 新版本要进入ipv4使能邻居,考试时必须注意 [R1-bgp-ipv4]peer 1.1.1.2 enable [R1]bgp 100 // 进入BGP视图 [R1-bgp]network 5.5.5.5 255.255.255.255 // 注入5.5.5.5/32网段的路由信息,令5.5.5.5通过bgp在不同AS间传播。目的地址,子网掩码 ///////////////////////////////// [S1]bgp 300 [S1-bgp]peer 1.1.1.1 as-number // 其余路由器同理,注意AS与邻居的AS
强制下一跳为本身接口(next-hop-local) 1 2 [S1-bgp]peer 3.1.1.2 next-hop-local // 强制下一跳为本身接口 *意思是由s1发出去的bgp信息的下一跳字段,如果是3.1.1.2(即从s2过来的),则改为本地接口*,这是由于在IGP内部没有配置OSPF导致的,如配置了OSPF则无问题
同一网段直接相连的两个接口可通过直连路由产生路由表
BGP协议状态转移
查看BGP路由表 1 [R1-bgp]display bgp routing-table // 查看BGP路由表
查看BGP邻居状态
debug信息,查看BGP协商过程 1 2 <R1>debugging bgp event <R1>terminal debugging
路由引入 1 2 [R1-bgp]import-route direct // 引入直连路由 [R1-bgp]import-route static // 引入直连路由
BGP路由聚合 1 2 3 4 5 [R1]bgp 100 [R1-bgp]aggregate 192.168.0.0 255.255.240.0 //通过具体路由和聚合路由 [R1-bgp]undo aggregate 192.168.0.0 255.255.240.0 [R1-bgp]aggregate 192.168.0.0 255.255.240.0 detail-supressed // 只通告聚合路由
路由策略 基于ACL的路由过滤 1 2 3 4 5 [R2]acl number 2001 [R2-acl-basic-2001]rule 0 deny source 5.0.0.0 0.255.255.255 [R2-acl-basic-2001]rule 1 permit source 0.0.0.0 255.255.255.255 [S2]bgp 300 [S2-bgp]peer 2.1.1.2 filter-policy 2001 export // 配置基于ACL的路由过滤
配置基于AS-Path的路由过滤 1 2 3 4 [S1]ip as-path 1 deny \b200$ // 设置拒绝来自AS200的路由 [S1]ip as-path 1 permit ^$ // 设置允许本AS的路由 [S1]bgp 300 [S1-bgp]peer 1.1.1.1 as-path-acl 1 export // 将1.1.1.1接口配置基于AS-Path的路由过滤,即令r1无法收到来自AS200的BGP信息,关键
配置基于Route Policy的路由过滤 1 2 3 4 5 6 7 8 9 10 11 [S1]acl number 2001 // number是v7 [S1-acl-basic-2001]rule 1 deny source 6.0.0.0 0.255.255.255 [S1-acl-basic-2001]rule 2 permit source any [S1-acl-basic-2001]quit [S1]route-policy deny6 permit node 10 // 配置route-policy内容 [S1-route-policy]if-match ip address acl 2001 [S1-route-policy]apply cost 888 [S1-route-policy]quit [s1]Bgp 300 [S1-bgp-default]address-family ipv4 unicast [S1-bgp-default-ipv4]peer 1.1.1.1 route-policy deny6 export
BGP四种报文 Open, KeepAlive, Update, Notification
BGP配置LocalPre和Med V5:
LocalPre: 是一个本地属性,用于在一个自治系统(AS)内部选择最佳路由,默认为100,越大越选择。
1 [R1-bgp]default local-preference xx
Med: 是一个用于跨 AS 边界的属性,用来告知相邻 AS 如何选择进入本 AS 的最佳路径。它主要用于在多条进入路径中选择优先级, 默认值为0,越小越选择。
V7:
LocalPre:
模拟题1 1 2 3 4 5 6 为使 4.4.4.4 -> 5.5.5.5 [R2]ip route-static 1.x.0.0 255.255.0.0 2.x.1.1 [S2]ip route-static 5.5.5.5 255.255.255.255 3.x.1.1 为使 5.5.5.5 -> 4.4.4.4 [S1]ip route-static 2.x.0.0 255.255.0.0 3.x.1.2 [S2]ip route-static 4.4.4.4 255.255.255.255 2.x.1.2
复杂组网de坑
将内部全部配好ospf与ibgp,注意边界端口的ip不要引入ospf中。
每个路由器/交换机的ospf中都要引入router id
非边界路由器只需配置内部全部peer即可(慢慢敲)
边界路由器需要做几项工作
配置内部全部peer
配置对端外部peer
将自己的ospf引入bgp. import-route ospf 1
将自己的边界端口对应ip引入bgp
如此可全网互通。
把VRRP配了(未检查,应该不太重要)
将全网联通 (配置路由器和交换机的指令记录)
将路由过滤,只保留192.168的路由
在边界路由器上配置
[R2]acl number 2001
[R2-acl-basic-2001]rule 0 permit source 192.168.0.0 0.0.255.255
[R2-acl-basic-2001]rule 1 deny source any
[S2]bgp <as号>
[S2-bgp]peer <跨as的peer> filter-policy 2001 export // 配置基于ACL的路由过滤
[S2-bgp]peer <跨as的peer> filter-policy 2001 import
将NAT配置
将优选路径配置