小智 5
要回答问题的第 2 部分,您可以编辑 /etc/network/interfaces,并添加以下行:
dns-nameservers 8.8.8.8 4.2.2.2
Run Code Online (Sandbox Code Playgroud)
这样你的接口文件看起来像这样:
auto <interfacename>
iface <interfacename> inet dhcp
dns-nameservers 8.8.8.8 4.2.2.2
Run Code Online (Sandbox Code Playgroud)
确保将 < interfacename > 替换为 wlan0 或任何您调用的 wifi 接口。
要设置 dns 服务器:
编辑/etc/dhcp/dhclient.conf
; 取消注释行supersede domain-name-servers
(或添加此行,如果您没有)并列出您想要的 dns 服务器,以逗号分隔,以分号结尾。它是第 20 行/etc/dhcp/dhclient.conf
。例如,我的看起来像这样:
supersede domain-name-servers 208.67.222.222,208.67.220.220,8.8.8.8;
设置此选项后,无论我连接到哪个接入点,我都可以获得 IP,但 DNS 无处不在。
15.04 有一个非常有趣的功能,您可以使用nmcli
. 这样做 nmcli connection modify id "My Connection" +ipv4.dns "" +ipv4.dns 208.67.220.220 +ipv4.ignore-auto-dns yes
相当于设置“仅自动(DHCP)地址”并在 GUI 中添加您自己的 dns 服务器。
对于多个连接,您可以运行此脚本:
#!/bin/bash
set -x
for file in /etc/NetworkManager/system-connections/*; do
file=$(echo $file | cut -d'/' -f5-)
nmcli connection modify id "$file" +ipv4.dns "" +ipv4.dns 208.67.220.220 +ipv4.ignore-auto-dns yes
done
Run Code Online (Sandbox Code Playgroud)
此外,15.04 具有nmtui
命令行工具,可让您编辑已保存在计算机上的连接信息。nmtui
在终端中打开,转到编辑连接,从列表中选择一个,然后点击TAB切换到侧面板以单击<Edit . . .>
选项。在那里您将能够看到有关您的连接的特定设置的信息,并且在IPv4 CONFIGURATION
-> 您可以设置 DNS 服务器。向下滚动到页面底部,点击 。恕我直言,最大的缺点是您必须为每个连接设置 DNS,并且它似乎没有“获取 ip 但让我使用我自己的 dns”类型的选项,该选项存在于 GUI 应用程序中。
要找出另一种设置 DNS 的方法,它可以为所有网络连接完成工作,请参阅我对另一个问题的回答。我写了一个小脚本,您可以在至少一次连接到接入点后将 DNS 更新为您想要的任何内容。
查看您使用的 DNS 服务器
14.04 及更早版本具有nm-toool
命令,可显示有关您的连接的扩展信息。要仅查看 DNS 使用情况nm-tool | grep -i dns
或nm-tool | awk '/DNS/'
. 你也可以为特定的接口做nmcli dev list | awk '/DNS/'
或nmcli dev list iface wlan0 | awk '/DNS/'
15.04没有nm-tool
,但nmcli
仍然可以使用不同的语法。nmcli dev show
将显示有关接口的扩展信息,nmcli dev show wlan0
仅显示有关无线接口的信息,并且nmcli dev show | awk '/DNS/' or
nmcli dev show | grep DNS` 将具体显示您当前使用的 DNS
无论版本如何,您都应该能够cat /run/resolvconf/resolv.conf
看到当前活动连接的名称服务器。
归档时间: |
|
查看次数: |
14802 次 |
最近记录: |