Какой быстрый и грязный способ динамически разрешить локальное имя хоста в Linux?

Какой быстрый и грязный способ динамически разрешить локальное имя хоста в Linux?

У меня есть веб-сервис, работающий локально, который в среде разработки имеет динамический IP-адрес каждый раз, когда он запускается. Раздражает то, что мне приходится каждый раз искать его IP-адрес и переходить наhttp://$IP/foo

Я хотел бы иметь возможность перейти к http://my_service/fooскрипту, /home/me/find_ip.shкоторый, скажем, будет выводить свежий IP-адрес моей службы и разрешать имя my_serviceв выходных данных find_ip.shкаждый раз, когда оно запрашивается.

Могу ли я сделать это без настройки полноценного DNS-сервера локально?

Есть ли быстрый и грязный способ?

решение1

Самое простое решение — добавить my_serviceв /etc/hostsфайл:

127.0.0.1 localhost my_service 

или

127.0.1.1 my_service

Другим решением может бытьдобавить виртуальный сетевой интерфейс, например.

ПРАВКА №1:

Быстрый и грязный трюк, позволяющий my_serviceработать локально без DNS-сервера, — это изменить /etc/hosts.

  • Создавать/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 sudo crontabe -e:
*/1 *  * * *   /home/me/find_ip.sh

Связанный контент