RT , 看到此贴, https://v2ex.com/t/875489
赶紧去 vps 上 telnet 下软路由的端口,果然是通的。目前软路由上跑的 kms homeassistant 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 1
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
|