烽火联通光猫路由模式外网访问内部服务方法

Leo 2023年11月06日 2,211次浏览

NOTE:此文需要具有一定的Linux操作系统知识 并在操作之前做好备份
NOTE2:改桥接不香吗

总所周知 现在的运营商一般会提供一个/64的公网IPV6 但是光猫上一般会有防火墙阻止外网通过端口访问内网服务 如果使用MTR会发现路由始终死在光猫那一跳 如果需要访问内网的服务(NAS) 就需要打通对应的端口

笔者使用的是广东联通 光猫中的超级管理员并无特定方法可以单独对IPV6做出调整 所以只能使用ip6tables调整对应策略

首先先获得光猫的MAC地址 开通TELNET

以下教程针对 烽火 吉比特 HG6142A 如果你的光猫为其他型号 恩山上开通TELNET的教程 可以自行搜索

arp -a 192.168.1.1

物理地址那一栏为你的MAC

http://192.168.1.1/telnet?enable=1&key=A06E784E8240  

将 A06E784E8240 替换成你的MAC地址 要大写

然后使用Xshell 或者Windows自带的Telnet登入

账号admin,密码是Fh@mac后六位(注意大小写),比如说MAC是 A06E784E8240 密码就是Fh@4E8240 输完直接回车(显示/var #就是登录成功)

在光猫路由模式中 FORWARD链的默认策略是DROP INPUT链的默认策略是ACCEPT 所以只要对FORWARD链调整

首先先尝试放通ICMPv6

默认FORWARD链中对于非BR接口是不接受的

Chain FORWARD_FIREWALL (1 references)
 pkts bytes target     prot opt in     out     source               destination         
 3602  375K ACCEPT     icmpv6    *      !br+    ::/0                 ::/0                 ipv6-icmptype 128

所以 当你想在外网进行Ping操作时 通常只能到PPP口(WAN)
因此 我们需要新建一条WAN TO LAN的规则

ip6tables -I FORWARD 1 -i ppp0 -o br0 -p icmpv6 --icmpv6-type echo-request -j ACCEPT

建立完成后 可以尝试的MTR一下内网的服务器 理论上应该不会在WAN口掉路由

放通对应端口

如果上述命令行得通 则可以尝试放通你所需要的端口(本文以13515为例)

ip6tables -I FORWARD 1 -i ppp0 -o br0 -p tcp --dport 13515 -j ACCEPT

这里的
-I FORWARD 1 表示将规则插入 FORWARD 链的最顶端。
-i ppp0 表示入站接口是 ppp0,通常是外部连接的接口。
-o br0 表示出站接口是 br0,通常是内部网络的接口。
-p tcp 指的是放通TCP流量 如果要放通所有流量可以选择 all
-j ACCEPT 表示接受匹配此规则的数据包。

自此 应该在外网可以访问内网的IPV6服务 可以在 https://tcp.ping.pe/ 确认一下