Недавно мне пришлось принудительно выключить мой ноутбук kali linux из-за зависания рабочего стола. Теперь после каждой перезагрузки разрешение DNS для браузеров и инструментов вроде apt-get
и ломается ping
, хотя инструменты вроде dig
все еще работают для ручного разрешения. После каждой перезагрузки я исправляю это так:
Сначала я проверяю, что большинство символических ссылок присутствуют, как и ожидалось:
$ ls -altrh /etc/resolv.conf
lrwxrwxrwx 1 root root 31 Apr 17 23:40 /etc/resolv.conf -> /etc/resolvconf/run/resolv.conf
$ ls -altrh /etc/resolvconf/run
lrwxrwxrwx 1 root root 15 Apr 17 23:40 /etc/resolvconf/run -> /run/resolvconf
Затем я проверяю, что предыдущая конфигурация все еще доступна:
$ cat /etc/resolvconf/resolv.conf.d/base
# Generated by NetworkManager
nameserver 8.8.8.8
Затем мне нужно создать отсутствующий каталог, на который пытается указать одна из вышеупомянутых символических ссылок:
$ sudo mkdir /run/resolvconf/
И, наконец, мне нужно создать отсутствующий resolv.conf
файл внутри созданного мной каталога и заполнить файл информацией о сервере имен, которая была сохранена в файле, который я проверил ранее:
$ sudo touch /run/resolvconf/resolv.conf
$ sudo cp /etc/resolvconf/resolv.conf.d/base /run/resolvconf/resolv.conf
Теперь разрешение DNS работает для всех программ.
Вопрос:Прежде чем я пойду и напишу скрипт запуска для автоматизации этого обходного пути, кто-нибудь знает, как мне больше никогда не делать этого? Я не могу понять, почему это происходит. Спасибо.
Системная информация:
$ cat /etc/debian_version
Kali Linux Rolling
$ uname -a
Linux foobar 4.9.0-kali3-amd64 #1 SMP Debian 4.9.18-1kali1 (2017-04-04) x86_64 GNU/Linux
решение1
У меня та же проблема с установленной Kali. Сначала я думал, что это из-за установленного мной программного обеспечения VPN, но после некоторых исследований выяснилось, что проблема в Kali.
Более простое решение проблемы, которое я использовал, это:sudo apt-get purge resolvconf
Затем сразу после этого запускаемsudo apt-get install resolvconf
К сожалению, на данный момент мне приходится делать это при каждой загрузке, но у меня была та же мысль, что и у вас, сделать скрипт запуска, чтобы автоматически очищать и переустанавливать файл resolvconf. Использовать эти две команды было бы немного проще, чем заново создавать отсутствующий каталог вручную, и, возможно, упростить написание скрипта запуска.
решение2
Я решил включить и запустить resolvconf вручную с помощью
sudo systemctl enable resolvconf
sudo systemctl start resolvconf
Теперь разрешение имен работает после загрузки. Возможно, Kali отключает resolvconf как службу...
решение3
Я только что создал простой bash-скрипт в корневой папке...
touch netresolv.sh
vim netresolv.sh
//заменить любимый редактор наvim
Код:
#!/bin/bash
echo "nameserver 8.8.8.8" > /etc/resolv.conf && echo "nameserver 1.1.1.1" >> /etc/resolv.conf && service
NetworkManager restart && exit
//сохранить и выйти из текстового редактора
chmod +x netresolv.conf
Сейчас я просто запускаю его вручную каждый раз после входа в систему, поскольку я изучаю, как и где добавить скрипт для автоматического запуска после каждой перезагрузки при входе в систему...
Может ли кто-нибудь сказать мне, как использовать этот скрипт до конца? Я не хочу, чтобы он запускался до входа в систему, потому что это подключит веб до входа в систему root, что сделает его уязвимым или нет? Добавить его как задание cron
? или как systemd
службу? или добавить в ~/.profile
?