nftable - 2 ошибки при запуске службы

Я пытаюсь создать свой первый файл конфигурации nftable для брандмауэра моего сервера, но когда я пытаюсь активировать его, я получаю 2 ошибки и не могу понять, почему.

Здесь возникает первая ошибка (строка 44 во входной цепочке)

ct state invalid drop

и сообщение

/etc/nftables.conf:44:12-16: Ошибка: синтаксическая ошибка, неожиданное состояние, ожидание помощника

-> Почему это состояние "неожиданное" и где синтаксическая ошибка? (и как мне это исправить?)

и здесь возникает вторая ошибка (строка 48 во входной цепочке)

iif lo accept

и сообщение

/etc/nftables.conf:48:9-11: Ошибка: синтаксическая ошибка, непредвиденный iif

-> Я не полностью осведомлен о синтаксисе, но мне он кажется законным (в чем моя ошибка?)

заранее спасибо!

а это весь файл (может он вам нужен)

#!/usr/sbin/nft -f

# Start by flushing all the rules.
flush ruleset

# Define private IP for ssh access
define privateip = {$clientip}

table inet filter {
    # TCP ports to allow. (Allowed services: HTTP, HTTPS)
    set tcp_accepted {
        type inet_service; flags interval;
        elements = {
        80,443
        }
    }
    # TCP port for SSH service.
    set ssh_accepted {
        type inet_service; flags interval;
        elements = {
        721
        }
    }
    # UDP ports to allow.
    set udp_accepted {
        type inet_service; flags interval;
        elements = {
        
        }
    }
    chain input {
        # This line set what traffic the chain will handle, the priority and default policy.
        # The priority comes in when you in another table have a chain set to "hook input" and want to specify in what order they should run.
        # Use a semicolon to separate multiple commands on one row.
        type filter hook input priority 0; policy drop;

        # Limit ping requests.
        ip protocol icmp icmp type echo-request limit rate over 1/second burst 5 packets drop
        ip6 nexthdr icmpv6 icmpv6 type echo-request limit rate over 1/second burst 5 packets drop

        # OBS! Rules with "limit" need to be put before rules accepting "established" connections.
        # Allow all incomming established and related traffic. Drop invalid traffic.
        ct state established,related accept
        ct state invalid drop

        # Allow loopback.
        # Interfaces can by set with "iif" or "iifname" (oif/oifname). If the interface can come and go use "iifname", otherwise use "iif" since it performs better.
        iif lo accept

        # Drop all fragments.
        ip frag-off & 0x1fff != 0 counter drop

        # Force SYN checks.
        tcp flags & (fin|syn|rst|ack) != syn ct state new counter drop

        # Drop XMAS packets.
        tcp flags & (fin|syn|rst|psh|ack|urg) == fin|syn|rst|psh|ack|urg counter drop

        # Drop NULL packets.
        tcp flags & (fin|syn|rst|psh|ack|urg) == 0x0 counter drop

        # Allow certain inbound ICMP types (ping, traceroute).
        # With these allowed you are a good network citizen.
        # Without the nd-* ones ipv6 will not work.
        ip protocol icmp icmp type { destination-unreachable, echo-reply, echo-request, source-quench, time-exceeded } accept      
        ip6 nexthdr icmpv6 icmpv6 type { destination-unreachable, echo-reply, echo-request, nd-neighbor-solicit,  nd-router-advert, nd-neighbor-advert, packet-too-big, parameter-problem, time-exceeded } accept

        # Allow SSH for specific IP only
        iifname $privateip tcp dport @ssh_accepted ct state new accept

        # Allow needed tcp and udp ports.
        tcp dport @tcp_accepted ct state new accept
        udp dport @udp_accepted ct state new accept
    }
    chain forward {
        type filter hook forward priority 0; policy drop;

        # Forward all established and related traffic. Drop invalid traffic.
        ct state established,related accept
        ct state invalid drop
    }
    chain output {
        type filter hook output priority 0; policy drop;

        # Allow all outgoing traffic. Drop invalid traffic.
        # ipv6 ICMP needs to be explicitly allowed here.
        ip6 nexthdr ipv6-icmp accept
        ct state new,established,related accept
        ct state invalid drop
    }
}

include "/etc/nftables/fail2ban.conf"

0 ответов

Другие вопросы по тегам