flush ruleset table bridge filter { chain prerouting { type filter hook prerouting priority 0; policy accept; ibrname br100 jump netpublic } chain netpublic { iifname vxlan100 jump from_uncloud # Default blocks: router advertisements, dhcpv6, dhcpv4 icmpv6 type nd-router-advert drop ip6 version 6 udp sport 547 drop ip version 4 udp sport 67 drop # Individual blocks iifname tap1 jump vm1 } chain vm1 { ether saddr != 02:00:f0:a9:c4:4e drop ip6 saddr != 2a0a:e5c1:111:888:0:f0ff:fea9:c44e drop } chain from_uncloud { accept } } # table ip6 filter { # chain forward { # type filter hook forward priority 0; # # policy drop; # ct state established,related accept; # } # } # table ip filter { # chain input { # type filter hook input priority filter; policy drop; # iif "lo" accept # icmp type { echo-reply, destination-unreachable, source-quench, redirect, echo-request, router-advertisement, router-solicitation, time-exceeded, parameter-problem, timestamp-request, timestamp-reply, info-request, info-reply, address-mask-request, address-mask-reply } accept # ct state established,related accept # tcp dport { 22 } accept # log prefix "firewall-ipv4: " # udp sport 67 drop # } # chain forward { # type filter hook forward priority filter; policy drop; # log prefix "firewall-ipv4: " # } # chain output { # type filter hook output priority filter; policy accept; # } # }