RouterOS v7.6 IPv6双栈配置实战:从光猫桥接到防火墙策略 📅 发布时间:2026/9/17 1:37:28 👁 浏览次数: 前阵子帮一个朋友调家里软路由他折腾了一晚上IPv6光猫拆了装、装了拆宽带师傅都被叫来两趟结果还是拿不到IPv6地址。我过去一看问题清清楚楚光猫虽然被改成了桥接但RouterOS的IPv6配置方式不对PPPoE拨号成功后默认网关拿到了v6地址内网却干干净净啥都没有。这种问题在RouterOS v7.6双栈配置里太典型了绝大多数人都卡在这一步。这篇内容就围绕RouterOS v7.6实战来写核心目标是帮你在最短时间内打通IPv4/IPv6双栈网络。什么场景下适用呢家用宽带、小型工作室、甚至分支办公室只要你的上游是光猫或ONT设备走PPPoE拨号或DHCP接入这套流程都能直接套用。我会从光猫桥接讲起一路讲到RouterOS的IPv6地址分配、DNS配置、防火墙策略最后把我在实际排障中踩过的坑也一并交代清楚确保你照着操作就能复现一个稳定跑通的IPv6环境。1. 先说结论为什么你的IPv6一直配置不上动手之前先别急着找配置命令很多人搞不定IPv6根子不在RouterOS而在接入侧。国内宽带目前主流接入方式就三种纯桥接、光猫路由模式、光猫路由桥接混合模式。你拿到的是哪一种直接决定了RouterOS里该怎么配。1.1 三个最容易被忽视的接入层真相第一个真相是运营商给光猫下发数据时经常把IPv6的使能开关和拨号方式都绑死在光猫管理后台里用户自己改桥接后有些参数并不会自动消失。比如部分光猫在桥接模式下会把IPv6的Prefix Delegation信息吃掉导致RouterOS即便拨上了PPPoE也拿不到可用的IPv6前缀。第二个真相是很多光猫所谓的“改桥接”其实是假桥接。它只是把WAN侧改成了桥接但LAN侧仍然在做DHCPv6-PD甚至还会在内网宣告自己的IPv6路由。这种半吊子状态会让RouterOS无所适从——下面还有一台设备在发RA路由器通告而RouterOS自己也想发RA两台设备抢活终端拿到的IPv6地址时有时无。第三个真相是IPv6的地址获取方式和IPv4完全不同。IPv4是路由器拨号拿公网地址然后做NAT让内网上网IPv6则有两个关键机制一个是WAN口获取地址GUA地址另一个是通过DHCPv6-PD或SLAAC把前缀下发到内网。很多人在RouterOS里只配了WAN口的IPv6地址没配内网侧的PD分发和RA通告终端当然什么也拿不到。这就像你给大楼接了自来水总管但没接楼层分支管道每家每户依然没水用。1.2 判断你的宽带当前属于哪种状态在你动手改任何配置之前先做一次清清爽爽的状态确认。我建议你直接打电话给宽带装维师傅问两件事一是这台光猫是否已改为桥接模式二是光猫的管理员账号密码是否默认可用。不要自己猜因为不同地区、不同型号的光猫差异极大甚至同一个运营商的不同批次光猫后台界面都长得不一样。拿到管理员权限之后进入光猫WAN侧配置页面看当前WAN连接的类型。如果只有一个连接且类型为PPPoE那么你处于纯路由模式如果有多个连接其中一个类型为Bridge则处于混合模式如果连接类型直接是Bridge就说明已经是桥接状态。记住这个判断后面RouterOS的配置方案会跟着这个结果走光猫状态特征RouterOS接入方式路由模式拨号在光猫侧完成光猫下发DHCP关闭RouterOS的PPPoE改DHCP客户端混合模式一个PPPoE连接一个Bridge连接拔掉路由器的WAN口线接Bridge对应LAN口RouterOS拨号纯桥接只有Bridge连接拨号完全交给下挂路由器RouterOS直接PPPoE拨号2. 光猫桥接动手指之前先搞清楚的三种模式光猫改桥接本身不复杂但里面有几个细节特别容易把人绕进去。先说说为什么很多人改完桥接反而上不了网。2.1 桥接的本质是把“拨号权”让渡给下级路由器光猫默认工作是“光电转换路由NATDHCP”四合一而桥接模式相当于把后三样全砍掉只保留光电转换和二层透传。这样一来PPPoE拨号的职责就从光猫转移到了你后端的RouterOS上。好处很明显路由器可以获得完整的公网IPv4地址而不是光猫私网地址IPv6方面也能拿到运营商分配的前缀实现真正的全内网IPv6可达。但代价也很直接一旦桥接完成光猫将彻底失去IP层功能。这意味着你不能再通过光猫的Web管理页看到拨号日志也不能再用光猫自带的WiFi上网因为WiFi功能在桥接下基本报废。所以如果你的光猫还兼职做无线AP改桥接之前一定要确认手中还有单独的AP或者RouterOS自带无线方案。2.2 光猫改桥接的具体操作与关键选项不同光猫管理界面不尽相同但核心操作是一致的。用管理员账号登录后进入WAN配置页面删除或停用原PPPoE连接新建一个Bridge类型的WAN连接绑定LAN1口同时关闭DHCP Server、关闭NAT功能。这里有个关键选项容易被忽略VLAN ID。国内运营商一般都在PPPoE上打了VLAN Tag比如电信常见VLAN 41、移动VLAN 10、联通VLAN 20等。改桥接时Bridge WAN连接里的VLAN ID必须和原PPPoE一致否则下挂路由器永远拨不上号。我在实际测试中遇到过一台华为HN8346V5光猫默认PPPoE的VLAN是41但Web界面里新建桥接时它自动生成了一条不带VLAN的新连接导致RouterOS PPPoE拨号一直超时。后来手动在光猫里把VLAN ID填回41问题立刻解决。另外有一部分光猫在改桥接后LAN1口会被重新划分到新的VLAN域如果你的RouterOS WAN线插在LAN1上没反应试一下换LAN2或LAN3部分光猫只有特定口绑定桥接业务。2.3 改完桥接之后必须先做的一次连通性验证光猫改完桥接先别急着配RouterOS的IPv6。用一台笔记本电脑直接插光猫LAN口手动建立一个PPPoE拨号连接Windows系统自带的宽带连接就可以填入宽带账号密码看能否成功获得IPv4地址。这一步排除掉光猫桥接是否成立。这一步测试同样能验证IPv6。拨号成功后在笔记本上打开命令行执行ipconfig /all如果PPP连接里有240e:、2408:、2409:开头的IPv6地址说明运营商给你的线路确实开通了IPv6。如果只有IPv4大概率是账号还没开IPv6权限或光猫桥接模板里剔除了IPv6协议此时再进光猫确认桥接连接是否勾选了IPv6协议族。我建议把这个验证当作铁律因为很多RouterOS配置不生效的问题根源压根不在RouterOS而是上游压根没给IPv6。搞定了这步后面全是顺水推舟的事。3. RouterOS v7.6 的IPv6双栈配置全过程这章是全文的核心。我将以一个典型家庭宽带场景为例光猫已改纯桥接RouterOS的WAN口接光猫LAN1PPPoE拨号内网走DHCPv4现在要把IPv6完整跑起来。3.1 先开启IPv6功能包并规划地址策略RouterOS v7.6默认是带IPv6支持包的不需要额外安装。但为了保险起见在命令行里执行一下/system package print确认列表里有ipv6这个包。如果是routeros默认安装版本一般都有如果是自行裁剪过的CHR或特殊固件可能没装。没有的话先安装并重启。接下来要考虑RouterOS给自己的接口分什么类型的IPv6地址。这里就涉及IPv6规划里的两个核心概念WAN口地址和LAN口前缀。WAN口地址用于RouterOS自身与上游通信需要从PPPoE拨号自动获取LAN口前缀则决定了你内网设备能拿到什么样的IPv6网段理想情况下应该走DHCPv6-PD从运营商分配的前缀里再划一段给内网。我见过不少配置教程直接让你给LAN口手动敲一条静态IPv6地址和前缀这在运营商前缀固定时没问题但现在很多地区用的是动态前缀PPPoE重拨后前缀就变了。所以正确的策略是让RouterOS成为DHCPv6客户端向上游申请前缀然后以内网RA和DHCPv6的方式地分给终端。3.2 PPPoE拨号下的IPv6配置三条命令搞定打开Winbox或SSH进入RouterOS先看当前WAN接口是怎么拨号的。假设你的PPPoE拨号接口叫pppoe-out1那IPv6侧我们只需要三步。第一步把IPv6的DHCP客户端配在pppoe-out1上让它能通过这个接口找到上游的DHCPv6服务器/ipv6 dhcp-client add interfacepppoe-out1 requestaddress,prefix pool-namepd-pool这里的requestaddress,prefixaddress表示向运营商申请一个WAN口的IPv6地址prefix表示申请前缀。申请到的前缀会放进名为pd-pool的池子里后续LAN侧从这个池子分配。第二步给内网接口绑定IPv6地址和RA通告。假设内网桥接口叫bridge/ipv6 address add address::1 from-poolpd-pool interfacebridge /ipv6 nd add interfacebridge ra-interval30s-1m ra-delay3s这条/ipv6 address命令等于把pd-pool中拿到的前缀挂到bridge接口上RouterOS自动把前缀划分给内网同时::1表示RouterOS自己在网段中的地址是第一个。/ipv6 nd这行开启内网接口的邻居发现和路由器通告功能。第三步因为RouterOS的RA默认是开启的但DHCPv6服务默认是关闭的内网设备若需要从DHCPv6拿额外参数就需要在桥接口配置DHCPv6服务端/ipv6 dhcp-server add interfacebridge address-poolpd-pool lease-time10m做完这三步理论上终端就能通过SLAAC自动获取IPv6地址了。SLAAC机制是终端根据RouterOS发出的RA报文自己生成IPv6地址不需要DHCPv6参与所以第三步的DHCPv6服务可以不开大多数场景下RA就够用。3.3 不同接入方式下的配置变体如果你的宽带是光猫路由模式即光猫本身在拨号RouterOS的WAN口只是做DHCPv4上网那么IPv6的配置思路完全不一样。这种情况下上游光猫会在它的LAN侧发送RARouterOS的WAN口可以直接通过SLAAC获得IPv6地址。同时如果运营商支持DHCPv6-PD光猫也会把自己分配到的前缀再往下分。RouterOS此时需要这样配置/ipv6 dhcp-client add interfaceether1 requestaddress,prefix pool-namepd-pool注意区别接口不再是pppoe-out1而是接入光猫的物理口或桥接口。并且如果你的光猫在发RA而RouterOS的WAN口又启用了DHCPv6客户端请求前缀这两者可能冲突。比较稳妥的做法是让光猫关闭RA功能或把RouterOS的WAN口IPv6的accept-ra设置为yes让它只接受RA而不主动请求前缀。还有一部分用户用的是光猫混合模式即光猫既拨号又做路由但还吐了一个Bridge口给RouterOS拨号。这种情况下RouterOS的PPPoE侧和DHCPv6-PD都能正常获取配置完全按纯桥接方案走即可。唯一要注意的是光猫的LAN侧如果还开着DHCPv6和RA内网设备可能同时收到来自光猫和RouterOS的IPv6路由通告造成地址打架。遇到这种情况去光猫里面直接把IPv6的RA和DHCPv6功能关掉。4. IPv6的防火墙策略双栈环境下的安全边界很多人觉得IPv6就是比IPv4多一串地址配完能通就行。这话大错特错。IPv6没有NAT的概念每一个内网设备拿到的都是全球单播地址理论上从互联网上任何一台机器都能主动发起连接访问你的终端。这跟IPv4时代躲在NAT后的体验完全不同。4.1 为什么IPv6的防火墙比IPv4更重要IPv4的NAT本身就是一道防火墙它把内网IP隐藏起来外部无法直接访问。虽然也有端口映射、DMZ这些主动开放的手段但默认是封闭的。到了IPv6RouterOS不会自动给你的内网设备做地址转换每个终端暴露在公网上如果没有防火墙规则等于把你家每扇门窗都敞开路人随便进出。所以RouterOS在开启了IPv6地址分配之后必须同步配置IPv6防火墙而且默认策略要设为丢弃输入drop input只允许必要的回应流量和主动外联流量通过。4.2 一套可以直接抄的IPv6防火墙方案在RouterOS v7.6里IPv6防火墙和IPv4防火墙是分开的需要在/ipv6 firewall下配置。我通常建议至少配以下三类规则。第一类放行已建立连接的回应流量和ICMPv6。IPv6的运行完全依赖ICMPv6包括邻居发现、路径MTU发现、重复地址检测等不能像IPv4那样粗暴丢弃但要放行得有节制/ipv6 firewall filter add chaininput actionaccept connection-stateestablished,related add chaininput actionaccept protocolicmpv6 limit100,5:second add chaininput actionaccept protocoludp dst-port546第一行让已经建立的连接回包能进来第二行放行受速率限制的ICMPv6防止泛洪第三行放行DHCPv6客户端使用的546端口确保RouterOS能从上游获取地址。第二类放行内网接口到本机的流量然后拒绝其他所有进入本机的流量。内网管理需要用到Winbox不放开的话你自己反而先把自己关在门外add chaininput in-interfacebridge actionaccept add chaininput actiondrop第三类处理转发流量。IPv6下内网设备访问外网的流量要放行从公网主动发起试图进入内网的流量则直接丢弃add chainforward connection-stateestablished,related actionaccept add chainforward in-interfacebridge actionaccept add chainforward actiondrop这套规则能保证内网设备可以访问任何外部IPv6资源同时外部设备无法主动连接到你的内网。如果你有需要对外提供服务的场景比如自建Web服务器可以在forward链里单独加一条指定目的地址的放行规则而不是整体打开防火墙。4.3 光猫残留防火墙导致的IPv6半通现象还有一种情况需要特别提醒光猫改桥接后部分光猫的IPv6防火墙仍然生效只是规则不再面向PPPoE链路而是面向桥接链路。这会导致一个很奇怪的现象你的RouterOS能从运营商拿到IPv6地址内网设备也能生成IPv6地址但外网就是Ping不通某些IPv6目标比如访问网关地址正常、访问部分网站超时。排查这类问题时先在RouterOS上执行/ping 2400:3200::1这类公网IPv6地址如果从RouterOS本身能通而内网设备不通就要检查光猫侧是否还有残留防火墙。最简单的方法是把光猫恢复出厂设置重新走一遍桥接配置并在光猫后台关闭所有安全过滤和防火墙功能。因为有相当多的光猫尤其是运营商定制版它的IPv6防火墙在桥接模式下并不会自动失效。5. 实测中高频踩坑记录与排查路径RouterOS的IPv6配置在熟练工手里确实是几分钟的事但新手折腾几个小时甚至一天都跑不通的案例比比皆是。这一章我把高频坑按频率从高到低给你拆开连同排查路径一起写明白这样你遇到类似问题时可以按顺序走不用重复试错。5.1 前缀拿到了内网依然是v4单栈最常见的现象是/ipv6 dhcp-client显示statusbound、前缀也拿到了但内网设备就是没有IPv6地址。这多半是NDNeighbor Discovery没有生效或者/ipv6 address没绑定到内网接口。我在帮朋友配置时就遇到过一次/ipv6 dhcp-client前缀是2a01:...没错但/ipv6 address打印出来发现桥接口上只有fe80::开头的链路本地地址全球单播地址根本没挂上去。原因是他用的RouterOS版本里from-pool参数写的是旧接口名而实际桥接口改名后没同步更新。排查方法在RouterOS命令行执行/ipv6 address print看bridge接口上是否出现2a01:开头的全球单播地址。如果没有检查/ipv6 dhcp-client print里的status是否bound以及绑定的前缀池是否存在于/ipv6 pool print中。如果池子存在但地址没挂上检查一下from-pool是否指向正确如果还不行就重启一下IPv6服务或重启路由器。这一步很多人忽略的坑是修改IPv6配置后需要重启RouterOS的DHCPv6客户端或发送一个renew请求否则前缀不会立即生效。你可以执行/ipv6 dhcp-client release [find] /ipv6 dhcp-client renew [find]来强制重新获取。如果/ipv6 address print里有全球单播地址但内网设备依然没有IPv6下一步检查RA是否正常。在RouterOS上执行/ipv6 nd print确认bridge接口对应的条目里disabledno并且ra-interval不是disabled状态。同时打开Wireshark或直接在终端上抓包看是否收到RouterOS发出的RA报文。5.2 终端能Ping通网关但访问外网超时这个问题在双栈环境下也很典型。终端能拿到IPv6地址甚至能Ping通RouterOS的IPv6地址但一访问公网IPv6资源就超时。出现这种情况先别急着查RouterOS先在RouterOS本机执行/ping 2400:3200::1。如果RouterOS本身也Ping不通则需要确认上游运营商是否有IPv6路由。要知道有些宽带虽然开通了IPv6但PPPoE拨号获得的IPv6地址是链路本地还是全局地址路由是否正常下发都可能存在差异。在RouterOS的/ipv6 route print中确认有一条默认路由gateway指向pppoe-out1。没有的话手动添加/ipv6 route add dst-address::/0 gatewaypppoe-out1如果RouterOS能Ping通公网但终端不行问题出在RA下发的DNS或路由策略上。检查终端的IPv6默认网关是否为RouterOS的链路本地地址Windows下用ipconfig /all看安卓在状态信息里看。如果默认网关不对多半是内网还有其他设备在发RA报文。5.3 光猫桥接后PPPoE拨号疯狂掉线在纯桥接方案下RouterOS的PPPoE拨号偶尔会掉线重连重连后IPv6前缀还会变。这种问题多半不是RouterOS的错而是光猫的桥接模式有个隐性bug——部分光猫在桥接状态下仍然会周期性发送某些管理报文干扰PPPoE会话。解决方案有三种。第一种换光猫LAN口把桥接业务绑定到其他口。第二种在光猫后台关闭Tr069管理通道和周期上报功能这个操作在不同光猫上名称不太一样有的叫“周期上报”有的叫“TR069”关掉后能明显减少PPPoE掉线频率。第三种在RouterOS的PPPoE拨号配置里增加LCP保活间隔比如/interface pppoe-client add namepppoe-out1 interfaceether1 userxxx passwordxxx use-ipv6yes lcp-interval5s lcp-maximum-failure3use-ipv6yes必须显式开启否则PPPoE链路不会再跑IPv6CP协商即使光猫侧支持IPv6RouterOS也无法从这个拨号接口获取IPv6地址。这三个字是我排查了几次之后才完全理解的坑。5.4 RouterOS的邻居表满溢与IPv6可达性下降IPv6不像IPv4有广播它靠邻居发现协议维护邻居表。如果内网设备数量多或者邻居表老化不及时RouterOS的IPv6邻居表可能会满导致新设备无法通信。这个问题在家庭场景较少但在小型办公网络、无线覆盖密集的场地很常见。遇到时执行/ipv6 neighbor print看条目总数如果是neighbor table full相关的错误则调大邻居表上限/ipv6 settings set max-neighbor-entries8192另外IPv6地址的可用时间也值得关注。RouterOS默认的RA报文会携带有效生命周期终端获取的地址会在生命周期耗尽后尝试续约。如果你在配置中出现地址过期导致没有IPv6的情况可以适当调大RA里的valid-lifetime/ipv6 nd add interfacebridge valid-lifetime1d preferred-lifetime12h6. 双栈网络验收与日常维护要点配置全部完成后建议按照一套标准流程对双栈网络做验收。不是所有能上网的IPv6都算合格必须满足三个条件能获取全球单播地址、能通过IPv6访问公网、能正确处理IPv6优先级的DNS解析。6.1 三分钟验收清单第一项检查RouterOS的IPv6状态/ipv6 dhcp-client print /ipv6 address print /ipv6 route print where dst-address::/0三个输出里分别能看到statusbound、全球单播地址和默认路由缺一不可。第二项从内网终端验证IPv6连通。Windows终端执行ipconfig /all确认以太网适配器下出现240e等开头的IPv6地址默认网关为RouterOS的链路本地地址。然后执行ping -6 2400:3200::1能通说明基础连通性OK。再执行ping -6 240e:95a:1002:1::1这类具体域名对应的IPv6地址没问题就说明DNS解析正常。第三项用线上IPv6测试站点做全面检测比如国内常见的IPv6测试页面它会检测你的浏览器是否能通过IPv6访问本网站、DNS是否能解析AAAA记录、以及IPv6地址是否处于可用状态。这一步能暴露很多细节问题比如某些浏览器在双栈环境下默认走IPv4服务商没有AAAA记录或者本地DNS无法解析IPv6域名。很多人在验收时只做了前两步觉得能Ping通就算成功结果打开某些网站还是慢、还是走IPv4就是因为DNS侧没有把AAAA记录接好。RouterOS v7.6默认对DNS的处理是v4和v6都支持但如果你在上面手动指定了IPv4 DNS它会优先走IPv4。建议在RouterOS的DNS设置里同时填上运营商的IPv6 DNS比如腾讯的2402:4e00::或者随便用一个可用的IPv6公共DNS。6.2 DNS与分流的细节调整实际使用中IPv6的主要价值不仅在于让终端拿到公网地址还在于提升访问速度和绕过运营商NAT层面的限制。这就有必要聊一下DNS的精细调整。RouterOS v7.6的DNS解析默认会在/ip dns里配置一组DNS服务器同时对IPv4和IPv6生效。在双栈网络里我建议把RouterOS作为内网设备的唯一DNS服务器然后让RouterOS向上游转发。具体做法是在DHCPv4和RA通告里都把DNS指到RouterOS的内网IPv4和IPv6地址比如192.168.88.1和fe80::1。然后RouterOS的上游DNS同时填IPv4和IPv6地址这样DNS解析会自动走最优路径。如果希望某些域名强制走IPv6可以在RouterOS的DNS静态记录里加上AAAA记录。但说实话现代浏览器和系统对双栈的处理已经比较成熟一般不需要人工干预。常见的“开启IPv6后浏览器卡顿”问题多数原因是IPv6路由质量差导致的超时等待而不是DNS问题。你可以在浏览器里观察Network面板看是不是有大量请求在IPv6上pending了很长时间后才fallback到IPv4如果是很大概率是上游IPv6路由绕路而不是你配置错误。6.3 日常维护和监控的实用习惯双栈网络配好之后日常维护的负担其实很小但有三个习惯值得养成。第一个习惯是关注前缀变化。如果你发现内网设备的IPv6地址隔段时间就变一次这是正常的前缀变了地址肯定会变。此时内网的SLAAC地址会自动更新但如果你有依赖固定IPv6地址的服务比如DDNS、远程串流、端口映射就要注意更新。建议启用RouterOS的IPv6 DDNS脚本定期把最新前缀推送到你的域名解析服务商。第二个习惯是定期检查防火墙日志。IPv6的暴露面比IPv4大即使防火墙策略正确也应养成查看/ipv6 firewall filter日志的习惯。尤其是发现某台设备流量异常时先到RouterOS上/log print where topics~ipv6揪出源头。第三个习惯是给RouterOS留一个稳定的管理通道。因为IPv6没有NAT你从外网用Winbox管理RouterOS时可以直接通过它的公网IPv6地址连接。但为了安全我建议管理端口只放行指定源IP或通过SSH密钥认证并限制在input链里只允许特定接口和地址访问。结尾补充我自己留着的两个小彩蛋说了这么多最后再分享两个我在实际维护中摸索出来的小技巧。第一个跟光猫有关。很多光猫改桥接之后本地管理地址会变成192.168.1.1但RouterOS的PPPoE拨号接口优先级更高你光猫的管理页面有时候就打不开了。解决方法是如果RouterOS的LAN口正好接在光猫的LAN口下面给RouterOS的LAN接口加一个同网段的辅助IP比如/ip address add address192.168.1.2/24 interfacebridge这样既能保持内网管理RouterOS又能随时进光猫后台。不过这个方案要求光猫的LAN口和RouterOS的LAN口在同一台交换机/桥接网络中网络拓扑复杂时慎用。第二个跟IPv6的DDNS有关。如果你用RouterOS做DDNS客户端你可能会发现它默认只更新IPv4记录。实际上RouterOS的/ip cloud服务在新版本中已经支持更新IPv6地址你只需要在/ip cloud ddns里设置use-ipv6yes。这样你就能通过一个域名稳定访问家里设备的IPv6公网地址实现远程管理、远程NAS访问这些功能不需要额外部署脚本。IPv6双栈本身不复杂大多数问题都出在接入侧和细节缺失上。希望这篇实战记录能帮你少走几个弯路也欢迎你在实际配置中发现问题后回来对照这个排障路径再走一遍——多踩几次坑你的RouterOS功力会提升得比看十篇教程都快。