bash :crw -rw ----:команда не найдена

Скорее всего, вам не нужно помещать назначенный DHCP -IP-адрес в файл hosts. Например, вы, вероятно, захотите указать браузеру http://your-domain-here/, и ваш локальный веб-сервер ответит на это. (То же самое с любой другой настройкой клиент/сервер ). В этом случае просто сопоставьте домен с IP-адресом локального хоста, который представляет собой любой IP-адрес, начинающийся с 127.(. Я бы избегал 127.0.0.1, так как это может дать странные ответы для обратного поиска ). Просто выберите новый, которого еще нет в вашем файле hosts.

Другой вариант — просто выбрать статический пространственный IP-адрес RFC1918 (192.168.x.x, 10.x.x.x, 172.16–31.x.x )и добавить его к локальному интерфейсу, а затем просто использовать этот IP-адрес.

Если вам действительно нужно сопоставить его с вашим текущим IP-адресом, обычно есть место, где вы можете поместить сценарий оболочки для запуска, когда ваша машина получает IP-адрес через DHCP. Если вы используете dhclient, вы можете поместить скрипт в /etc/dhcp/dhclient-enter-hooks.d/. Существует dhclient -скрипт (8 )справочная страница , в которой это документировано, но что-то вроде этого (очень непроверено ), вероятно, сработает (он использует "губку" из пакета moreutils):

#!/bin/sh

MY_DOMAIN=your-domain.com

if [ "$reason" != "BOUND" ] && [ "$reason" != "REBIND" ]; then
    exit 0
fi

grep -v " $MY_DOMAIN\$" /etc/hosts | sponge /etc/hosts   # really should escape the dots in the domain, but probably doesn't matter.
printf '%s %s\n' "$new_ip_address" "$MY_DOMAIN" >> /etc/hosts

Это очень не проверено. Убедитесь, что у вас есть резервная копия /etc/hosts, прежде чем пытаться это сделать!

0
11.03.2021, 08:35
0 ответов

Теги

Похожие вопросы