Ubuntu静态IP虚拟机添加搜索域的配置方法咨询
Ubuntu静态IP虚拟机添加搜索域的配置方法咨询
Hey there! 既然你已经设置了静态IP、关闭了DHCP,而且用的是NetworkManager搭配Netplan,那添加搜索域的操作其实挺清晰的,下面给你两种靠谱的方式:
一、通过Netplan配置文件持久化设置(推荐)
没错,你猜的对,这种场景下确实要修改Netplan的YAML配置文件,这是系统层面的持久化配置,重启后也不会丢失。步骤如下:
- 先找到你的Netplan配置文件,一般在
/etc/netplan/目录下,文件名通常是类似00-installer-config.yaml或者01-network-manager-all.yaml的样子,你可以用ls /etc/netplan/查看具体文件名。 - 用文本编辑器(比如nano)打开配置文件:
sudo nano /etc/netplan/你的配置文件名.yaml - 在你已有的静态IP配置块里,找到
nameservers部分,添加search字段,把你要加的搜索域填进去(多个的话用逗号分隔)。举个完整的配置示例:
⚠️ 注意:YAML对格式要求很严,一定要用空格缩进,不能用Tab键,否则配置会失效!network: version: 2 renderer: NetworkManager ethernets: enp0s3: # 这里替换成你的实际网卡名称,用`ip addr`命令可以查看 addresses: [192.168.1.100/24] # 你的静态IP gateway4: 192.168.1.1 # 网关地址 nameservers: addresses: [8.8.8.8, 1.1.1.1] # DNS服务器地址 search: ["example.com", "home.lan"] # 这里就是要添加的搜索域 - 保存文件后,先生成配置再应用:
sudo netplan generate sudo netplan apply - 验证配置是否生效:可以执行
systemd-resolve --status,在输出里找DNS Domain部分,或者查看/etc/resolv.conf文件,看有没有你添加的搜索域。
二、用nmcli命令快速设置(适合测试或临时调整)
如果你不想马上修改配置文件,想先测试一下效果,可以用NetworkManager的命令行工具nmcli来操作,步骤如下:
- 先查看你的网络连接名称:
nmcli con show - 修改连接的DNS搜索域:
多个搜索域用空格分隔就行。sudo nmcli con mod "你的连接名称" ipv4.dns-search "example.com home.lan" - 重启连接让配置生效:
这种方式的配置会被NetworkManager保存,也算持久化,但如果之后修改Netplan文件,可能会覆盖这个设置,所以长期来看还是Netplan配置文件更稳妥。sudo nmcli con down "你的连接名称" && sudo nmcli con up "你的连接名称"
备注:内容来源于stack exchange,提问作者frictionless




