首页 / 资讯中心 / 文章详情

BDCOM路由器从零配置实战:接口、路由、NAT与ACL完整指南

BDCOM路由器从零配置实战:接口、路由、NAT与ACL完整指南 ★ FEATURED ARTICLE
1. 从一台二手设备说起为什么还要折腾BDCOM路由手里这台BDCOM路由器是朋友公司淘汰下来的型号不算新但做工扎实接口齐全扔了可惜。拿回来之后我琢磨着能不能把它用起来做个小型的边界网关或者实验环境里的核心路由。BDCOM这个品牌在企业网和运营商边缘接入场景里其实挺常见的尤其是早期的一些项目里很多中小企业和园区网都部署过它家的设备。但说实话网上关于BDCOM路由配置的中文资料并不算多大部分都是零散的论坛帖或者简短的命令手册缺少一套从零开始的完整思路。这篇文章就是把我自己折腾这台设备的过程完整记录下来。从最基础的管理口连接、命令行界面熟悉到接口配置、静态路由、动态路由协议再到NAT和访问控制列表的落地每一步我都会把命令、参数含义、以及我踩过的坑写清楚。如果你手里正好有一台BDCOM设备或者你所在的环境里还在跑这类路由器那这篇内容应该能帮你省下不少查资料的时间。即使你用的是其他品牌的路由器底层的路由逻辑和配置思路也是相通的完全可以参考。我默认你已经有基本的网络基础知道IP地址、子网掩码、网关这些概念但不需要你精通路由协议。我会尽量用生活化的类比来解释那些容易混淆的地方比如为什么静态路由和动态路由要配合使用为什么NAT的转换顺序会影响访问控制列表的匹配结果。整个配置过程我会在一台实验设备上实际跑一遍所有命令都是经过验证的你可以直接抄作业。2. 开工前的准备连接方式与初始环境搭建2.1 物理连接与控制台接入BDCOM路由器通常提供多种管理方式最常见的是通过Console口进行本地管理另外还有Telnet和SSH的远程管理方式。我建议第一次配置时一定要用Console线连接因为设备出厂时可能没有配置任何IP地址远程管理根本连不上。Console线一般是一根USB转RJ45的线缆或者一端是DB9串口另一端是RJ45。现在很多电脑没有串口了所以USB转串口的转接线是必备的。连接好线缆之后在电脑上打开终端软件。Windows平台可以用PuTTY或者SecureCRTLinux和macOS直接用screen或者minicom。串口参数一般是波特率9600数据位8停止位1无校验无流控。这个参数在BDCOM的设备上基本是默认的如果连上去之后出现乱码先检查波特率是不是设成了115200或者其他值。我遇到过一台设备被上一任管理员改过波特率折腾了十几分钟才反应过来。注意Console线连接时路由器的电源要先关闭接好线再上电这样能看到完整的启动自检信息。如果设备已经在运行直接按回车键通常也能唤醒命令行界面。上电之后终端窗口会滚动显示启动信息包括BootROM版本、内存大小、接口数量等。等到出现类似“Press RETURN to get started”或者直接出现提示符的时候按一下回车就能进入用户模式。BDCOM的命令行界面和主流网络设备类似分为用户模式、特权模式和全局配置模式。用户模式下提示符是“”特权模式是“#”全局配置模式是“(config)#”。这个层级设计和Cisco的设备很像如果你之前接触过Cisco或者华为的设备上手会非常快。2.2 命令行基础操作与模式切换进入用户模式后输入enable命令进入特权模式。如果设备设置了特权密码会提示输入。出厂设备一般没有密码直接回车即可。进入特权模式后输入configure terminal进入全局配置模式这时候就可以开始修改配置了。BDCOM的命令支持Tab键补全和问号帮助这两个功能在记不住命令的时候非常有用。比如你输入“sh”然后按Tab系统会自动补全为“show”再按问号会列出所有以show开头的命令。这里我要强调一个习惯每次修改配置之前先用show running-config命令查看当前生效的配置并且把输出保存到本地文件。因为一旦配置错误导致网络中断你可能连不上设备只能通过Console口恢复。我自己的做法是在电脑上建一个文本文件把每次修改前的配置都粘贴进去标注日期和修改内容。这个习惯在后来排查问题时帮了我大忙因为可以清楚地知道哪次改动引入了故障。另外BDCOM设备支持配置回滚功能但需要提前开启。在全局配置模式下输入archive命令可以进入归档配置模式设置归档路径和触发条件。这个功能相当于给配置加了一个版本管理出问题的时候可以快速回退到之前的版本。不过对于实验环境来说手动备份就足够了。2.3 设备基础信息查看与接口识别在动手配置之前先摸清设备的家底。用show version查看硬件型号、软件版本和运行时间。用show interface查看所有物理接口的状态包括接口名称、IP地址、速率、双工模式等。BDCOM的接口命名规则一般是“GigabitEthernet0/1”或者“FastEthernet0/1”这种格式斜杠前面的数字代表槽位后面的代表端口号。有些模块化设备还有子接口的概念比如“GigabitEthernet0/1.100”表示VLAN 100的子接口。用show ip interface brief可以快速查看所有接口的IP地址和状态这个命令在排查接口是否up的时候特别方便。如果某个接口显示“administratively down”说明被手动关闭了需要进入接口配置模式用no shutdown命令开启。如果显示“down”说明物理链路有问题检查网线或者光模块。我遇到过一种情况接口状态是up但协议是down最后发现是双工模式不匹配一端是全双工一端是半双工改成自动协商或者强制全双工就解决了。提示在实验环境里我建议先把所有不用的接口都shutdown掉只保留需要使用的接口。这样可以减少广播风暴的风险也能让show命令的输出更干净。3. 接口配置与基础路由打通3.1 物理接口IP地址配置接口配置是路由器的基本功。进入接口配置模式的命令是interface后面跟接口名称比如interface GigabitEthernet0/1。进入之后用ip address命令配置IP地址和子网掩码。BDCOM支持点分十进制掩码和前缀长度两种写法比如ip address 192.168.1.1 255.255.255.0或者ip address 192.168.1.1/24都可以。我习惯用前缀长度写起来更简洁。配置完IP地址后接口默认是关闭的需要用no shutdown命令开启。开启之后用show ip interface brief确认接口状态变成了up/up。如果只是up/down说明物理层通了但数据链路层有问题检查一下对端设备的配置。如果是down/down那就是物理链路的问题检查网线、光模块或者端口是否损坏。这里有一个细节需要注意BDCOM路由器的接口默认是二层交换口还是三层路由口取决于设备型号和配置。有些低端型号的接口默认是交换口需要先用switchport命令切换到路由模式或者用no switchport命令。如果不确定可以先用show interface命令查看接口的当前模式。我在这台设备上就遇到了这个问题接口默认是交换模式配了IP地址之后发现不生效后来用no switchport切换成路由模式才正常。3.2 环回接口与子接口的应用环回接口是一个虚拟的逻辑接口不依赖物理链路只要设备正常运行它就一直是up状态。配置环回接口的命令是interface loopback后面跟编号比如interface loopback 0。环回接口通常用来做管理地址、路由协议的Router ID或者用于测试。我习惯给每台设备配一个环回接口地址用10.x.x.x这样的私有地址段方便远程管理和监控。子接口是在一个物理接口上创建多个逻辑接口常用于单臂路由或者VLAN间路由的场景。配置子接口的命令是interface GigabitEthernet0/1.100后面的数字是子接口编号通常和VLAN ID对应。子接口需要封装802.1Q协议用encapsulation dot1q命令指定VLAN ID。比如encapsulation dot1q 100表示这个子接口处理VLAN 100的流量。子接口的IP地址就是对应VLAN的网关地址。注意子接口的物理父接口不需要配置IP地址但需要确保父接口是up状态。如果父接口down了所有子接口也会跟着down。另外子接口的VLAN ID必须和对端交换机上配置的VLAN ID一致否则流量无法正确封装和解封装。3.3 静态路由配置与默认路由静态路由是手动指定的路由条目格式是ip route 目标网络 子网掩码 下一跳地址。比如ip route 192.168.2.0 255.255.255.0 10.0.0.2表示去往192.168.2.0/24的流量下一跳是10.0.0.2。静态路由的优点是简单、可控、不占用设备资源缺点是网络拓扑变化时需要手动修改。在小型网络或者边界路由器上静态路由是非常常见的选择。默认路由是一种特殊的静态路由目标网络是0.0.0.0子网掩码也是0.0.0.0表示所有没有匹配到具体路由的流量都走这条路径。配置命令是ip route 0.0.0.0 0.0.0.0 下一跳地址。默认路由通常指向运营商的网关或者上级路由器。在BDCOM设备上默认路由的管理距离默认是1如果你同时配置了动态路由协议需要注意管理距离的优先级。我在这台设备上配置了两条静态路由一条去往内部服务器网段一条默认路由指向实验室的出口网关。配置完之后用show ip route查看路由表确认路由条目已经生效。这里有一个容易忽略的地方如果下一跳地址不可达静态路由不会出现在路由表里。所以配置静态路由之前先确认下一跳地址所在的网段是直连的或者有其他的路由能到达下一跳。3.4 路由表查看与连通性测试配置完接口和路由之后用show ip route查看路由表。路由表里的条目会标注路由来源比如“S”表示静态路由“C”表示直连路由“R”表示RIP路由“O”表示OSPF路由。直连路由是接口配置IP地址后自动生成的不需要手动配置。如果路由表里缺少某条路由检查一下接口是否up、下一跳是否可达、路由配置是否正确。连通性测试用ping命令可以指定源地址或者源接口。比如ping 192.168.2.1 source 192.168.1.1表示从192.168.1.1这个地址发起ping测试。如果ping不通先用traceroute命令查看数据包在哪一跳丢失了。traceroute会显示每一跳的IP地址和响应时间能快速定位故障点。我遇到过一种情况ping不通但traceroute能到最后一跳最后发现是目标设备的防火墙拦截了ICMP报文这种情况需要检查目标设备的访问控制策略。提示在BDCOM设备上ping命令默认发送5个报文可以用ping -c 10指定发送数量用ping -s 1500指定报文大小。测试MTU的时候可以用ping -s 1472 -f命令其中-f表示不分片如果能ping通说明MTU至少是1500。4. 动态路由协议的选择与落地4.1 OSPF协议的基础配置静态路由适合小型网络但当网络规模变大、拓扑经常变化时动态路由协议就更合适了。OSPF是应用最广泛的内部网关协议之一BDCOM设备对OSPF的支持很完善。配置OSPF的基本步骤是先开启OSPF进程指定Router ID然后在接口上宣告网络。Router ID是一个32位的标识符通常用环回接口的IP地址或者手动指定。命令是router ospf 1然后router-id 1.1.1.1。宣告网络的命令是network 192.168.1.0 0.0.0.255 area 0其中0.0.0.255是反掩码area 0是区域号。反掩码和子网掩码是相反的比如子网掩码255.255.255.0对应的反掩码是0.0.0.255。这个设计一开始容易搞混记住“0表示匹配1表示忽略”就行了。所有需要运行OSPF的接口都要宣告否则OSPF不会在那个接口上发送和接收Hello报文。OSPF的邻居关系建立需要几个条件接口的Hello和Dead时间间隔一致、区域号一致、认证方式一致、MTU一致。如果邻居关系卡在Init或者ExStart状态通常是这些参数不匹配。用show ip ospf neighbor查看邻居状态正常的稳定状态是Full。如果一直停留在2-Way说明双方都是DRother没有选举DR和BDR这在点对点网络中通常没问题但在广播网络中需要检查DR选举。4.2 RIP协议的适用场景与配置RIP是一个距离矢量协议最大跳数限制是15跳超过15跳认为不可达。RIP的配置比OSPF简单适合小型网络。命令是router rip然后version 2开启版本2network 192.168.1.0宣告网络。RIP版本2支持VLSM和组播更新比版本1更实用。不过RIP的收敛速度慢而且有路由环路的风险所以现在用得越来越少了。我在这台设备上没有用RIP因为实验环境里已经有OSPF了。但如果你面对的是一个非常简单的网络比如只有两三个路由器串联RIP的配置成本确实比OSPF低。需要注意的是RIP默认每30秒发送一次全路由表更新在网络不稳定的时候会产生大量广播流量。可以通过passive-interface命令把不需要发送更新的接口设为被动接口只接收不发送。4.3 路由重分发与协议优先级在实际网络中经常需要同时运行多种路由协议比如内部用OSPF边界用静态路由或者BGP。这时候就需要路由重分发把一种协议的路由信息导入到另一种协议中。BDCOM设备支持在OSPF进程中用redistribute static命令把静态路由导入OSPF或者用redistribute connected导入直连路由。重分发的时候可以指定metric值因为不同协议的路由度量方式不同OSPF用开销值RIP用跳数。管理距离是路由器选择路由来源的优先级指标数值越小越优先。直连路由的管理距离是0静态路由默认是1OSPF是110RIP是120。如果同一个目标网络同时有静态路由和OSPF路由路由器会优先选择静态路由。这个机制在路由重分发的时候要特别注意避免出现次优路径或者路由环路。我一般会在重分发的时候加route-map过滤只导入需要的路由避免把不该传播的路由也导入进去。注意路由重分发是一个容易出问题的环节配置不当可能导致路由环路或者网络中断。建议在实验环境里先验证确认路由表符合预期之后再应用到生产环境。另外重分发的时候要特别注意双向重分发的情况必须用route-map或者distribute-list做过滤否则两种协议之间会互相学习形成环路。5. NAT与访问控制列表的实战配置5.1 静态NAT与动态NAT的配置差异NAT是网络地址转换的缩写主要用来解决私有地址访问公网的问题。BDCOM路由器支持静态NAT和动态NAT两种方式。静态NAT是一对一的映射把内部的一个私有地址固定映射到一个公网地址。配置命令是ip nat inside source static 192.168.1.10 200.1.1.10表示把192.168.1.10映射到200.1.1.10。静态NAT通常用于内部服务器需要对外提供服务的情况。动态NAT是多对多的映射从一个地址池里动态分配公网地址。配置步骤是先用ip nat pool命令定义地址池比如ip nat pool mypool 200.1.1.10 200.1.1.20 netmask 255.255.255.0然后用access-list定义哪些内部地址需要转换最后用ip nat inside source list命令绑定。动态NAT的缺点是地址池里的地址数量有限如果并发连接数超过地址池大小新的连接就无法建立。还有一种更常用的方式是PAT也叫端口地址转换或者NAT重载。PAT把多个内部地址映射到一个公网地址的不同端口上这样只需要一个公网地址就能支持大量内部用户上网。配置命令是ip nat inside source list 1 interface GigabitEthernet0/0 overload其中overload关键字表示启用PAT。这是家庭和小型企业网络里最常见的NAT方式。5.2 访问控制列表的匹配逻辑与部署位置访问控制列表是一组规则的集合用来匹配流量并决定放行还是丢弃。BDCOM支持标准ACL和扩展ACL。标准ACL只匹配源IP地址编号范围是1到99扩展ACL可以匹配源IP、目的IP、协议类型、端口号等编号范围是100到199。配置ACL的命令是access-list 100 permit tcp 192.168.1.0 0.0.0.255 any eq 80表示允许192.168.1.0/24网段的流量访问任意地址的80端口。ACL的匹配逻辑是从上到下逐条匹配一旦匹配到某条规则就执行相应动作不再继续往下匹配。所以规则的顺序非常重要具体的规则要放在前面宽泛的规则放在后面。每条ACL末尾都有一条隐式的deny any表示所有没有匹配到的流量都被丢弃。如果你希望默认放行需要在末尾显式添加permit any规则。ACL的部署位置也有讲究。标准ACL因为只匹配源地址应该尽量靠近目的端部署否则会误杀其他流量。扩展ACL因为匹配条件更精确可以靠近源端部署尽早过滤掉不需要的流量节省带宽。我在这台设备上把扩展ACL应用在入口方向只允许特定的流量进入其他一律丢弃。应用ACL的命令是ip access-group 100 in或者ip access-group 100 out分别表示入口方向和出口方向。5.3 NAT与ACL的配合使用及顺序问题NAT和ACL经常一起使用但它们的处理顺序会影响最终结果。在BDCOM设备上数据包的处理顺序是先匹配入口方向的ACL然后进行路由查找然后进行NAT转换最后匹配出口方向的ACL。这个顺序意味着如果你在入口方向用ACL匹配了内部地址然后在NAT里也引用了同一个ACL那么ACL的匹配是在NAT转换之前发生的。所以ACL里写的地址应该是转换前的内部地址而不是转换后的公网地址。我在这台设备上配置PAT的时候先定义了一个标准ACL匹配内部网段然后在NAT语句里引用这个ACL。同时在外部接口的入口方向应用了一个扩展ACL只允许已建立的连接回包。这里的关键是established关键字它匹配那些已经建立了双向连接的流量防止外部主动发起的连接进入内部网络。配置命令是access-list 100 permit tcp any any established。提示调试NAT的时候用show ip nat translations查看当前的转换表用show ip nat statistics查看转换统计信息。如果转换表里没有条目检查ACL是否匹配、接口是否正确标记了inside和outside。我遇到过一种情况接口忘记标记ip nat inside导致NAT不生效排查了半天才发现是这个小问题。6. 常见故障排查与经验总结6.1 接口不up的排查思路接口不up是最常见的故障之一。排查的时候按照从物理层到应用层的顺序来。先检查物理连接网线是否插好、光模块是否正常、对端设备是否开机。然后用show interface命令查看接口的详细状态关注以下几个字段line protocol is up/down表示数据链路层状态bandwidth表示带宽duplex表示双工模式speed表示速率。如果line protocol是down通常是物理层或者数据链路层的问题。双工模式不匹配是一个隐蔽的故障原因。一端是全双工另一端是半双工接口可能显示up但实际通信质量很差表现为丢包严重、延迟高。用show interface命令查看duplex字段如果显示“Half-duplex”而另一端是“Full-duplex”就需要手动统一。我一般建议在实验环境里手动指定双工模式和速率避免自动协商带来的不确定性。命令是duplex full和speed 1000。还有一种情况是接口被shutdown了。用show running-config查看接口配置如果看到“shutdown”字样进入接口配置模式用no shutdown开启即可。有些设备在启动时会默认关闭所有接口需要手动开启。另外如果接口配置了ACL或者策略路由也可能导致流量被丢弃但接口状态本身是up的。这种情况需要用show ip interface查看接口的ACL应用情况。6.2 路由不生效的排查步骤路由不生效的表现是ping不通目标网络或者traceroute在某一跳中断。排查的时候先看路由表show ip route查看是否有到达目标网络的路由条目。如果没有检查路由配置是否正确、下一跳是否可达、接口是否up。如果有路由条目但ping不通检查下一跳设备是否有回程路由。回程路由是经常被忽略的问题数据包能过去但回不来表现就是ping不通。动态路由协议的问题通常出在邻居关系上。用show ip ospf neighbor查看邻居状态如果是Full状态但路由没学到检查网络宣告是否正确、区域号是否匹配。如果是Init或者ExStart状态检查Hello和Dead时间、MTU、认证配置。我遇到过一种情况两台设备的MTU不一致OSPF邻居卡在ExStart状态把MTU改成一致后邻居关系立刻恢复正常。路由重分发的问题更隐蔽一些。如果从OSPF重分发到静态路由但静态路由没有出现在OSPF的路由表里检查redistribute命令是否配置正确、metric值是否设置。有些协议重分发的时候必须指定metric否则不会生效。另外重分发的时候要注意过滤避免把不该传播的路由导入导致路由环路或者次优路径。6.3 配置丢失与恢复的应急处理配置丢失通常发生在设备重启或者断电之后。如果设备没有保存配置重启后会恢复到出厂设置或者上一次保存的配置。避免这个问题的方法很简单每次修改配置后在特权模式下用write memory或者copy running-config startup-config保存配置。BDCOM设备保存配置需要几秒钟期间不要断电。如果配置已经丢失可以通过Console口重新配置。如果之前有备份配置文件可以用TFTP或者USB恢复。BDCOM设备支持通过TFTP服务器上传和下载配置文件命令是copy tftp startup-config。需要提前在电脑上搭建TFTP服务器把备份的配置文件放在服务器目录里。恢复之后用reload命令重启设备配置就会生效。注意恢复配置之前先确认备份文件的版本和设备当前的软件版本兼容。不同版本的配置文件格式可能有差异直接恢复可能导致设备无法正常启动。我建议在恢复之前先用show version确认软件版本然后找对应版本的配置文件。6.4 常用排查命令速查表排查场景命令说明查看接口状态show ip interface brief快速查看所有接口的IP和状态查看接口详情show interface GigabitEthernet0/1查看指定接口的详细统计信息查看路由表show ip route查看当前生效的路由条目查看OSPF邻居show ip ospf neighbor查看OSPF邻居关系和状态查看NAT转换show ip nat translations查看当前的NAT转换表查看ACL匹配show ip access-lists查看ACL规则和匹配计数测试连通性ping 目标地址 source 源地址指定源地址发起ping测试路径追踪traceroute 目标地址查看数据包经过的每一跳保存配置write memory把当前配置保存到启动配置查看配置show running-config查看当前生效的配置这张表里的命令是我在日常排查中最常用的基本上覆盖了80%的故障场景。建议把这张表打印出来贴在工位上遇到问题的时候按顺序排查能省下不少时间。7. 一些零散但重要的实操心得配置BDCOM路由器的过程中我积累了一些不太容易在文档里找到的经验。比如BDCOM的命令行支持命令缩写只要缩写是唯一的就能执行。比如“sh ip int br”就是“show ip interface brief”的缩写熟练之后能大幅提高配置速度。但要注意缩写不能有歧义否则设备会提示“Ambiguous command”。另一个心得是关于配置注释的。BDCOM支持在配置里加注释用感叹号“!”开头。我习惯在每个配置段前面加注释说明这段配置的用途和修改日期。这样过几个月再回头看能快速理解当时的配置意图。注释不会影响设备运行但能让配置文件更可读。还有一点是关于日志的。BDCOM设备支持把日志发送到Syslog服务器配置命令是logging host 服务器地址。把日志集中收集起来出问题的时候可以回溯。我在这台设备上配置了日志级别为informational这样能记录接口up/down、路由变化等关键事件又不会产生太多无用日志。日志级别从0到7数字越大越详细informational是6debugging是7。生产环境一般用informational或者warning级别。最后说一个关于密码恢复的。如果忘记了特权密码可以通过Console口在启动过程中进入BootROM模式然后修改配置寄存器跳过密码检查。具体步骤是重启设备在启动信息出现时按CtrlBreak进入BootROM然后修改配置寄存器的值重启后进入特权模式再修改密码并恢复配置寄存器。这个过程需要小心操作因为不同型号的BootROM命令可能不一样。我建议在操作之前先查一下对应型号的文档避免把设备搞成砖。这台BDCOM路由器现在跑得很稳承担了实验室的边界路由和NAT转换任务。整个配置过程虽然遇到了一些小波折但整体来说BDCOM的命令行逻辑清晰文档虽然不多但够用。如果你手里也有类似的设备不妨拿出来折腾一下比放在角落里吃灰强得多。
阅读完成 · 觉得有帮助?
咨询建站