Nftables: Porovnání verzí

Z Wiki UnArt Slavičín
Skočit na navigaciSkočit na vyhledávání
Bez shrnutí editace
Bez shrnutí editace
Řádek 1: Řádek 1:
Jednoduchý firewall brány do internetu:
#!/usr/sbin/nft -f
# rozhraní přistupující do internetu
define wan = ens5f0
# rozhrani přístupující do lokální sítě
define lan = ens5f1
# vymažeme původní pravidla
flush ruleset
# tabulka pro filtrování provozu
table inet filter {
# omezení příchozího provozu NA bránu
chain input {
type filter hook input priority 0
ct state established,related counter accept "Povolení navázaných spojení z conntracku"
icmp type echo-request counter accept comment "Povolení pingu na bránu"
tcp dport ssh counter accept comment "Povolení SSH na bránu"
iifname $wan counter drop comment "Zakázání přístupu na bránu z internetu"
counter comment "Povolení přístupu na bránu z lokální sítě"
policy accept
}
# omezení provozu PŘES bránu
chain forward {
type filter hook forward priority 0
ct state established,related counter accept comment "Povolení navázaných spojení z conntracku"
iifname lo counter accept comemnt "Povolení všeho na loopback rozhraní"
oifname $wan counter accept comment "Povolení vše do internetu"
counter comment "Ostatní provoz blokovat"
policy drop
}
}
# tabulka pro NAT
table ip nat {
# mapování NATu ve formátu vnitřní IP : veřejná IP
map snat_map {
type ipv4_addr : ipv4_addr
flags interval
elements = {
10.143.122.200 : 5.104.17.160
}
}
# SNAT
chain postrouting {
type nat hook postrouting priority 0
oifname $wan counter snat ip saddr map @snat_map comment "Vnitřní IP adresy z mapy snat_map sNATujeme za jim přidělené veřejné IP adresy"
oifname $wan counter masquerade comment "Ostatní vnitřní IP adresy zaNATujeme za veřejnou IP adresu brány"
}
}
[https://wiki.nftables.org/wiki-nftables/index.php/Main_Page Dokumentace]
[https://wiki.nftables.org/wiki-nftables/index.php/Main_Page Dokumentace]


[http://moutane.net/RMLL2014/day_1-1620-Eric_Leblond-Netfilter_logging_at_the_nftables_age.pdf Logování provozu]
[http://moutane.net/RMLL2014/day_1-1620-Eric_Leblond-Netfilter_logging_at_the_nftables_age.pdf Logování provozu]

Verze z 15. 9. 2021, 12:41

Jednoduchý firewall brány do internetu:

#!/usr/sbin/nft -f

# rozhraní přistupující do internetu
define wan = ens5f0

# rozhrani přístupující do lokální sítě
define lan = ens5f1

# vymažeme původní pravidla
flush ruleset

# tabulka pro filtrování provozu
table inet filter {

	# omezení příchozího provozu NA bránu
	chain input {
		type filter hook input priority 0

		ct state established,related counter accept "Povolení navázaných spojení z conntracku"

		icmp type echo-request counter accept comment "Povolení pingu na bránu"

		tcp dport ssh counter accept comment "Povolení SSH na bránu"

		iifname $wan counter drop comment "Zakázání přístupu na bránu z internetu"

		counter comment "Povolení přístupu na bránu z lokální sítě"
		policy accept
	}

	# omezení provozu PŘES bránu
	chain forward {
		type filter hook forward priority 0

		ct state established,related counter accept comment "Povolení navázaných spojení z conntracku"

		iifname lo counter accept comemnt "Povolení všeho na loopback rozhraní"

		oifname $wan counter accept comment "Povolení vše do internetu"

		counter comment "Ostatní provoz blokovat"
		policy drop
	}
}

# tabulka pro NAT
table ip nat {

	# mapování NATu ve formátu vnitřní IP : veřejná IP
	map snat_map {
		type ipv4_addr : ipv4_addr
		flags interval

		elements = {
			10.143.122.200 : 5.104.17.160
		}
	}

	# SNAT
	chain postrouting {
		type nat hook postrouting priority 0

		oifname $wan counter snat ip saddr map @snat_map comment "Vnitřní IP adresy z mapy snat_map sNATujeme za jim přidělené veřejné IP adresy"
		oifname $wan counter masquerade comment "Ostatní vnitřní IP adresy zaNATujeme za veřejnou IP adresu brány"
	}
}


Dokumentace

Logování provozu