Ich wollte meine Heim IP für mehr Ports freischalten als sonst offen sind.
Dafür möchte ich meinen DNS namen in FirewallD freischalten.
Das geht nicht? Richtig, aber dafür möchte ich dieses kleine Script mit euch teilen.
Als erstes braucht ihr einen Dydns anbieter wie z.B. http://freedns.afraid.org/
Danach erstellt ein File mit dem Script vom und tragt euren Hostnamen ein.
Macht es ausführbar.
Kopiert das hinein:
#/bin/shdate#check if file already there if not, create itif [ -r /run/myip ]then echo "file there"else echo "file not there" dig +short i.home.mollberg.de > /run/myip firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="'$myipnew'" accept'fi#get old IPmyipold=$(</run/myip)echo "$myipold"#get new IPmyipnew=$(dig +short YOUR-DNS-NAME-HERE)echo "$myipnew"#compare new and old ip, do nothing if nothing changes, remove old ip and allow new IP if IP has changedif [ "$myipold" = "$myipnew" ]then echo "same IP"else echo "diff IP" firewall-cmd --zone=public --remove-rich-rule='rule family="ipv4" source address="'$myipold'" accept' firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="'$myipnew'" accept' dig +short YOUR-DNS-NAME-HERE > /run/myipfi
Nun fügt einen Cron Job hinzu, z.B. so, dieser läuft jede Stunde.0 * * * 0 root /home/user/MyIP.sh >> /var/log/myip.log