On my linux/64 edge router/firewall, I run

        shorewall-lite
        shorewall6-lite
        openvpn
        bind9/named
        fail2ban

shorewall-lite is configured as MultiISP with 2 providers:

        * a StaticIP broadband ISP
        * an OpenVPN connection

That StaticIP will change soon to a non-static, dynamically (as defined by the 
ISP) allocated IP.

I'd appreciate 2 bits of help:

        (1) a review of my startup dependencies
        (2) best practice for dealing with Dynamic IP -- in shorewall-lite (and 
elsewhere?) is it still 'lsm'?

Nothing's broken, and I'm not looking to fix an immediate problem; I'm looking 
for a 2nd set of eyes, and some chat about best practices.

Re: Startup Dependencies ...

All services are managed by systemd.

I've set up a 'jungle' of dependencies to try to make sure that startup @ boot 
is functional & efficient.  I've 3 criteria that I'm trying to meet:

        (1) no hangs waiting for not-yet-ready services
        (2) everything 'up' and functional once booted
        (3) no inadvertent exposure by firewall before it's fully up

Looking at boot-up logs, and checking state immediately after startup, it 
appears to be working correctly.  Just in case I'm missing something key or 
obvious, I'd appreciate any look-over/comments about the following dependencies:

        cat shorewall-lite.service
                [Unit]
                Description=shorewall-lite
                After=syslog.target network.target
                Before=shorewall-lite.target fail2ban.service
                Wants=fail2ban.service
                Requires=network.target
                ...

        cat shorewall6-lite.service
                [Unit]
                Description=shorewall6-lite
                After=syslog.target network.target shorewall-lite.target
                Before=shorewall6-lite.target fail2ban.service openvpn.target
                Wants=fail2ban.service
                Requires=network.target
                ...

        cat fail2ban.service
                [Unit]
                Description=fail2ban
                After=syslog.target network.target shorewall-lite.target
                Before=fail2ban.target
                Requires=shorewall-lite.target shorewall6-lite.target
                ...

        cat openvpn.service
                [Unit]
                Description=openvpn
                After=syslog.target network.target shorewall-lite.target 
named.target
                Before=openvpn.target
                Requires=network.target shorewall-lite.target
                ...

        cat named.service
                [Unit]
                Description=bind9/named
                After=syslog.target network.target shorewall-lite.target 
shorewall6-lite.target
                Before=named.target
                Requires=network.target
                ...

Is anything ^^ nonsense, missing, or otherwise problematic?


Re: Dynamic IP management ...

Currently my StaticIP config for shorewall-lite includes simply

        /zones
                net    EXTIF    
optional,physical=eth0,dhcp,tcpflags,nosmurfs,logmartians=1,routefilter=0,sourceroute=0
                ...

        /providers
                prov1    1    1    main    EXTIF    detect    track,balance    
INTIF
                ...

I manage & compile centrally, pushing to remote instances.  Even with StaticIP, 
I've a convenience parameter

        /params
                ...
                ROUTER_eth0_IP4=$(/usr/local/bin/ssh -F 
/usr/local/etc/ssh/ssh_config -l root $ROUTER_eth1_IP4 
"/usr/sbin/shorewall-lite call find_first_interface_address_if_any eth0")
                ...

At local compile/push, this appears to correctly determine the remote's 
(static) IP, and populate the $ROUTER_eth0_IP4 variable for use as needed.

The moment $ROUTER_eth0_IP4 becomes changeable -- either predictably at router 
reboot / DHCP lease renewal, or randomly when the networks hiccups obviously 
shorfewall needs to be made aware.

Reading the MultiISP docs, I see that lsm is used.  Is that still the 
recommended approach?

As the Dynamic IP will be acquired via DHCP, I could see monitoring externally 
to shorewall, then triggering a reload of SW -- and any other services 
(OpenVPN, named, etc) that need update.

What's the current best practice -- from the perspective of shorewall?

Thanks!

------------------------------------------------------------------------------
_______________________________________________
Shorewall-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/shorewall-users

Reply via email to