• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 在 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.serviceNetworkManager.service 2种方式配置网络,而在 CentOS 8 中已经废弃network.service,需要通过NetworkManager.service配置网络。因此通过systemctl restart network已经无法使用了。Centos 8 主要依靠nmcli来管理网卡。

    在 centOS 8 +中,先载入网卡配置文件,然后在重启网卡。

    # 载入网卡配置文件
    nmcli c reload
    
    # 重启网卡的三种命令:
    nmcli c up eth0
    nmcli d reapply eth0
    nmcli 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 与机器名称对应,因其优先级高。