
RT , 看到此贴, https://v2ex.com/t/875489
赶紧去 vps 上 telnet 下软路由的端口,果然是通的。目前软路由上跑的 kms homeassisant nodered 等
[root@ss-us ~]# telnet 2408:823c:815: 1688 Trying 2408:823c:815:... Connected to 2408:823c:815. Escape character is '^]'. 检查了下 光猫 防火墙设置是 中等,改成高,也是一样。
环境如下:
光猫型号 ma5671 ,光猫拨号,slaac 方式获取 ipv6 ,旁路 n1 以 lan 方式接入 光猫 lan 。
ip6tables-save 如下。
WAP(Dopra Linux) # ip6tables-save # Generated by ip6tables-save v1.4.21 on Fri Aug 26 13:07:38 2022 *mangle :PREROUTING ACCEPT [496484:52300948] :INPUT ACCEPT [438743:40610139] :FORWARD ACCEPT [37366:5523943] :OUTPUT ACCEPT [446646:39067918] :POSTROUTING ACCEPT [484012:44591861] :POST_MODECONTROL - [0:0] :PRE_MODECONTROL - [0:0] -A PREROUTING -j PRE_MODECONTROL -A PREROUTING -i br+ -m mark --mark 0x102001 -j DROP -A POSTROUTING -j POST_MODECONTROL COMMIT # Completed on Fri Aug 26 13:07:38 2022 # Generated by ip6tables-save v1.4.21 on Fri Aug 26 13:07:38 2022 *filter :INPUT ACCEPT [2009:345878] :FORWARD ACCEPT [37366:5523943] :OUTPUT ACCEPT [446618:39065502] :FWD_FIREWALL - [0:0] :FWD_FIREWALL_CUST - [0:0] :FWD_IPFLT - [0:0] :FWD_IPFLT_DEFAULT - [0:0] :FWD_PORTMAP - [0:0] :FWD_PROTOCOL_FLT - [0:0] :FWD_REJECT - [0:0] :FWD_SERVICE - [0:0] :FWD_WANUPDOWN - [0:0] :INPUT_ACL - [0:0] :INPUT_ACL_WAN - [0:0] :INPUT_ACL_WAN_WHITELIST - [0:0] :INPUT_ACL_WHITELIST - [0:0] :INPUT_ACL_WIFI - [0:0] :INPUT_DOS - [0:0] :INPUT_FIREWALL - [0:0] :INPUT_PCP_WAN - [0:0] :INPUT_PROTOCOL_FLT - [0:0] :INPUT_SERVICE - [0:0] -A INPUT -j INPUT_PROTOCOL_FLT -A INPUT -j INPUT_ACL_WAN_WHITELIST -A INPUT -j INPUT_ACL_WHITELIST -A INPUT -j INPUT_ACL_WIFI -A INPUT -j INPUT_ACL_WAN -A INPUT -j INPUT_ACL -A INPUT -j INPUT_DOS -A INPUT -j INPUT_SERVICE -A INPUT -j INPUT_PCP_WAN -A INPUT -j INPUT_FIREWALL -A FORWARD -s fc00::/7 -i br+ -o ppp+ -j DROP -A FORWARD -s fc00::/7 -i br+ -o wan+ -j DROP -A FORWARD -j FWD_PROTOCOL_FLT -A FORWARD -j FWD_WANUPDOWN -A FORWARD -j FWD_REJECT -A FORWARD -j FWD_IPFLT -A FORWARD -j FWD_IPFLT_DEFAULT -A FORWARD -j FWD_SERVICE -A FORWARD -j FWD_PORTMAP -A FORWARD -j FWD_FIREWALL_CUST -A FORWARD -j FWD_FIREWALL -A OUTPUT -o ra+ -j DROP -A OUTPUT -o wl+ -j DROP -A FWD_WANUPDOWN -m rt --rt-type 0 -j DROP -A FWD_WANUPDOWN -o wan+ -m mark --mark 0x102001 -j DROP -A FWD_WANUPDOWN -o ppp+ -m mark --mark 0x102001 -j DROP -A INPUT_DOS -i wan+ -p ipv6-icmp -m icmp6 --icmpv6-type 128 -m limit --limit 100/sec --limit-burst 100 -j ACCEPT -A INPUT_DOS -i wan+ -p ipv6-icmp -m icmp6 --icmpv6-type 128 -j DROP -A INPUT_DOS -i ppp+ -p ipv6-icmp -m icmp6 --icmpv6-type 128 -m limit --limit 100/sec --limit-burst 100 -j ACCEPT -A INPUT_DOS -i ppp+ -p ipv6-icmp -m icmp6 --icmpv6-type 128 -j DROP -A INPUT_DOS -i wan+ -p ipv6-icmp -m icmp6 --icmpv6-type 137 -j DROP -A INPUT_DOS -i ppp+ -p ipv6-icmp -m icmp6 --icmpv6-type 137 -j DROP -A INPUT_FIREWALL -i wan+ -j DROP -A INPUT_FIREWALL -i ppp+ -j DROP -A INPUT_SERVICE -i ppp257 -p udp -m udp --dport 546 -j ACCEPT -A INPUT_SERVICE -i wan+ -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT_SERVICE -i ppp+ -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT_SERVICE -p ipv6-icmp -m icmp6 --icmpv6-type 133 -j ACCEPT -A INPUT_SERVICE -p ipv6-icmp -m icmp6 --icmpv6-type 134 -j ACCEPT -A INPUT_SERVICE -p ipv6-icmp -m icmp6 --icmpv6-type 135 -j ACCEPT -A INPUT_SERVICE -p ipv6-icmp -m icmp6 --icmpv6-type 136 -j ACCEPT -A INPUT_SERVICE -p ipv6-icmp -m icmp6 --icmpv6-type 141 -j ACCEPT -A INPUT_SERVICE -p ipv6-icmp -m icmp6 --icmpv6-type 142 -j ACCEPT COMMIT 请问,最有可能问题出在哪里
实测,修改光猫 forward 链 无效。
必须要在 slaac host 上,即 旁路路由 n1 上添加策略。
如 禁止访问 1688 端口。用 -I 插入,放在最前面,根据需要添加 -s 指定地址。
ip6tables -I INPUT -p tcp --dport 1688 -j ACCEPT 1 heiher 2022-08-26 13:37:16 +08:00 via Android forward 都是放行的吧 |
2 kaedeair 2022-08-26 13:41:57 +08:00 最有可能是光猫防火墙不支持 ipv6 |
3 cloudsigma2022 OP @heiher 路由器 forward 默认都是行的。 测试了下, 在 telnet 光猫的 ipv6 22 是不通的。而 telnet 软路由 ipv6 22 却是通的。 说明光猫 ipv6 防火墙是工作的,且 阻断了 wan 口 22 端口流量。而 通过 slaac 获取的 ipv6 的 下挂设备( n1 旁路), 因为不是自己的流量,会通过 forward 链 经 output 链 出去,到 n1 。 我估计,所有以同样的 lan - lan 方式连接的软路由都存在 裸奔的情况。 |
4 kaedeair 2022-08-26 14:52:37 +08:00 @cloudsigma2022 #3 有没有一种可能是光猫 telnet 只监听了 ipv4 的端口,如果结果为 refuse 说明没监听,为 timeout 说明防火墙工作 |
5 gkl1368 2022-08-26 14:55:02 +08:00 ipv6 slaac 下每个地址都是公网 ip |
6 cloudsigma2022 OP @kaedeair 不是,listen 地址是 :: |
7 cloudsigma2022 OP @gkl1368 貌似,光猫 防火墙不支持 ipv6 slaac 下给 每个下发的 slaac host 主机添加策略。只支持 分配给 光猫自己的 ipv6 。 |
8 cloudsigma2022 OP @kaedeair 在光猫上临时添加一条策略,ip6tables -I INPUT -p tcp --dport 22 -j ACCEPT ,插在最前面,在 vps 上 telnet 是通的 |
9 heiher 2022-08-26 15:09:04 +08:00 |
10 kaedeair 2022-08-26 15:09:11 +08:00 @cloudsigma2022 可能是由于省略了 nat 过程,导致直接走了 forward 链 |
11 cloudsigma2022 OP @kaedeair 不清楚,我是 ma5671 , 最新 205 固件。其他的桥接模式下,路由器拨号,应该也是一样的。 |
12 cwbsw 2022-08-26 16:09:42 +08:00 旁路由的拓扑,不管 IPv4/IPv6 ,防火墙策略都是要应用到主路由上的。 |
13 ltkun 2022-08-26 16:11:55 +08:00 via Android 是的 所以根本不需要内网穿透就可以访问所以 ipv6 设备了 很好很方便 配合 ipv6 的 ddns |
14 respawn 2022-08-26 16:16:34 +08:00 |
15 echoo00 2022-08-26 16:18:17 +08:00 你软路由获取的地址 2408:823c:815 是公网地址,当时是通的; 在 IPV4 中,我们用的软路由一般都是私有 IP 地址啊,比如 192.168.X.X 之类的 |
16 gkl1368 2022-08-26 20:21:24 +08:00 @cloudsigma2022 ipv6 每个主机地址都是公网 ip ,不需要转换, 光猫的防火墙只能针对光猫的 ipv6 地址做策略。你应该在每个主机上针对 v6 地址做策略 |
17 cloudsigma2022 OP @gkl1368 这就比较操蛋了,每个 slaac host 都在裸奔。 |
18 Licsber 2022-08-26 23:06:59 +08:00 |