网络配置(三)

配置方法

Ubuntu 22.04

Ubuntu 22.04 使用 systemd-resolved 作为默认的 DNS 解析服务,它与传统的 /etc/resolv.conf 文件结合使用,但其配置主要通过其他文件进行管理。

  1. /etc/systemd/resolved.conf

    • 这是 systemd-resolved 的主要配置文件。
    • 可以在这里设置全局 DNS 服务器、搜索域等信息。
    • 修改后需要重启 systemd-resolved 服务:sudo systemctl restart systemd-resolved
  2. /etc/netplan/*.yaml(Netplan 配置文件):

    • Netplan 是 Ubuntu 用于网络配置的新工具,它读取 YAML 格式的配置文件并应用相应的网络设置。
    • 在这些文件中可以指定静态 IP 地址、网关、DNS 服务器等。
    • 修改后需要运行 sudo netplan apply 来应用更改。
  3. /etc/resolv.conf

    • 这个文件通常是一个符号链接,指向 /run/systemd/resolve/stub-resolv.conf/run/systemd/resolve/resolv.conf
    • 它由 systemd-resolved 动态生成,不建议直接编辑。
  4. NetworkManager(如果启用):

    • 如果你使用 NetworkManager 管理网络连接,可以通过它的图形界面或命令行工具来配置 DNS 设置。
    • NetworkManager 的配置文件通常位于 /etc/NetworkManager/conf.d//etc/NetworkManager/NetworkManager.conf

CentOS 7

CentOS 7 默认使用 NetworkManager 来管理网络配置,包括 DNS 设置。它依赖于传统的 /etc/resolv.conf 文件,并且没有像 systemd-resolved 这样的独立解析服务。

  1. /etc/resolv.conf

    • 这是主要的 DNS 配置文件,直接包含了 DNS 服务器和搜索域的信息。
    • 虽然可以直接编辑此文件,但推荐通过 NetworkManager 或者其他网络配置工具来修改 DNS 设置,以确保配置的一致性和持久性。
  2. /etc/sysconfig/network-scripts/ifcfg-<interface>

    • 每个网络接口都有一个对应的配置文件,在这里可以指定静态 IP 地址、网关以及 DNS 服务器(通过 DNS1, DNS2 等参数)。
    • 修改后需要重启网络服务:sudo systemctl restart network
  3. NetworkManager

    • 类似于 Ubuntu,如果你使用 NetworkManager,可以通过它的图形界面或命令行工具来配置 DNS 设置。
    • NetworkManager 的配置文件位于 /etc/NetworkManager/ 目录下。

区别总结

  • DNS 解析服务

    • Ubuntu 22.04 使用 systemd-resolved,而 CentOS 7 主要依赖于 NetworkManager 和 /etc/resolv.conf
  • 主要配置文件

    • Ubuntu 22.04 的 DNS 配置集中在 systemd-resolved 和 Netplan 上,而 CentOS 7 则更多地依赖于 /etc/resolv.conf 和 NetworkManager 的配置文件。
  • 动态 vs 静态配置

    • Ubuntu 22.04 的 /etc/resolv.conf 是动态生成的,不应手动编辑;而 CentOS 7 的 /etc/resolv.conf 更加静态,虽然也可以动态更新,但更常见的是直接编辑。
  • 网络配置工具

    • Ubuntu 22.04 推荐使用 Netplan 来配置网络设置,包括 DNS;而 CentOS 7 传统上依赖于 /etc/sysconfig/network-scripts/ 下的配置文件。

常用命令

resolvectl

适用于使用 systemd-resolved 的系统,如 Ubuntu 22.04

显示所有网络接口的 DNS 配置

resolvectl status

root@wenzi:~# resolvectl status
Global
       Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
resolv.conf mode: stub

Link 2 (ens33)
    Current Scopes: DNS
         Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 223.5.5.5
       DNS Servers: 223.5.5.5 8.8.8.8

查询域名的 A 记录

resolvectl query example.com

root@wenzi:~# resolvectl query www.baidu.com
www.baidu.com: 240e:e9:6002:15c:0:ff:b015:146f -- link: ens33
               240e:e9:6002:15a:0:ff:b05c:1278 -- link: ens33
               180.101.50.188                  -- link: ens33
               180.101.50.242                  -- link: ens33
               (www.a.shifen.com)

显示指定接口的 DNS 配置

resolvectl dns eth0

root@wenzi:~# resolvectl dns ens33
Link 2 (ens33): 223.5.5.5 8.8.8.8

nslookup

查询域名对应的 IP 地址

nslookup example.com

指定 DNS 服务器进行查询

nslookup example.com 8.8.8.8

dig

简单 A 记录查询

dig example.com A

使用特定的 DNS 服务器查询

dig @8.8.8.8 example.com

反向 DNS 查找(通过 IP 查域名)

dig -x 93.184.216.34

host

基本域名解析

host example.com

使用指定的 DNS 服务器

host example.com 8.8.8.8

反向查找 IP 地址对应的主机名

host 93.184.216.34

当你要通过`/etc/resolv.conf`或`/etc/dnsmasq.conf`文件来配置DNS服务时,可以按照以下步骤操作: ### `/etc/resolv.conf` 配置 1. 打开`resolv.conf`文件,它通常是文本格式,例如: ``` sudo nano /etc/resolv.conf ``` 2. 添加或编辑DNS服务器地址行。每一行代表一个DNS服务器,例如: ``` nameserver 8.8.8.8 nameserver 8.8.4.4 ``` 3. 可选地,添加搜索域名(domain search),用于解析未指定完整域名的查询,例如: ``` search yourcompany.com localdomain ``` 4. 保存并关闭文件,之后系统会读取这个文件来配置DNS查询。 5. 确认配置更改生效,可以用`nslookup`或`dig`等工具测试DNS解析。 ### `/etc/dnsmasq.conf` 配置 (针对dnsmasq) 1. 打开`dnsmasq.conf`文件: ``` sudo nano /etc/dnsmasq.conf ``` 2. 对于基本配置,添加至少一个区域(zone)或静态条目: ``` domain-needed server=8.8.8.8 server=8.8.4.4 ``` 这里`domain-needed`表示只有在解析请求包含域名时才返回结果,服务器列表是DNS服务器IP地址。 3. 如果你想提供本地主机名到IP的映射,可以添加`hosts`选项: ``` hosts-file=/etc/hosts ``` 4. 根据需求,还可以配置转发规则、DNS缓存、安全选项等。 5. 保存并关闭文件,然后重启dnsmasq服务: ``` sudo service dnsmasq restart ``` 完成以上步骤后,记得检查`/var/log/dnsmasq.log`(对于dnsmasq)或`/var/log/syslog`(对于systemd-resolved)以确认配置是否有效以及有无错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值