IPv6 Firewall Router: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 33: Zeile 33:
</pre>
</pre>


 
=Simple Dual Stack Firewall=






<pre>
<pre>
#!/usr/sbin/nft -f
table inet filter {
 
chain input {
define local_tcp_ports = { 22 }
type filter hook input priority filter; policy drop;
define webserver = "2a02:24d8:71:2445::102"
ct state established,related accept
define wandev = ens4
ct state new tcp dport 22 accept
define landev = ens5
ct state new iifname "lo" accept
define transit_4 = "192.168.44.0/24"
ct state new icmp type echo-request accept
define transit_6 = "2a02:24d8:71:2444::/64"
ip6 nexthdr ipv6-icmp accept
define lan_4 = 192.168.45.0/24
log prefix "--nftables-drop-input--"
define lan_6 = "2a02:24d8:71:2445::/64"
}
 


flush ruleset
chain forward {
table inet filter {
type filter hook forward priority filter; policy drop;
    chain input {
ct state established,related accept
        type filter hook input priority filter; policy drop;
ct state new iif "ens5" oif "ens4" accept
        ct state established,related accept
ct state new iif "ens4" oif "ens5" ip6 daddr 2a02:24d8:71:2445::102 tcp dport 80 accept
        ct state new tcp dport $local_tcp_ports accept
log prefix "--nftables-drop-forward--"
        ct state new iifname "lo" accept
}
        ct state new icmp type echo-request accept
        ip6 nexthdr icmpv6 accept
        log prefix "--nftables-drop-input--"
    }
    chain forward {
        type filter hook forward priority filter; policy drop;
        ct state established,related accept
        ct state new iif $landev oif $wandev accept
        ct state new iif $wandev oif $landev ip6 daddr $webserver tcp dport 80 accept
        log prefix "--nftables-drop-forward--"
    }


    chain output {
chain output {
        type filter hook output priority filter; policy drop;
type filter hook output priority filter; policy drop;
        ct state established,related accept
ct state established,related accept
        ip6 nexthdr icmpv6 accept
ip6 nexthdr ipv6-icmp accept
        ct state new accept
ct state new accept
        log prefix "--nftables-drop-output--"
log prefix "--nftables-drop-output--"
    }
}
}
}
table ip nat {
table ip nat {
chain postrouting {
chain postrouting {
type nat hook postrouting priority 100;
type nat hook postrouting priority srcnat; policy accept;
oif ens4 masquerade
oif "ens4" masquerade
}
}
 
</pre>
</pre>

Version vom 14. Januar 2024, 07:01 Uhr

Simple IPv4 Firwall

table ip filter {
	chain input {
		type filter hook input priority filter; policy drop;
		ct state established,related accept
		ct state new iif "ens4" tcp dport 22 accept
		ct state new iif "ens5" accept
		ct state new iifname "lo" accept
		log prefix "--nftables-drop-input--"
	}

	chain forward {
		type filter hook forward priority filter; policy drop;
		ct state established,related accept
		ct state new iif "ens5" oif "ens4" accept
		log prefix "--nftables-drop-forward--"
	}

	chain output {
		type filter hook output priority filter; policy drop;
		ct state established,related accept
		ct state new accept
		log prefix "--nftables-drop-output--"
	}
}
table ip nat {
	chain postrouting {
		type nat hook postrouting priority srcnat; policy accept;
		oif "ens4" masquerade
	}
}

Simple Dual Stack Firewall

table inet filter {
	chain input {
		type filter hook input priority filter; policy drop;
		ct state established,related accept
		ct state new tcp dport 22 accept
		ct state new iifname "lo" accept
		ct state new icmp type echo-request accept
		ip6 nexthdr ipv6-icmp accept
		log prefix "--nftables-drop-input--"
	}

	chain forward {
		type filter hook forward priority filter; policy drop;
		ct state established,related accept
		ct state new iif "ens5" oif "ens4" accept
		ct state new iif "ens4" oif "ens5" ip6 daddr 2a02:24d8:71:2445::102 tcp dport 80 accept
		log prefix "--nftables-drop-forward--"
	}

	chain output {
		type filter hook output priority filter; policy drop;
		ct state established,related accept
		ip6 nexthdr ipv6-icmp accept
		ct state new accept
		log prefix "--nftables-drop-output--"
	}
}
table ip nat {
	chain postrouting {
		type nat hook postrouting priority srcnat; policy accept;
		oif "ens4" masquerade