Linux服务器查看网络设置及DNS配置

查看网络类型

在 Linux 系统里,常见的网络管理类型有 NetworkManager、systemd-networkd、ifupdown 等,

你可以通过以下方法判断当前系统使用的网络管理类型:

检查服务运行状态

使用 systemctl 命令查看不同网络管理服务的运行状态。

NetworkManager

1
systemctl is-active NetworkManager

若输出 active,表明 NetworkManager 服务正在运行,系统可能使用它管理网络;若输出 inactive,则服务未运行。

systemd-networkd

1
systemctl is-active systemd-networkd

输出 active 意味着 systemd-networkd 正在运行并可能用于网络管理。

注意:

服务激活的前提下,查看是否有配置文件,有的话才算真正使用了。

命令

1
ls /etc/systemd/network

ifupdown(适用于 Debian 系)

1
systemctl is-active networking

在使用 ifupdown 的系统中,networking 服务会处于活动状态。

查看配置文件

不同的网络管理类型对应不同的配置文件。

NetworkManager

检查 /etc/NetworkManager 目录是否存在,以及该目录下是否有相关配置文件,如 NetworkManager.conf

1
ls /etc/NetworkManager

若有输出,表明系统可能使用 NetworkManager。

systemd-networkd

查看 /etc/systemd/network 目录,若该目录下有 .network.netdev 后缀的配置文件,则系统可能使用 systemd-networkd

1
ls /etc/systemd/network

ifupdown(适用于 Debian 系)

检查 /etc/network/interfaces 文件是否存在,若存在且包含网络接口的详细配置,系统可能使用 ifupdown

1
ls /etc/network/interfaces

保留一种方式

在 Linux 系统中,NetworkManagersystemd-networkd 理论上可以同时激活,但通常不建议这样做。

如果两个都激活了我们可以根据实际需求选择其中一个网络管理工具,并停止和禁用另一个。

例如,如果选择使用 NetworkManager,可以使用以下命令停止并禁用 systemd-networkd

1
2
systemctl stop systemd - networkd
systemctl disable systemd - networkd

反之,如果选择 systemd-networkd,则停止并禁用 NetworkManager

1
2
systemctl stop NetworkManager
systemctl disable NetworkManager

DNS配置

临时生效

查看DNS配置

1
cat /etc/resolv.conf

编辑配置

1
vi /etc/resolv.conf

配置如下

1
2
nameserver 223.5.5.5
nameserver 223.6.6.6

注意:

1、resolv.conf 文件中只保留上面的配置,其他的 IP 全部删除

2、虚机重启后需要重新配置 resolv.conf 文件

校验解析

1
2
3
4
ping scapi.xhkjedu.com
nslookup scapi.xhkjedu.com
nslookup scapi.xhkjedu.com 223.5.5.5
dig scapi.xhkjedu.com

校验服务

1
2
telnet scapi.xhkjedu.com 443
curl https://scapi.xhkjedu.com/status/info

退出telnet

1
quit

永久生效

参看下文

NetworkManager网络管理

方式1

根据你的发行版,编辑相应的网络接口配置文件

例如 /etc/sysconfig/network-scripts/ifcfg-eth0 (适用于 Red Hat 系列)或 /etc/network/interfaces (适用于 Debian 系列)。

这里是Red Hat 系列的

先查看网卡名

1
ifconfig

我这里使用的是网卡是enp3s0

编辑对应的文件

1
vi /etc/sysconfig/network-scripts/ifcfg-enp3s0

配置 DNS
在配置文件中添加或修改 DNS 配置,例如:

1
2
3
DNS1=223.5.5.5
DNS2=223.6.6.6
PEERDNS=no

重启网络服务

1
systemctl restart network

方式2

显示所有的网络连接信息

1
nmcli connection show

查看某个网络信息

1
nmcli connection show enp3s0

设置DNS,DHCP 自动分配的 DNS 配置

1
2
nmcli connection modify enp3s0 ipv4.dns "223.5.5.5 223.6.6.6"
nmcli connection modify enp3s0 ipv4.ignore-auto-dns yes
  • ipv4.dns:用于指定自定义的 DNS 服务器地址。
  • ipv4.ignore-auto-dns yes:表示忽略 DHCP 自动分配的 DNS 配置。

*重启网络连接使配置生效**

1
reboot

主机无法解析

网关报错

Failed to resolve ‘host-172-26-69-11’ after 4 queries

但是我们ping这个又能通。

解决方法:

自己添加hosts映射

查看主机名

1
hostname

比如我的是host-172-26-69-11

用文本编辑器来修改该文件:

1
sudo vi /etc/hosts

在文件中找到类似以下的行:

修改

1
172.26.69.11 host-172-26-69-11

测试

1
ping host-172-26-69-11