pf dynamische ip

Nutzung von pf mit dynamischer IP

Der FQDN eines beliebigen DynDNS-Dienstes wird aufgelöst und die IP in eine pf-Tabelle eingefügt.

#!/bin/sh

new_home_ip="$(host home.example.com | awk '{print $4}')"
old_home_ip="$(pfctl -t home -T show | grep -Eo '[[:<:]][[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}[[:>:]]')"
old_home_ip=${old_home_ip:-0.0.0.0}

if [ $new_home_ip != $old_home_ip ]
then
        pfctl -t home -T flush && pfctl -t home -T add $new_home_ip
        echo "$(date +%Y%m%d-%H%M): From $old_home_ip changed to $new_home_ip" | tee /var/log/homeip.log
else
        exit 0
fi