V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
rshun
V2EX  ›  问与答

nftable 防火墙问题

  •  
  •   rshun · 85 天前 · 908 次点击
    这是一个创建于 85 天前的主题,其中的信息可能已经有所发展或是发生改变。

    路由器版本: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
        }
    }
    
    10 条回复    2023-01-02 10:38:41 +08:00
    old9
        1
    old9  
       85 天前
    hook forward chain?
    rshun
        2
    rshun  
    OP
       85 天前   ❤️ 1
    forward 和 input 都试过了,都不生效
    lekai63
        3
    lekai63  
       85 天前 via iPhone
    你那个特定 ip 是否通过代理访问了百度
    rshun
        4
    rshun  
    OP
       85 天前
    本机没有使用代理,在路由器上我把相关代理配置全部删除了,只保留上述的 nft 配置。
    ysc3839
        5
    ysc3839  
       85 天前 via Android
    既然是 OpenWrt ,又没用到 ipset 之类的功能,为什么不用 OpenWrt 自带的防火墙呢?
    vmebeh
        6
    vmebeh  
       85 天前 via iPhone
    自带防火墙切到 nft 了
    old9
        7
    old9  
       85 天前
    ```
    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
    }
    ```
    jobmailcn
        8
    jobmailcn  
       85 天前 via Android
    换 lean 的 lede ,继续用 iptables
    tony1016
        9
    tony1016  
       85 天前
    你的 openwrt 是不是有 clash tun 啊,被压到 tun 里去了
    rshun
        10
    rshun  
    OP
       84 天前
    我大概知道是怎么回事了,hook output 是针对本机的,也就是路由器自身的 IP ,所以 ip saddr 指定是不生效的。
    只能放到 forward 里面,但是这个 forward 是在 nat 的 prerouting 后面生效,所以如果走域名方式依然不生效,如果在浏览器中输入 IP 地址就生效了
    关于   ·   帮助文档   ·   博客   ·   nftychat   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   实用小工具   ·   1380 人在线   最高记录 5556   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 17:45 · PVG 01:45 · LAX 10:45 · JFK 13:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.