SpecialistOff.NET / Вопросы / Статьи / Фрагменты кода / Резюме / Метки / Помощь / Файлы

Назад

Примеры правил межсетевого экрана nftables


Метки: nftables межсетевой экран nft

Просмотр правил

Все правила

nft list ruleset

Правила из таблицы

nft list table inet filter

Правила из цепочки

nft -n -a list chain inet filter input

Список элементов

nft -n -a list set inet filter mesh-vpn

Добавление правила

nft add inet filter input ip saddr 10.0.0.0/8 iifname mesh-vpn accept;
nft add inet filter input position 8 ip saddr 10.0.0.0/8 iifname mesh-vpn accept;

Пример файла

#!/usr/sbin/nft -f

flush ruleset

table ip filter { chain input { type filter hook input priority 0; policy drop; iif lo accept comment "Accept any localhost traffic"; ct state invalid drop comment "Drop invalid connections"; ct state established,related accept comment "Accept traffic originated from us"; ip protocol igmp accept comment "Accept IGMP" tcp dport 22 accept comment "Accept SSH on port 22"; tcp dport 80 accept comment "Accept HTTP on port 80"; tcp dport 443 accept comment "Accept HTTPS on port 443"; } chain forward { type filter hook forward priority 0; } chain output { type filter hook output priority 0; } }

Частичное добавление правил

cat << EOF | nft -f -
table ip filter {
chain input {
       tcp dport 80 accept comment "Accept HTTP on port 80"
}
}
table ip nat {
    chain prerouting { 
        type nat hook  prerouting priority -100;
        policy accept;

      ip daddr 10.10.10.10 tcp dport { 8093 } dnat to 192.168.0.10:8093 comment "Accept gitlab-runner on port 8093";
    }
}
EOF

Добавление элемента

nft add set filter mesh-vpn \{ type ipv4_addr \; \}
nft add element inet fail2ban f2b-banned { <ip> }

Удаление элемента

nft delete element inet fail2ban f2b-banned { <ip> }