在管理和维护CentOS服务器的过程中,网络问题是不可避免的,无论是排查连接故障,还是进行网络配置优化,了解如何准确查看服务器的网关和DNS(域名系统)地址都是一项基础且关键的技能,本文将详细介绍在CentOS系统中查看网关和DNS信息的多种方法,旨在帮助系统管理员和用户快速定位和解决网络相关问题。
查看默认网关
网关是连接本地网络与其他网络(如互联网)的关键节点,当数据包的目标地址不在本地网络时,它会被发送到网关,在CentOS中,有多种方式可以查询默认网关。
使用 ip
命令(推荐)
ip
命令是现代Linux发行版中用于显示和操作路由、网络设备、策略路由和隧道的首选工具,它功能强大,语法清晰。
要查看路由表信息,包括默认网关,可以使用以下命令:
ip route show
或者使用更简洁的缩写形式:
ip r
命令输出结果中,寻找以 default
开头的行,这一行明确指出了默认网关的IP地址以及通过哪个网络接口(如 eth0
或 ens33
)到达它。
示例输出:
default via 192.168.1.1 dev ens33 proto static metric 100
192.168.1.0/24 dev ens33 proto kernel scope link src 192.168.1.100 metric 100
在此示例中,168.1.1
就是该CentOS服务器的默认网关地址。
使用 route
命令
route
命令是一个较为传统的工具,用于显示和操作IP路由表,它同样非常有效,尤其在一些旧版本的系统中更为常见。
使用 -n
参数可以阻止命令尝试解析IP地址对应的主机名,从而直接显示数字地址,使输出更快速、更清晰。
route -n
示例输出:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 ens33
192.168.1.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
在输出中,Destination
为 0.0.0
的行代表默认路由,其对应的 Gateway
列下的地址(168.1.1
)就是默认网关。
方法对比
命令 | 描述 | 推荐度 |
---|---|---|
ip r | 现代化、功能强大的路由表查看工具,是未来的标准。 | ★★★★★ |
route -n | 经典工具,简单直接,在多数系统上仍然可用。 | ★★★★☆ |
查看DNS服务器地址
DNS负责将人类易于记忆的域名(如 www.google.com
)解析为机器能够识别的IP地址,正确配置DNS是服务器能够访问互联网资源的前提。
查看 /etc/resolv.conf
文件
这是Linux系统中最为核心的DNS配置文件,系统 resolver 库会读取此文件来确定使用哪些DNS服务器进行域名查询。
使用 cat
或 less
命令即可查看其内容:
cat /etc/resolv.conf
示例输出:
# Generated by NetworkManager
nameserver 8.8.8.8
nameserver 8.8.4.4
search mydomain.local
文件中以 nameserver
开头的行,后面紧跟着的就是DNS服务器的IP地址,在这个例子中,系统配置了两个DNS服务器:8.8.8
和 8.4.4
(均为Google公共DNS)。
注意:在现代使用NetworkManager或systemd-resolved的CentOS版本中,此文件通常是自动生成的,不建议直接手动编辑,因为重启网络服务或系统后,修改可能会被覆盖。
使用 nmcli
命令(推荐)
对于由NetworkManager管理的网络连接,使用nmcli
(NetworkManager Command-Line Interface)是查看和修改网络配置(包括DNS)的最佳实践。
列出所有网络连接:
nmcli connection show
找到你正在活动的连接名称(Wired connection 1
或 ens33
)。
使用以下命令查看该连接的详细信息,并通过 grep
过滤出DNS相关配置:
nmcli connection show "ens33" | grep ipv4.dns
示例输出:
ipv4.dns: 8.8.8.8,8.8.4.4
ipv4.dns-search: mydomain.local
ipv4.dns-options: ""
此方法能准确地显示由NetworkManager为特定连接配置的DNS服务器,是进行持久化配置查询和修改的首选。
使用 dig
命令验证
dig
(Domain Information Groper)是一个强大的DNS查询工具,虽然它主要用于排查DNS解析问题,但也可以用来确认系统当前正在使用哪个DNS服务器。
执行一个任意域名的查询,
dig google.com
在输出的开头部分,可以找到 ;; SERVER: ...
这一行,它显示了本次查询所使用的DNS服务器地址。
示例输出片段:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; QUESTION SECTION:
;google.com. IN A
;; ANSWER SECTION:
google.com. 145 IN A 142.250.199.78
;; Query time: 12 msec
;; SERVER: 8.8.8.8#53(8.8.8.8) <-- 这里显示了使用的DNS服务器
;; WHEN: Tue Oct 26 10:30:00 CST 2025
;; MSG SIZE rcvd: 55
这里明确显示了本次查询使用了 8.8.8
这个DNS服务器。
相关问答 (FAQs)
为什么我直接修改了 /etc/resolv.conf
文件,但重启网络服务或服务器后,DNS设置又恢复原样了?
答: 这是因为在现代的CentOS版本(尤其是7及以后)中,网络连接通常由NetworkManager
服务统一管理。/etc/resolv.conf
文件很可能是由NetworkManager
根据其内部配置动态生成的,当您手动修改后,一旦网络状态发生变化(如重启、重新连接),NetworkManager
会用自己的配置覆盖掉您的修改,为了进行永久性的DNS设置,您应该使用nmcli
命令来修改特定网络连接的ipv4.dns
属性,或者编辑相应的网络配置脚本文件(如/etc/sysconfig/network-scripts/ifcfg-<接口名>
)。
网关地址和DNS地址可以是同一个IP地址吗?
答: 可以的,这种情况在很多小型网络环境中非常普遍,尤其是在家庭或小型办公室网络中,在这种情况下,路由器(网关)通常会同时运行一个DNS转发器,当您的设备将DNS查询请求发送给路由器时,路由器会代为向互联网上的权威DNS服务器发起查询,然后将结果缓存并返回给您,这样做的好处是,对于内部网络中的其他设备来说,网关和DNS服务器的地址都是同一个(即路由器的IP地址),简化了配置,同时路由器的DNS缓存功能也能加快重复域名的解析速度。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复