firewall/zones/prerezotage.nft

48 lines
1 KiB
Plaintext
Raw Permalink Normal View History

2018-10-14 16:49:38 +00:00
#! /sbin/nft -f
2019-12-20 18:18:10 +00:00
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Copyright © 2018-2019 Hugo Levy-Falk <hugo@klafyvel.me>
2018-10-14 16:49:38 +00:00
table inet firewall {
set allowed_daddr_prerezotage {
2019-02-09 09:23:05 +00:00
type ipv4_addr
2018-10-14 16:49:38 +00:00
flags interval
elements = {
$comnpay,
2019-09-14 17:50:06 +00:00
$website,
$external_dns,
$intranet
2018-10-14 16:49:38 +00:00
}
}
chain to_prerezotage {
2019-02-09 09:23:05 +00:00
accept
2018-10-14 16:49:38 +00:00
}
chain from_prerezotage {
2019-02-09 09:23:05 +00:00
ip daddr != @allowed_daddr_prerezotage drop
2018-10-14 16:49:38 +00:00
}
}
2019-01-08 23:21:24 +00:00
table nat {
2019-02-09 09:23:05 +00:00
chain prerezotage_nat {
2019-04-29 22:12:26 +00:00
snat to $ip_self_public
2019-01-08 23:21:24 +00:00
}
}