[步骤] dnsmasq 的搭建 (DNS 服务)

步骤一:安装 dnsmasq

# yum install dnsmasq

步骤二:添加 DNS 配置

# vi /etc/dnsmasq.d/address.conf

创建以下内容:

all-servers
server=1.1.1.1
server=8.8.8.8

server=/cn/114.114.114.114

address=/test-gateway.com/192.168.100.1

host-record=gateway.com,192.168.100.1


补充:
1) 这里的 all-servers 代表同时解析下面所有的 DNS 记录
2) 这里的 server=1.1.1.1 和 server=8.8.8.8 代表上游 DNS 服务器使用 1.1.1.1 和 8.8.8.8
3) 这里的 server=/cn/114.114.114.114 代表以 cn 结尾的域名上游 DNS 使用 114.114.114.114
4) 这里的 address=/test-gateway.com/192.168.100.1 代表所有以 test-gateway.com 结尾的域名 (例如 one.test-gateway.com) 指向 IP 地址 192.168.100.1
5) 这里的 host-record=gateway.com,192.168.100.1 代表 gateway.com 域名指向 IP 地址 192.168.100.1

步骤三:重启 dnsmasq 服务

3.1 重启 dnsmasq 服务

# systemctl restart dnsmasq.service 

3.2 查看 dnsmasq 服务状态

# systemctl status dnsmasq.service
● dnsmasq.service - DNS caching server.
   Loaded: loaded (/usr/lib/systemd/system/dnsmasq.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2025-08-14 00:00:35 CST; 7s ago
 Main PID: 10412 (dnsmasq)
    Tasks: 1 (limit: 5781)
   Memory: 704.0K
   CGroup: /system.slice/dnsmasq.service
           └─10412 /usr/sbin/dnsmasq -k

Aug 14 00:00:35 tool1 dnsmasq[10412]: compile time options: IPv6 GNU-getopt DBus no-i18n IDN2 DHCP>
Aug 14 00:00:35 tool1 dnsmasq[10412]: using nameserver 114.114.114.114#53 for domain cn
Aug 14 00:00:35 tool1 dnsmasq[10412]: using nameserver 8.8.8.8#53
Aug 14 00:00:35 tool1 dnsmasq[10412]: using nameserver 1.1.1.1#53
Aug 14 00:00:35 tool1 dnsmasq[10412]: reading /etc/resolv.conf
Aug 14 00:00:35 tool1 dnsmasq[10412]: using nameserver 114.114.114.114#53 for domain cn
Aug 14 00:00:35 tool1 dnsmasq[10412]: using nameserver 8.8.8.8#53
Aug 14 00:00:35 tool1 dnsmasq[10412]: using nameserver 1.1.1.1#53
Aug 14 00:00:35 tool1 dnsmasq[10412]: ignoring nameserver 192.168.100.11 - local interface
Aug 14 00:00:35 tool1 dnsmasq[10412]: read /etc/hosts - 2 addresses 

步骤四:使用配置好的 dnsmasq 服务

# vi /etc/resolv.conf

将全部内容修改如下:

nameserver 192.168.100.11

(补充:这里的 192.168.100.11 指的是刚刚搭建 dnsmasq 服务的服务器的 IP 地址)

步骤五:测试 dnsmasq 服务

5.1 测试 DNS 正向解析

# nslookup test-gateway.com
Server:		192.168.100.11
Address:	192.168.100.11#53

Name:	test-gateway.com
Address: 192.168.100.1

(补充:这里以正向解析刚刚配置的域名 test-gateway.com 为例)

5.2 测试 DNS 反向解析

# arp 192.168.100.1
Address                  HWtype  HWaddress           Flags Mask            Iface
_gateway                 ether   52:54:00:ef:3a:4d   C                     eth0

(补充:这里以反向解析刚刚配置的 IP 地址 192.168.100.1 为例)

[排错] 解决 Ubuntu dpkg 数据库损坏 (apt 更新到一半时意外中断)

解决方法:

步骤一:重新配置 dpkg 数据库

# sudo dpkg --configure -a

步骤二:修复 apt 的中断

# sudo apt install --fix-broken

步骤三:删除报错的软件包

# sudo apt remove --purge postfix

(补充:这里以删除报错的 postfix 软件包为例)

步骤四:删除不用的软件包

4.1 清理 apt 缓存

# sudo apt clean

4.2 删除不用的软件包

# sudo apt autoremove

步骤五:更新所有软件包

5.1 下载所有需要更新的软件包

# sudo apt update

5.2 升级所有软件包

# sudo apt upgrade

步骤六:重新安装前面报错并删除的软件包

# sudo apt-get install postfix

(补充:这里以重新安装前面报错并删除的 postfix 软件包为例)

[内容] 软件源的设置 (Ubuntu 版)

内容一:添加 Ubuntu 软件源

# cat /etc/apt/sources.list
# Ubuntu sources have moved to /etc/apt/sources.list.d/ubuntu.sources
# vim /etc/apt/sources.list.d/ubuntu.sources

创建以下内容:

Types: deb
URIs: http://security.ubuntu.com/ubuntu/
Suites: noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

内容二:添加第 3 方软件源

# cat /etc/apt/sources.list
# Ubuntu sources have moved to /etc/apt/sources.list.d/ubuntu.sources
# vim /etc/apt/sources.list.d/ubuntu.sources

创建以下内容:

Types: deb
URIs: http://mirrors.aliyun.com/ubuntu/
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

(补充:这里以添加阿里云的软件源为例)

[步骤] Linux 重启后网卡上没有 IP 地址的处理方法

步骤一:在硬件管理页面检查物理网卡是否联通

记录需要使用的网络端口的网卡机器码 (MAC) 地址

(步骤略)


注意:
1) 只有物理机才需要完成这步
2) 当物理机 1 个网络模块上有 2 个网络端口时,要特别注意 2 个网络端口各自的网卡机器码 (MAC) 地址,例如:戴尔服务器网络端口的网卡机器码 (MAC) 地址在页面的最下方

步骤二:在系统中查看对应的网卡是否联通

2.1 使用 IP 命令查看对应的网卡是否联通

# ip a s

或者:

# ip address show

(补充:当出现 ”UP“ 字样时代表网卡已经启动)

(注意:nmcli device show 命令不能确认此时网卡是否联通)

2.2 使用 ethtool 命令查看对应的网卡是否联通

# ethtool eth0

(注意:nmcli device show 命令不能确认此时网卡是否联通)

步骤三:尝试配置临时 IP 地址和临时网关 (只有当确认网卡是联通的时候才进行以下操作)

3.1 尝试配置临时 IP 地址

# ifconfig eth0 192.168.0.2/24

或者:

# ip a add 192.168.0.2/24 dev eth0

(补充:这里以给 eth0 网卡添加临时 IP 地址 192.168.0.2/24 为例)

(注意:只有当确认网卡是联通的时候才进行此操作)

3.2 尝试配置临时网关

# route add default gw 192.168.0.1

或者:

# ip route add default via 192.168.0.1

(注意:只有当确认网卡是联通的时候才进行此操作)

3.3 查看配置的临时 IP 地址和临时网关

3.3.1 查看配置的临时 IP 地址
# ip a s
3.3.2 查看配置的临时网关
# route -n