Linux 网络配置、DNS设置及密码重置完整教程

Linux 网络配置、DNS设置及密码重置完整教程

1751816011@qq.com
2025-10-19 / 0 评论 / 3 阅读 / 正在检测是否收录...

常见 Linux 系统及 openEuler 网络配置、DNS设置与密码重置完整教程

一、网络配置与 DNS 设置(各系统对比)

系统配置文件位置工具推荐DNS 持久化方法
Ubuntu/etc/netplan/*.yamlnetplan在 netplan 配置中直接设置
Debian/etc/network/interfacesifupdown在 interfaces 文件中设置
CentOS/etc/sysconfig/network-scripts/ifcfg-*nmcli/nmtui在 ifcfg 文件中设置 DNS 参数
openEuler/etc/sysconfig/network-scripts/ifcfg-*nmcli/nmtui使用 nmcli 或编辑 ifcfg 文件
Arch/etc/netctl//etc/systemd/network/netctl在配置文件中直接设置

通用配置方法:

# 查看网络接口
ip addr

# 测试网络连通性
ping -c 4 8.8.8.8

# 检查 DNS 解析
nslookup google.com

各系统详细配置:

1. Ubuntu/Debian (Netplan)

sudo nano /etc/netplan/01-netcfg.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: no
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
sudo netplan apply

2. CentOS/openEuler (nmcli)

sudo nmcli con mod "System eth0" \
  ipv4.addresses 192.168.1.100/24 \
  ipv4.gateway 192.168.1.1 \
  ipv4.dns "8.8.8.8,8.8.4.4" \
  ipv4.method manual

sudo nmcli con down "System eth0" && sudo nmcli con up "System eth0"

3. 传统配置 (Debian/CentOS/openEuler)

sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
sudo systemctl restart NetworkManager
# 或
sudo systemctl restart network

二、密码重置教程(通用方法)

物理机/本地虚拟机重置:

  1. 重启系统,在 GRUB 菜单按 e 进入编辑模式
  2. 修改启动参数

    • Ubuntu/Debian: 在 linux 行末尾添加 init=/bin/bash
    • CentOS/openEuler: 在 linux16 行末尾添加 rd.break
  3. 按 Ctrl+X 启动
  4. 挂载文件系统可写

    mount -o remount,rw /
  5. 重置密码

    passwd username  # 替换为实际用户名
  6. SELinux 处理(RHEL/CentOS/openEuler)

    touch /.autorelabel
  7. 重启系统

    exec /sbin/init
    # 或
    reboot -f

云服务器重置:

  1. 通过云控制台进入恢复模式
  2. 挂载系统分区:

    mount /dev/sda1 /mnt  # 分区可能不同
  3. 重置密码:

    chroot /mnt passwd username
  4. 卸载并重启:

    umount /mnt
    reboot

三、系统特定密码重置方法

1. Ubuntu/Debian

# 在 GRUB 编辑界面添加:
init=/bin/bash

# 启动后执行:
mount -o remount,rw /
passwd username
exec /sbin/init

2. CentOS/openEuler

# 在 GRUB 编辑界面添加:
rd.break

# 启动后执行:
mount -o remount,rw /sysroot
chroot /sysroot
passwd root
touch /.autorelabel
exit
reboot

3. 单用户模式(通用)

# 在 GRUB 编辑界面添加:
single

# 启动后直接使用 passwd 命令
passwd username

四、网络问题排查与验证

网络诊断命令:

# 查看IP配置
ip addr show

# 检查路由表
ip route show

# 测试网关连通性
ping -c 4 192.168.1.1

# 测试DNS解析
dig google.com @8.8.8.8

# 查看DNS配置
cat /etc/resolv.conf

# 检查网络服务状态
systemctl status NetworkManager

常见问题解决:

  1. DNS 不生效

    # 检查是否被覆盖
    ls -l /etc/resolv.conf
    
    # 禁用 NetworkManager 修改
    echo -e "[main]\ndns=none" | sudo tee /etc/NetworkManager/conf.d/90-dns-none.conf
    sudo systemctl restart NetworkManager
  2. 网络服务启动失败

    # 查看日志
    journalctl -xe -u NetworkManager
    
    # 检查配置文件语法
    sudo nmcli con reload
  3. 网卡未激活

    sudo nmcli con up eth0
    sudo dhclient eth0 # 如果使用DHCP

五、安全增强建议

  1. 密码策略

    sudo nano /etc/login.defs
    PASS_MAX_DAYS 90
    PASS_MIN_DAYS 7
    PASS_WARN_AGE 14
  2. SSH 加固

    sudo nano /etc/ssh/sshd_config
    PermitRootLogin no
    PasswordAuthentication no
    AllowUsers your_username
  3. 防火墙配置

    # firewalld (CentOS/openEuler)
    sudo firewall-cmd --permanent --add-service=ssh
    sudo firewall-cmd --reload
    
    # ufw (Ubuntu/Debian)
    sudo ufw allow ssh
    sudo ufw enable

六、操作注意事项

  1. 重要操作前备份

    # 网络配置备份
    sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak
    
    # 密码文件备份
    sudo cp /etc/shadow /etc/shadow.bak
  2. 生产环境建议

    • 使用 SSH 密钥认证代替密码
    • 通过配置管理工具(Ansible/Puppet)管理网络
    • 定期进行密码轮换
  3. 灾难恢复

    • 准备系统恢复镜像
    • 定期测试备份恢复流程
    • 记录关键系统配置信息
所有操作建议在维护窗口进行,并确保有系统快照或备份。对于云环境,优先使用云平台提供的密码重置和网络配置功能。
0

评论 (0)

取消