最近,由於桌面凍結,我不得強制關閉我的 kali Linux 筆記型電腦。現在,每次重新啟動後,瀏覽器和apt-get
和等工具的 DNS 解析都會被破壞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
?