在 centOS9 上配置 DNS
contOS 系统下修改 DNS 地址的三种方法:
网卡 DNS 设置
在网卡中设置的 DNS,是永久的,开机重启后依然存在。
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0" BOOTPROTO="dhcp" BOOTPROTOv6="dhcp" ONBOOT="yes" TYPE="Ethernet" USERCTL="yes" PEERDNS="yes" IPV6INIT="yes" PERSISTENT_DHCLIENT="1" # 添加如下内容 DNS1=114.114.114.114 DNS2=8.8.8.8
- DEVICE=eth0:表示网卡物理设备的名字
- BOOTPROTO=dhcp:表示为网卡配置静态还是动态 IP 地址。
- none:表示无须启动协议;
- bootp:表示使用BOOTP协议;
- dhcp:使用 dhcp 协议动态获取 ip 地址;
- static:表示手工设置静态 IP 地址
- ONBOOT=yes:表示启动系统时是否激活网卡,yes 为激活,no 不激活
- TYPE=Ethernet:网络类型
- USERCTL=yes
- PEERDNS=yes:如果 BOOTPROTO 的值为“dhcp”,是否允许 dhcp server 分配的 dns 服务器指向信息直接覆盖至/etc/resolv.conf文件中。
- 当 PEERDNS=yes,且 BOOTPROTO=dhcp,从 dhcp 服务器获取一个 dns 地址,直接覆盖/etc/resolv.conf文件。
- 当 PEERDNS=no,且 BOOTPROTO=dhcp,从 dhcp 获取的 dns 地址,不覆盖/etc/resolv.conf文件,而是由人工指定和维护。
- IPV6INIT=no
- PERSISTENT_DHCLIENT=1:即可保证 dhclient 一直可用。
- HWADDR:表示网卡的MAC地址
- GATEWAY:表示该网关地址
- NETMASK:表示子网掩码
- IPADDR:表示 IP 地址
# 查看网卡服务ifconfig | head # 显示如下: eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.20.147.230 netmask 255.255.240.0 broadcast 172.20.159.255 inet6 fe80::215:5dff:fea8:cb26 prefixlen 64 scopeid 0x20<link> ether 00:15:5d:a8:cb:26 txqueuelen 1000 (Ethernet) RX packets 222959 bytes 122289089 (116.6 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 134995 bytes 400494046 (381.9 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 # 载入网卡配置文件nmcli c reload # 重启指定网卡服务nmcli c up eth0
CentOS 7 中支持network.service
和NetworkManager.service 2种方式配置网络,而在 CentOS 8 中已经废弃network.service
,需要通过NetworkManager.service配置网络。因此通过systemctl restart network
已经无法使用了。Centos 8 主要依靠nmcli来管理网卡。
在 centOS 8 +中,先载入网卡配置文件,然后在重启网卡。
# 载入网卡配置文件nmcli c reload # 重启网卡的三种命令:nmcli c up eth0nmcli d reapply eth0nmcli d connect eth0
# 重启所有网卡:nmcli n off &&nmcli n on # 重启单个网卡:nmcli c down eth0 &&nmcli c up eth0
重启远程连接的网卡时一定要注意使用&&
,否则会影响到远程连接服务器。
DNS 服务器地址设置
在 Linux 下面,有一个默认的 DNS 服务器地址配置文件的设置,存放在/etc/resolv.conf。
vim /etc/resolv.conf
# [network] # generateResolvConf = false nameserver 172.20.144.1 nameserver 114.114.114.114 nameserver 8.8.8.8
配置 nameserver 会即时生效,但是每次重启操作系统会根据/etc/sysconfig/network-scripts/ifcfg-eth0里的 DNS 信息把该文件重写。
修改 hosts 文件
Linux 也有一个hosts文件。
vim /etc/hosts
# [network] # generateHosts = false 127.0.0.1 localhost 127.0.1.1 lanmperPc. lanmperPc <feff> # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 223.231.234.33 www.baidu.com
hosts 文件的作用与 Windows下的 hosts 文件作用相同,可以用该文件设置局域网内机器 IP 与机器名称对应,因其优先级高。