From: Stefan Schantl <stefan.schantl@ipfire.org>
To: development@lists.ipfire.org
Subject: Re: Forcing DNS/NTP V2 - new approach
Date: Wed, 06 Jan 2021 16:50:11 +0100 [thread overview]
Message-ID: <4591cbaf45618f11565250305b4300b1e65cc726.camel@ipfire.org> (raw)
In-Reply-To: <73c3712d-2c60-fe92-1ddd-f0fee6ac67ac@ipfire.org>
[-- Attachment #1: Type: text/plain, Size: 3616 bytes --]
Hello Matthias,
in general I like the possibility to force the usage of the local DNS
server by just redirecting all queries to it. This is way more elegant
instead of blocking the requests to any nameservers by firewall rules,
except the local unbound to force it's usage.
I reviewed your last patch and want to give you some thoughts - may the
can help you:
> Hi,
>
> since restarting the *whole* firewall through
> '/etc/rc.d/init.d/firewall
> restart' as I did before is NOT an option, I'm thinking about another
> -
> simpler way - to do this.
>
> As Michael wrote "There are plenty of temporary rules that are being
> created and which simply will get lost after restarting the firewall.
> Mainly this affects IPsec, but also QoS."
>
> For me - and of course for everybody who uses IPSec or QoS - this is
> a
> showstopper. Saving the affected - temporary rules - is too
> complicated
> (for me). I'm trying to make this as simple as possible.
>
Yes, this is the reason, why reloading / restarting the whole firewall
should be avoided if possible.
> So I'm thinking about separating the DNS/NTP-commands and use them in
> a
> another init-file, apart from the firewall initscript.
> I just want to "go out of the way". ;-)
>
> As I see it, IPSec and QoS (e.g) would not be affected and
> furthermore
> we would perhaps have the choice to control some other settings
> through
> this file.
> E.g., the settings from '/var/ipfire/optionsfw/settings' are
> processed
> in various control files, see:
> https://community.ipfire.org/t/forcing-all-dns-traffic-from-the-lan-to-the-firewall/3512/89
>
> And perhaps that would give us the chance to tidy things up. Just a
> thought.
>
> So what about using an 'optionsfw' initscript for the DNS/NTP rules?
>
This would be a possible solution, but ends in multiple files which are
doing the same - dealing with firewall rules.
This is not very intuitive and hard to maintain.
> This and *only* this file would be started through "Save and Restart'
> on
> 'optionsfw.cgi', using a new binary. As before, this would be
> 'optionsfwctrl(.c)', now just containing a call of
> '/etc/rc.d/init.d/optionsfw'. Controlling other settings could be
> added
> as needed. A complete firewall restart is NOT initiated.
>
> In this init, the existence of the needed values is first checked,
> and
> only processed if they exist (e.g.):
> ...
> if [ -z "$DNS_FORCE_ON_GREEN" ] && [ "$DNS_FORCE_ON_GREEN" == "on" ];
> then
> ...
>
> The only affected chain is CUSTOMPREROUTING, so other
> functionalities/chains (IPSec, QoS) should not be affected.
Please do not use one of the CUSTOM firewall chains, they only should
be used by the users to customize their systems.
I would suggest to use a new chain like "FORCEDREDIRECT" or similar
before the CUSTOMPREROUTING chain.
This would have the advantage, that you safely can flush this chain and
directly can insert you redirect rules for the network zones and
desired the protocol. So you not need to check each time if the rule
already exists.
This will speeds up the whole process and keeps the code clear.
Instead of writing an additional init script for adding the rules you
directly can execute the iptables calls by your new optionsfw binary.
This allows you to easily call the binary from the CGI file and perform
all required operations inside the single chain without touching
anything else on the running firewall.
Best regards,
-Stefan
>
> May I ask for your opinions? ;-)
>
> Best,
> Matthias
next prev parent reply other threads:[~2021-01-06 15:50 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-30 8:28 Matthias Fischer
2021-01-06 15:50 ` Stefan Schantl [this message]
2021-01-06 18:32 ` Matthias Fischer
2021-01-07 11:47 ` Michael Tremer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4591cbaf45618f11565250305b4300b1e65cc726.camel@ipfire.org \
--to=stefan.schantl@ipfire.org \
--cc=development@lists.ipfire.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox