Ich habe einen Webdienst, der lokal ausgeführt wird und in der Entwicklungsumgebung bei jeder Ausführung eine dynamische IP-Adresse hat. Ärgerlicherweise muss ich jedes Mal seine IP nachschlagen und erneut navigieren zuhttp://$IP/foo
Ich möchte zu http://my_service/foo
einem Skript navigieren und es haben können, /home/me/find_ip.sh
das beispielsweise die neue IP meines Dienstes druckt und den Namen bei jeder Anforderung my_service
in die Ausgabe auflöst .find_ip.sh
Kann ich dies tun, ohne lokal einen vollständigen DNS-Server einzurichten?
Gibt es einen schnellen und einfachen Hack?
Antwort1
my_service
Die einfachste Lösung besteht darin, der Datei Folgendes hinzuzufügen /etc/hosts
:
127.0.0.1 localhost my_service
oder
127.0.1.1 my_service
Eine andere Lösung könnte sein,Fügen Sie eine virtuelle Netzwerkschnittstelle hinzu wie.
BEARBEITEN #1:
Ein schneller und einfacher Trick, um my_service
lokal ohne DNS-Server zum Laufen zu kommen, ist die Änderung /etc/hosts
.
- Erstellen
/home/me/find_ip.sh
#!/bin/bash
FILE_OLD_IP=/tmp/ip.txt
OLD_IP='0.0.0.0'
NEW_IP=`ip route get 1 | awk '{print $NF;exit}'`
if [ -f "$FILE_OLD_IP" ]; then
OLD_IP=`cat $FILE_OLD_IP`
fi
if [ $NEW_IP != $OLD_IP ]; then
sed -i "s/.*my_service/$NEW_IP\tmy_service/" /etc/hosts
echo $NEW_IP > $FILE_OLD_IP
logger "NEW_IP: $NEW_IP"
else
logger "CURRENT_IP: $NEW_IP"
fi
exit 0
- Cron-Job planen
sudo crontabe -e
:
*/1 * * * * /home/me/find_ip.sh