为什么必须用固定网络地址?

在Linux系统中固定IP地址是服务器管理、网络配置的常见需求,尤其适用于避免DHCP动态分配导致的IP变化,确保服务稳定访问,以下是详细操作指南,涵盖主流发行版(Ubuntu/Debian/CentOS)的两种主流方法:

  • 稳定性:服务器、NAS等设备需永久地址供外部访问。
  • 端口转发:路由器需固定IP映射端口(如SSH、Web服务)。
  • 避免冲突:防止DHCP分配地址与关键设备冲突。

固定IP的两种方法

方法1:使用NetworkManager(推荐桌面/图形界面用户)

适用系统:Ubuntu, Fedora, CentOS(带GUI)

  1. 打开终端,执行以下命令查看网络连接名称:

    nmcli connection show

    记录目标连接名(如ens33Wired connection 1)。

  2. 修改连接配置(以ens33为例):

    sudo nmcli connection modify ens33 ipv4.method manual \
    ipv4.addresses 192.168.1.100/24 \
    ipv4.gateway 192.168.1.1 \
    ipv4.dns 8.8.8.8
    • 168.1.100/24:静态IP及子网掩码(/24=255.255.255.0)
    • 168.1.1:路由器网关地址
    • 8.8.8:DNS服务器(可替换为本地DNS如168.1.1
  3. 应用配置并重启网络

    sudo nmcli connection down ens33 && sudo nmcli connection up ens33

方法2:手动修改配置文件(服务器/无GUI环境)

▍ Ubuntu/Debian 系统(配置文件:/etc/netplan/*.yaml

  1. 编辑配置文件(示例为01-netcfg.yaml):
    sudo nano /etc/netplan/01-netcfg.yaml
  2. 写入配置(根据实际网卡名修改ens33):
    network:
      version: 2
      renderer: networkd
      ethernets:
        ens33:
          dhcp4: no
          addresses: [192.168.1.100/24]
          gateway4: 192.168.1.1
          nameservers:
            addresses: [8.8.8.8, 1.1.1.1]
  3. 应用配置
    sudo netplan apply

▍ CentOS/RHEL 系统(配置文件:/etc/sysconfig/network-scripts/ifcfg-ens33

  1. 编辑网卡配置文件:
    sudo nano /etc/sysconfig/network-scripts/ifcfg-ens33
  2. 修改以下参数
    BOOTPROTO="static"       # 改为static
    IPADDR=192.168.1.100     # 静态IP
    NETMASK=255.255.255.0    # 子网掩码
    GATEWAY=192.168.1.1      # 网关
    DNS1=8.8.8.8             # DNS1
    DNS2=192.168.1.1         # DNS2(可选)
    ONBOOT="yes"             # 开机自启
  3. 重启网络服务
    sudo systemctl restart network

验证配置

  1. 检查IP地址

    ip addr show ens33

    输出应显示配置的静态IP(如168.1.100)。

  2. 测试网络连通性

    ping -c 4 google.com  # 测试DNS解析和外网
    ping -c 4 192.168.1.1 # 测试网关

故障排除

  • IP冲突:若无法联网,检查局域网内是否有其他设备占用相同IP。
  • 网关错误GATEWAY必须与路由器地址一致(通过ip route | grep default查看)。
  • DNS失效:替换为114.114.114或本地ISP提供的DNS。
  • 配置未生效
    • Ubuntu:sudo netplan --debug apply 查看错误日志。
    • CentOS:journalctl -xe 检查网络服务状态。

安全建议

  1. 避免IP暴露:对公网服务使用防火墙(如ufw)限制访问IP。
  2. 子网隔离:将固定IP设备置于独立VLAN,减少内网攻击面。
  3. 定期更新:及时修补系统漏洞(sudo apt update && sudo apt upgrade)。

引用说明
本文参考Linux官方网络管理文档(Netplan、NetworkManager)及Red Hat企业级网络配置指南,确保内容符合最佳实践,实际操作前请备份配置文件,不同硬件环境需调整网卡名称(通过ip link命令获取)。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5425.html

(0)
酷番叔酷番叔
上一篇 2025年6月23日 15:44
下一篇 2025年6月23日 16:33

相关推荐

  • Linux如何安全获取root权限?

    通过 sudo 命令临时获取root权限(推荐)适用场景:执行单条需要root权限的命令,优势:安全可控,系统默认记录操作日志,步骤:在终端输入命令前添加 sudo: sudo 你的命令sudo apt update # 示例:更新软件列表输入当前用户的密码(输入时密码不可见,输入后按回车),权限有效期:默认1……

    2025年7月2日
    15600
  • Linux下GNU工具有哪些实用技巧?

    GNU工具的核心组件及使用GNU Coreutils(核心工具)包含基础文件操作命令,# 文件统计wc -l file.txt # 统计文件行数# 文本处理sort data.txt | uniq -c # 排序并去重计数# 高级查找find /home -name "*.log" -mti……

    2025年7月18日
    16400
  • Linux如何获取主机名称?

    在Linux系统中,主机名称(Hostname)是用于标识网络中设备的唯一名称,它不仅方便用户识别和管理服务器,还在网络通信、服务配置(如Apache、Nginx)以及日志记录中扮演重要角色,获取Linux主机名称的方法多样,既可以通过命令行工具快速查询,也能通过读取配置文件或编程接口实现自动化处理,本文将详细……

    2025年9月20日
    14600
  • Linux命令如何具体访问网站?常用命令如curl、wget怎么操作?

    在Linux系统中,命令行工具提供了高效、灵活的网站访问能力,无论是下载资源、测试网络连通性,还是调试服务,都能通过简洁的命令实现,以下介绍几种常用的Linux命令及其使用方法,帮助用户通过命令行完成网站访问相关操作,curl:多功能网络传输工具curl是Linux中最常用的网络工具之一,支持HTTP、HTTP……

    2025年10月4日
    11900
  • jacob如何在Linux环境中正确部署?

    Jacob(Java-COM Bridge)是一个用于Java程序调用Windows组件对象模型(COM)组件的库,但由于COM技术是Windows特有的,直接在Linux环境中部署Jacob存在原生不兼容的问题,要实现类似功能,需通过模拟环境、替代方案或间接调用等策略,以下是详细的部署步骤及方案分析,理解Ja……

    2025年8月24日
    15400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信