旁路软路由 ipv6 裸奔是什么原因导致的

2022-08-26 13:19:44 +08:00
 cloudsigma2022

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

请问,最有可能问题出在哪里

3013 次点击
所在节点    宽带症候群
18 条回复
heiher
2022-08-26 13:37:16 +08:00
forward 都是放行的吧
kaedeair
2022-08-26 13:41:57 +08:00
最有可能是光猫防火墙不支持 ipv6
cloudsigma2022
2022-08-26 13:51:34 +08:00
@heiher 路由器 forward 默认都是放行的。
测试了下, 在 telnet 光猫的 ipv6 22 是不通的。而 telnet 软路由 ipv6 22 却是通的。
说明光猫 ipv6 防火墙是工作的,且 阻断了 wan 口 22 端口流量。而 通过 slaac 获取的 ipv6 的 下挂设备( n1 旁路),
因为不是自己的流量,会通过 forward 链 经 output 链 出去,到 n1 。

我估计,所有以同样的 lan - lan 方式连接的软路由都存在 裸奔的情况。
kaedeair
2022-08-26 14:52:37 +08:00
@cloudsigma2022 #3 有没有一种可能是光猫 telnet 只监听了 ipv4 的端口,如果结果为 refuse 说明没监听,为 timeout 说明防火墙工作
gkl1368
2022-08-26 14:55:02 +08:00
ipv6 slaac 下每个地址都是公网 ip
cloudsigma2022
2022-08-26 14:57:58 +08:00
@kaedeair 不是,listen 地址是 ::
cloudsigma2022
2022-08-26 15:03:48 +08:00
@gkl1368 貌似,光猫 防火墙不支持 ipv6 slaac 下给 每个下发的 slaac host 主机添加策略。只支持 分配给 光猫自己的 ipv6 。
cloudsigma2022
2022-08-26 15:05:46 +08:00
@kaedeair 在光猫上临时添加一条策略,ip6tables -I INPUT -p tcp --dport 22 -j ACCEPT ,插在最前面,在 vps 上 telnet 是通的
heiher
2022-08-26 15:09:04 +08:00
@cloudsigma2022

> 实测,修改光猫 forward 链 无效。

难道有 bypass netfilter 的 fwd 加速?
kaedeair
2022-08-26 15:09:11 +08:00
@cloudsigma2022 可能是由于省略了 nat 过程,导致直接走了 forward 链
cloudsigma2022
2022-08-26 15:11:25 +08:00
@kaedeair 不清楚,我是 ma5671 , 最新 205 固件。其他的桥接模式下,路由器拨号,应该也是一样的。
cwbsw
2022-08-26 16:09:42 +08:00
旁路由的拓扑,不管 IPv4/IPv6 ,防火墙策略都是要应用到主路由上的。
ltkun
2022-08-26 16:11:55 +08:00
是的 所以根本不需要内网穿透就可以访问所以 ipv6 设备了 很好很方便 配合 ipv6 的 ddns
respawn
2022-08-26 16:16:34 +08:00
echoo00
2022-08-26 16:18:17 +08:00
你软路由获取的地址 2408:823c:815 是公网地址,当时是通的;
在 IPV4 中,我们用的软路由一般都是私有 IP 地址啊,比如 192.168.X.X 之类的
gkl1368
2022-08-26 20:21:24 +08:00
@cloudsigma2022 ipv6 每个主机地址都是公网 ip ,不需要转换, 光猫的防火墙只能针对光猫的 ipv6 地址做策略。你应该在每个主机上针对 v6 地址做策略
cloudsigma2022
2022-08-26 20:53:48 +08:00
@gkl1368 这就比较操蛋了,每个 slaac host 都在裸奔。
Licsber
2022-08-26 23:06:59 +08:00
@cloudsigma2022 #17 可以看一下我的帖子
/t/875719
确实 SLAAC 都在裸奔 但是比起有状态还是安全一点

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/875570

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX