Я бы хотел добавить стук портов на сервер, который уже работает. Мой клиент отправляет последовательность пакетов magi c, и сервер добавляет ее в набор разрешенных клиентов nftables в течение указанного c времени. Для этого клиентам разрешено пользоваться некоторыми услугами. Подробнее см. Мою конфигурацию ниже.
Теперь я хочу автоматически выбить порт из моего маршрутизатора. Для IPv4 это работает, но для IPv6 это не работает, потому что не задействован NAT, поэтому каждый клиент имеет уникальный адрес. Вот почему я хотел бы добавить весь su bnet (/ 56) клиента для стука в набор разрешенных клиентов.
Возможно ли это с помощью nftables? Я читал об «интервале флагов», но не понимаю, как динамически добавлять к нему клиентов su bnet.
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
}