Willkommen zu Mollberg.de

Sie sind hier:   Login

Login

Administrationsbereich.

Bitte Passwort eingeben.

!!! JavaScript und Cookies müssen aktiviert sein !!!
User (optional):

Password:


Firewalld on Centos 7 with dynamic IP

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/sh
date
#check if file already there if not, create it
if [ -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 IP
myipold=$(</run/myip)
echo "$myipold"
#get new IP
myipnew=$(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 changed

if [ "$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/myip
fi

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

 

Login