计算机‎ > ‎软件‎ > ‎Linux‎ > ‎

Debian KVM 2

发布者:guo rue,发布时间:2017年11月14日 13:32   [ 更新时间:2017年11月14日 14:16 ]
接上一篇在 debian 安装好 KVM 对网络进行设置了 bridge 之后,虚拟机启动都可以获得一个平等的 IP 地址了。可是母鸡却每次开机的时候无法访问任何网址,查来查去,发现母鸡没有获得 NAMESERVER 地址,系统的 /etc/resolv.conf 文件是空的,可是我明明再在 /etc/network/interfaces 配置文件里添加了 dns-nameservers 8.8.8.8 8.8.4.4 这一行。真烦,这和我预想的不一样,又要想办法解决。

手动的办法,每次开机,在终端里
sudo nano /etc/resolv.conf
然后写上
nameserver 8.8.8.8
保存退出

自动的办法,写一个 Shell 脚本,设置 Debian 启动后运行脚本
进入系统启动脚本目录
cd /etc/init.d/
创建一个脚本
sudo nano addnameserver.sh
写上脚本内容
#!/bin/bash
### BEGIN INIT INFO
# Provides:          test
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Should-Start: $network
# Should-Stop: $network
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description: test
# Description: test
### END INIT INFO
#ADD NAMESERVER
echo nameserver 8.8.8.8 >> /etc/resolv.conf
cat /etc/resolv.conf
exit 0
保存退出

设置文件权限为可执行
sudo chmod 755 addnameserver.sh

测试脚本
sudo ./addnameserver.sh
显示
nameserver 8.8.8.8
即代表 NAMESERVER 地址写入成功并且可以读取显示。

设置脚本开机时启动
sudo update-rc.d addnameserver.sh defaults

重启测试
sudo reboot

如果你的脚本没有达成目标,可以设置脚本开机时不启动[可选]
sudo update-rc.d -f addnameserver.sh remove

然后删除脚本文件
sudo rm addnameserver.sh