【问题标题】:nftables - IPv6 port knocking - accept whole subnetnftables - IPv6 端口敲门 - 接受整个子网
【发布时间】:2020-04-15 20:33:51
【问题描述】:

我想向已经运行的服务器添加端口敲击功能。我的客户端发送数据包的神奇序列,服务器将在特定时间将其添加到允许客户端的 nftables 集中。因此,允许客户端使用某些服务。有关详细信息,请参阅下面的配置。

现在我想从我的路由器自动敲击端口。对于 IPv4,这是可行的,但对于 IPv6,这是行不通的,因为不涉及 NAT,因此每个客户端都有一个唯一的地址。这就是为什么我想将敲门客户端的整个子网 (/56) 添加到允许的客户端集。

这可以使用 nftables 吗?我读过“标志间隔”,但我不明白如何将客户端子网动态添加到其中。

chain input {
    ...
    jump port_knocking
    ...
}

set knock_v6_1 {
    type ipv6_addr
    flags timeout
}
set knock_v6_2 {
    type ipv6_addr
    flags timeout
}
set knock_v6_success {
    type ipv6_addr
    flags timeout
}

chain port_knocking {
    ip6 nexthdr icmpv6 ip6 length 100 set update ip6 saddr @knock_v6_1
    ip6 saddr @knock_v6_1 ip6 nexthdr icmpv6 ip6 length 101 set update ip6 saddr timeout 10s @knock_v6_2
    ip6 saddr @knock_v6_2 ip6 nexthdr icmpv6 ip6 length 102 set update ip6 saddr timeout 10s @knock_v6_success
}

【问题讨论】:

    标签: ipv6 nat subnet nftables


    【解决方案1】:

    端口敲门成功后,不要添加客户端的源 ip,而是使用port_knock_netmask_v6 屏蔽它。在成功敲门后检查新连接是否来自客户端时,还可以使用port_knock_netmask_v6 对其进行屏蔽。

    define port_knock_netmask_v6 = ffff:ffff:ffff:ff::
    
    table inet filter {
    
        chain input {
            ...
            jump port_knocking
    
            tcp dport 22 ip6 saddr & $port_knock_netmask_v6 @knock_v6_success accept
            ...
        }
    
        set knock_v6_1 {
            type ipv6_addr
            flags timeout
        }
        set knock_v6_2 {
            type ipv6_addr
            flags timeout
        }
        set knock_v6_success {
            type ipv6_addr
            flags timeout
        }
    
        chain port_knocking {
            ip6 nexthdr icmpv6 ip6 length 100 set update ip6 saddr timeout 10s @knock_v6_1
            ip6 saddr @knock_v6_1 ip6 nexthdr icmpv6 ip6 length 101 set update ip6 saddr timeout 10s @knock_v6_2
            ip6 saddr @knock_v6_2 ip6 nexthdr icmpv6 ip6 length 102 set update ip6 saddr & $port_knock_netmask_v6 timeout 1h @knock_v6_success
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-15
      • 2015-12-24
      • 1970-01-01
      • 2018-09-25
      相关资源
      最近更新 更多