-
Notifications
You must be signed in to change notification settings - Fork 146
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RDR Improvements: Allow TO/FROM+INTERACE+IP STACK #765
base: master
Are you sure you want to change the base?
RDR Improvements: Allow TO/FROM+INTERACE+IP STACK #765
Conversation
This is for the folks who have multiple IP addresses on a single interface.
I've reconstructed much of the rdr.sh to allow users to set TO/FROM and also the interface.
Error checking is also in place, and testers are welcome. |
RDR will now show errors for any rule that failed to create. |
@tschettervictor this one has conflicts. I was going to start testing but need it cleanedup then I will start testing. |
Done. |
Any testers for this one? |
I installed your changes to rdr.sh and list.sh in /usr/local/share/bastille on top of the latest release, on FreeBSD 14.2-RELEASE:
I was testing against dual-stack jails (i.e., assigned ipv4 and ipv6 addresses) that under unmodified versions of bastille would not start cleanly because of incorrect PF However, I did stumble over a problem with a jail's rdr.conf subsequent to a restart using the new code. The pre-existing rdr.conf for the jail was:
After starting the jail using the new code, rdr.conf was changed into:
Although the inittial restart cleanly started, subsequent ones all complain:
After using |
Will make a not of that. |
EDIT If you have used the previous version on RDR, please run
bastille rdr jail reset
to clear the old rules, otherwise you might have warnings and errors on jail start.I've reconstructed much of the rdr.sh to allow users to set TO/FROM and also the interface.
Old command of
bastille rdr jail tcp 8000 80
still functions as it should and will use the default interface and any to any when creating the rules. Major differences are-i em0
or any specified interface-s 134.234.67.34
-d 192.168.1.45
-t
is also available if you want to specifically load a rule doing ip4/6-t ipv4
or-t ipv6
. The default will use both, or 'dual'Error checking is also in place, and testers are welcome.
I will continue to update this PR with the docs and usage commands if users find this helpful.