欢迎各位兄弟 发布技术文章
这里的技术是共享的
macos DNS 服务器不起作用了
如果您的 macOS 上的 DNS 服务器不起作用,您可以尝试以下步骤来解决问题:
检查网络连接:
确保您的 Mac 已连接到互联网,并且网络连接是稳定的。
尝试重启您的路由器或调整您的网络设置,以查看问题是否仍然存在。
清除 DNS 缓存:
打开“终端”应用程序(您可以在“应用程序”文件夹的“实用工具”文件夹中找到它)。
输入以下命令并按下回车键来清除 DNS 缓存:sudo killall -HUP mDNSResponder
输入您的管理员密码(如果需要),然后等待命令执行完成。
更改 DNS 服务器:
打开“系统偏好设置”,然后点击“网络”。
选择您当前使用的网络连接(例如 Wi-Fi 或以太网)。
点击“高级”按钮,然后在弹出的窗口中选择“DNS”选项卡。
您可以尝试删除现有的 DNS 服务器地址,并添加新的 DNS 服务器地址,例如 Google 的 8.8.8.8 和 8.8.4.4。
点击“应用”按钮保存更改,然后退出高级设置。
重启网络服务:
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
sudo killall mDNSResponderHelper
sudo dscacheutil -flushcache
有时,重启网络服务可以解决 DNS 问题。在终端中输入以下命令:
等待命令执行完成后,检查 DNS 是否恢复正常。
检查防火墙设置:
确保 macOS 的防火墙设置没有阻止 DNS 解析。您可以前往“系统偏好设置”中的“安全性与隐私”来检查和调整防火墙设置。
更新操作系统和软件:
确保您的 macOS 和所有相关应用程序(包括浏览器和网络工具)都已更新到最新版本。
过时的软件可能与最新的 DNS 服务不兼容。
联系网络管理员或 ISP:
如果您在公司网络或特定网络环境中,可能需要联系网络管理员以获取帮助。
如果您使用的是家庭网络,并且问题仍然存在,您可以尝试联系您的互联网服务提供商(ISP)以获取支持。
重置网络设置:
如果上述方法都不起作用,您可以考虑重置 macOS 的网络设置到默认值。这可以通过在“系统偏好设置”中的“网络”里选择“位置”菜单,然后点击“编辑位置”来创建一个新位置,然后重新设置网络配置。
请注意,在尝试上述步骤时,您可能需要管理员权限来执行某些操作。如果您不确定如何操作,或者担心可能会损坏系统设置,建议寻求专业的技术支持。
macos 命令行 获取 dns 服务器
在 macOS 的命令行中,您可以使用多种方法来获取当前配置的 DNS 服务器地址。以下是几种常用的方法:
networksetup
命令networksetup
是一个用于管理网络设置的命令行工具。您可以使用 -getdnsservers
选项来获取 DNS 服务器列表。
打开终端,然后输入以下命令:
bash复制代码networksetup -getdnsservers Wi-Fi
请将 Wi-Fi
替换为您当前正在使用的网络服务的名称。如果您是通过以太网连接的,则可能要将 Wi-Fi
替换为 Ethernet
或其他相应的服务名称。
scutil
命令scutil
是一个更强大的工具,用于查询和修改系统配置。
打开终端,然后输入以下命令:
bash复制代码scutil --dns
这将显示 DNS 配置的详细信息,包括服务器地址。
cat
命令查看 /etc/resolv.conf
文件在 macOS 10.14 (Mojave) 及更早版本中,/etc/resolv.conf
文件通常包含当前 DNS 服务器的信息。然而,在较新的 macOS 版本中,这个文件可能是一个符号链接,指向一个由 mDNSResponder
管理的动态文件。
尽管如此,您仍然可以查看它来获取 DNS 服务器信息:
bash复制代码cat /etc/resolv.conf
请注意,在新版本的 macOS 中,直接编辑这个文件通常不会有任何效果,因为 mDNSResponder
会根据需要重写它。
ipconfig
命令虽然 ipconfig
主要是用来显示网络接口配置信息的,但您也可以结合 grep
命令来查找 DNS 服务器的信息:
bash复制代码ipconfig getpacket en0 | grep 'domain_name_server'
请将 en0
替换为您的网络接口的标识符。您可以使用 networksetup -listallnetworkservices
命令来查看所有网络接口及其标识符。
在使用命令行工具时,确保您有足够的权限来执行这些命令。如果需要,可以在命令前加上 sudo
来获取管理员权限。
根据 macOS 的版本和您的系统配置,某些命令的输出可能会有所不同。如果某个命令不起作用,请尝试其他方法。
在 macOS Catalina 及更高版本中,/etc/resolv.conf
可能不再直接包含 DNS 信息,而是作为一个符号链接存在,其实际内容由 mDNSResponder
动态管理。因此,查看这个文件可能不会给出直接的 DNS 服务器信息。在这种情况下,使用 scutil
或 networksetup
命令可能更为可靠。
macos 命令行 设置 dns 服务器
在 macOS 中,你可以通过命令行设置 DNS 服务器。以下是如何使用 networksetup
命令来设置 DNS 服务器的步骤:
打开终端(Terminal)。你可以通过点击电脑右上角的启动(Launchpad)图标,然后搜索“终端”来找到它。
使用 networksetup -listallnetworkservices
命令列出当前所有的网络设备。在输出的列表中,找到你想要设置 DNS 的网络服务的名称,比如 Wi-Fi 或 Ethernet。
使用 networksetup -setdnsservers
命令来设置 DNS 服务器。你需要提供网络服务的名称和 DNS 服务器的地址。例如,如果你想要设置 Wi-Fi 的 DNS 服务器为 8.8.8.8 和 8.8.4.4(Google 的公共 DNS),你可以输入以下命令:
bash复制代码networksetup -setdnsservers Wi-Fi 8.8.8.8 8.8.4.4
请注意,这里的 "Wi-Fi" 应替换为你实际使用的网络服务的名称。
如果你想要验证 DNS 设置是否成功,可以使用 networksetup -getdnsservers
命令,后面跟上你的网络服务名称。例如:
bash复制代码networksetup -getdnsservers Wi-Fi
这将显示当前为 Wi-Fi 设置的 DNS 服务器地址。
请注意,执行这些命令可能需要管理员权限。如果需要,你可能需要使用 sudo
命令来提供管理员密码。
最后,请注意 DNS 设置可能会因网络环境的改变而被重置,比如当你连接到不同的 Wi-Fi 网络时。如果你发现 DNS 设置被意外更改,你可能需要再次使用 networksetup
命令来设置它们。