Blame SPECS/nat.nft

Packit c07a97
# Sample configuration snippet for nftables service.
Packit c07a97
# Meant to be included by main.nft, not for direct use.
Packit c07a97
Packit c07a97
# dedicated table for IPv4
Packit c07a97
table ip nftables_svc {
Packit c07a97
Packit c07a97
	# interfaces to masquerade traffic from
Packit c07a97
	set masq_interfaces {
Packit c07a97
		type ifname
Packit c07a97
		elements = { "virbr0" }
Packit c07a97
	}
Packit c07a97
Packit c07a97
	# networks to masquerade traffic from
Packit c07a97
	# 'interval' flag is required to support subnets
Packit c07a97
	set masq_ips {
Packit c07a97
		type ipv4_addr
Packit c07a97
		flags interval
Packit c07a97
		elements = { 192.168.122.0/24 }
Packit c07a97
	}
Packit c07a97
Packit c07a97
	# base-chain to manipulate conntrack in postrouting,
Packit c07a97
	# will see packets for new or related traffic only
Packit c07a97
	chain POSTROUTING {
Packit c07a97
		type nat hook postrouting priority srcnat + 20
Packit c07a97
		policy accept
Packit c07a97
Packit c07a97
		iifname @masq_interfaces oifname != @masq_interfaces masquerade
Packit c07a97
		ip saddr @masq_ips masquerade
Packit c07a97
	}
Packit c07a97
}