nftable 防火墙问题

2023 年 1 月 1 日
 rshun

路由器版本:openwrt 22.03
nftables 版本:v1.0.2 (Lester Gooch)

现在想法: 指定局域网内某个特定 IP 不允许访问百度, 但使用下面的 nftable 配置后, 该 IP 依旧能够访问

#!/usr/sbin/nft -f

flush ruleset

table inet mytable {
    chain filter{
        type filter hook output priority 0; policy accept;
        ip saddr {192.168.0.10/32} ip daddr {180.97.34.94,180.97.34.96} drop
    }
}

但是如果我把 ip saddr 这个特定 IP 去掉之后,所有局域网都无法访问 baidu 了,感觉 nftable 不能针对某个特定 IP 做控制

#!/usr/sbin/nft -f

flush ruleset

table inet mytable {
    chain filter{
        type filter hook output priority 0; policy accept;
        ip daddr {180.97.34.94,180.97.34.96} drop
    }
}
1760 次点击
所在节点    问与答
10 条回复
old9
2023 年 1 月 1 日
hook forward chain?
rshun
2023 年 1 月 1 日
forward 和 input 都试过了,都不生效
lekai63
2023 年 1 月 1 日
你那个特定 ip 是否通过代理访问了百度
rshun
2023 年 1 月 1 日
本机没有使用代理,在路由器上我把相关代理配置全部删除了,只保留上述的 nft 配置。
ysc3839
2023 年 1 月 1 日
既然是 OpenWrt ,又没用到 ipset 之类的功能,为什么不用 OpenWrt 自带的防火墙呢?
vmebeh
2023 年 1 月 1 日
自带防火墙切到 nft 了
old9
2023 年 1 月 1 日
```
chain FORWARD {
type filter hook forward priority 0; policy accept;
ip saddr {192.168.0.10/32} ip daddr {180.97.34.94,180.97.34.96} drop
}
```
lovelylain
2023 年 1 月 1 日
换 lean 的 lede ,继续用 iptables
tony1016
2023 年 1 月 1 日
你的 openwrt 是不是有 clash tun 啊,被压到 tun 里去了
rshun
2023 年 1 月 2 日
我大概知道是怎么回事了,hook output 是针对本机的,也就是路由器自身的 IP ,所以 ip saddr 指定是不生效的。
只能放到 forward 里面,但是这个 forward 是在 nat 的 prerouting 后面生效,所以如果走域名方式依然不生效,如果在浏览器中输入 IP 地址就生效了

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

https://study.congcong.us/t/905899

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

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

© 2021 V2EX