Der Umzug auf eine neue IP Adresse kann in vielen Hinsichten mühsam und sehr aufwendig sein. In diesem Artikel möchten wir Ihnen zwei schnelle Wege zeigen, wie Sie mit nur einem Befehl alle Konfigurationsdateien anpassen können.

Bitte beachten Sie: Fertigen Sie unbedingt vorher ein Backup Ihres Servers an. In diesem Tutorial befindet sich Befehle, mit denen Sie tief in Ihr System eingreifen. Tippfehler oder andere Fehler können schwerwiegende Fehler verursachen. (Bis zur kompletten Unbrauchbarkeit des Servers)

Die Befehle wurden auf folgenden Betriebssystemen getestet:

  • Debian 8
  • Debian 9

Die Befehle sind höchstwahrscheinlich auch mit allen anderen angebotenen Betriebssystemen (Debian 10, CentOS 6, Ubuntu, ...) kompatibel.


Auf Ihrem Server befindet sich verschiedene Konfigurationsdateien, welche Ihre installierten Pakete verwenden. (Hierzu zählen Webserver wie apache2 oder nginx, Datenbankserver wie MySQL oder MariaDB, evtl. Voice- oder Gameserver, etc.)

Geben Sie folgenden Befehl in Ihre Konsole ein, um eine Übersicht aller Dateien zu erhalten, die den Text IPADRESSE enthalten:

grep -rwl '/' -e 'IPADRESSE' --exclude-dir 'proc' --exclude-dir 'sys' --exclude-dir 'mysql' --exclude-dir 'log' > /greplog.txt

Ersetzen Sie dabei IPADRESSE durch die IP Adresse Ihres Servers. Vergewissern Sie sich, dass Sie keines der Hochkomma (keine Anführungszeichen!) ausversehen entfernt haben.

Bitte beachten Sie folgendes:

  • Dieser Befehl ändert jedoch noch keine Datei. Er dient lediglich dazu eine Liste der Dateien zu erhalten, in denen die IP Adresse des Servers eingetragen ist.
  • Es ist möglich, dass der Befehl mehrere Minuten für die Verarbeitung braucht, da dabei alle Dateien auf Ihrem System geprüft werden. Sollte der Befehl länger als 20 Minuten bei der Ausführung brauchen, empfehlen wir unseren Kundensupport zu kontaktieren.
  • Unser Kundensupport erstellt gerne die Liste der gefundenen Dateien für Sie. Kontaktieren Sie uns dazu einfach via Ticket.
  • Wäre beispielsweise Ihre alte IP Adresse 1.1.1.1, würde der Befehl so aussehen:   grep -rwl '/' -e '1.1.1.1' --exclude-dir 'proc' --exclude-dir 'sys' --exclude-dir 'log' > /greplog.txt

Ist der Befehl erfolgreich ausgeführt worden, können Sie sich eine Liste der gefundenen Dateien mit folgendem Befehl anzeigen lassen:

cat /greplog.txt

Warnung: Der folgende Teil führt Änderungen an Ihren Dateien durch:

Sobald Sie die Liste der Dateien haben, können Sie mit der Änderung der IP Adresse in den Dateien anfangen. Dazu haben Sie folgende Möglichkeiten:

1 - Sie ändern alle Dateien manuell:  Dies können Sie bspw. mit "nano" machen. Geben Sie dazu folgenden Befehl ein:

nano /pfad/zur/Datei

Navigieren Sie mit den Pfeiltasten und passen Sie die gefundenen Stellen an. Um zu Speichern, drücken Sie bitte "Strg + X" dann "y" und dann die Enter-Taste.

2 - Sie passen mit einem von uns bereitgestellten Befehl die gefundenen Dateien an: Der folgende Befehl passt die gefundenen Dateien an und ersetzt IPADRESSE mit NEUEIPADRESSE:

grep -rwl '/' -e 'IPADRESSE' --exclude-dir 'proc' --exclude-dir 'sys' --exclude-dir 'log' --exclude-dir 'mysql' | xargs sed -i 's/IPADRESSE/NEUEIPADRESSE/g'

Bitte beachten Sie folgendes:

  • Variante 2 editiert auch Dateien, die Services wie MySQL unbrauchbar machen können. Wir empfehlen Variante 1.
  • Vergessen Sie nicht im hinteren Teil des Befehls ebenfalls IPADRESSE durch Ihre alte IP Adresse und NEUEIPADRESSE durch Ihre neue IP Adresse zu ersetzen. Sollten Sie dies vergessen, kann dies Fehler in Ihrem System verursachen. Sollten Sie gemerkt haben, dass Sie einen Fehler gemacht haben, empfehlen wir keine weiteren Befehle einzugeben und unseren Kundensupport zu kontaktieren.
  • Es ist möglich, dass der Befehl mehrere Minuten für die Verarbeitung braucht, da dabei alle Dateien auf Ihrem System durchlaufen werden. Sollte der Befehl länger als 20 Minuten bei der Ausführung brauchen, empfehlen wir unseren Kundensupport zu kontaktieren.
  • Wäre beispielsweise Ihre alte IP Adresse 1.1.1.1 und Ihre neue IP Adresse 2.2.2.2, würde der Befehl so aussehen:  grep -rwl '/' -e '1.1.1.1' --exclude-dir 'proc' --exclude-dir 'sys' --exclude-dir 'log' | xargs sed -i 's/1.1.1.1/2.2.2.2/g'

 

Haben Sie eine der beiden Varianten durchgeführt, starten Sie bitte Ihren Server über das Kundencenter oder den "reboot" Befehl neu. Das dann noch nicht alle Ihre Systeme einwandfrei mit der neuen IP Adresse funktionieren, kann daran liegen, dass Sie eine Datenbank verwenden, wo noch die alte IP Adresse eingetragen ist. Führen Sie in diesem Fall Schritt 3 (hier drunter) durch. Sollten Sie sich sicher sein, dass Sie keinen Datenbank Server laufen haben und Ihre Services sind dennoch nicht erreichbar, kontaktieren Sie bitte unseren Kundensupport.

 

Quellen:

https://unix.stackexchange.com/questions/282648/using-grep-with-the-exclude-dir-flag-to-exclude-multiple-directories

https://stackoverflow.com/questions/1583219/how-to-do-a-recursive-find-replace-of-a-string-with-awk-or-sed

Esta resposta foi útil? 23 Utilizadores acharam útil (66 Votos)