IPv6 Firewall Router: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
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