快速切换DNS

快速切换DNS

在 Android 中我们有类似的应用程序代达罗斯这是一个本地 VPN(不是远程 VPN),用于快速更改 DNS。我需要在 Ubuntu 中使用这种方式,以便在需要时更改 DNS。

我们有没有什么办法可以创建这种不建立远程隧道而只更改 DNS 的 VPN?或者有任何其他方法可以切换 DNS 服务器,因为我需要频繁切换 DNS。

答案1

可能的方法是:

  1. 禁用 DNS 缓存(例如,这种方式https://tecadmin.net/disable-local-dns-caching-ubuntu/

  2. 将连接更改为“自动(仅限地址)”

  3. 添加您的 DNS,然后更改它。

另一种方法是创建您自己的本地 DNS,它会将您重定向到另一个 DNS,将其设置为您的默认 DNS,然后只需更改本地 DNS 的设置即可。但这并不容易。

在 Android 中可能需要 VPN,因为您无法直接访问网络设置。

另一种方法是使用网络管理器控制台客户端执行此操作,如下所示:

nmcli con modify eth0 +ipv4.dns 8.8.8.8 # add 8.8.8.8 to IPv4 DNS list servers
nmcli con modify eth0 -ipv4.dns 8.8.8.8 # remove 8.8.8.8 from list of DNS

笔记eth0如果需要,请用您的网络接口名称替换。

您还可以为这些命令创建 bash 别名,将以下几行附加到~/.bashrc

alias dns_add='nmcli con modify eth0 +ipv4.dns'
alias dns_rm='nmcli con modify eth0 -ipv4.dns'

像这样使用它们:

$ dns_add 8.8.8.8
$ dns_rm 8.8.8.8

答案2

我这样做了:

/bin/dnsme

#!/bin/bash
sudo cp /etc/resolv.conf /etc/resolv-original.conf
sudo cp /etc/resolv-dnsme.conf /etc/resolv.conf

/bin/undnsme

#!/bin/bash
sudo cp /etc/resolv-original.conf /etc/resolv.conf

/etc/resolv-dnsme.conf

nameserver x.x.x.x
nameserver x.x.x.x
options edns0

相关内容