为什么 Ubuntu 的 IP 地址会变化,而 Windows 通常不会?
默认设置:
在 Windows 中,网络接口通常通过 DHCP (动态主机配置协议) 自动获取 IP 地址,但 Windows 系统默认会在网络接口重新启动时尝试保持原来的 IP 地址。而在 Ubuntu 上,默认的 DHCP 配置会根据 DHCP 服务器分配新的 IP 地址,每次启动或连接网络时可能会发生变化。
DHCP Lease 过期:
DHCP 分配的 IP 地址有一个"租约期",当这个租约过期时,DHCP 服务器会分配一个新的 IP 地址。Windows 有时会向 DHCP 服务器请求保留之前的 IP 地址(如果 DHCP 服务器支持),而 Ubuntu 默认行为是接受新的地址分配。
配置方式:
如果 Ubuntu 系统没有进行静态 IP 设置,它每次连接网络时都会从 DHCP 服务器获取新的 IP 地址,或者在连接恢复时可能会变动。Windows 有时会尝试通过"网络适配器"设置记住之前的 IP 地址,尤其是在同一网络下长时间未断开连接的情况下。
固定 Ubuntu 的 IP 地址(即设置静态 IP)
稳定的网络访问
避免 IP 地址变化: 静态 IP 地址不会随着时间的推移发生变化,因此,如果你在网络中运行服务器或需要远程访问的设备,固定 IP 能确保你每次连接时都能使用相同的地址。这样,你无需担心每次网络重启或设备重连时 IP 地址变化带来的不便。
网络服务和服务器配置
适用于服务器: 如果在 Ubuntu 上运行 Web 服务器(例如 Apache 或 Nginx)、数据库服务器(如 MySQL)、文件服务器(如 Samba 或 NFS)等,固定 IP 地址非常重要。它确保客户端能够始终通过相同的 IP 地址访问这些服务。
路由器或防火墙配置: 固定 IP 使得网络路由器、交换机或防火墙可以基于固定地址进行配置,从而简化了安全设置、端口转发等操作。
避免 DHCP 冲突
DHCP 地址冲突: 如果多个设备尝试从 DHCP 服务器获取相同的 IP 地址,可能会导致网络冲突和不可预见的连接问题。通过分配静态 IP,可以避免这种情况。
远程管理
远程连接: 如果你需要从远程位置(如家里或办公室外)访问你的 Ubuntu 机器,固定的 IP 地址非常重要。你无需每次连接时都重新查找或记住地址。对于使用 SSH、VNC 或 RDP 等远程管理工具的系统管理员来说,静态 IP 是非常有用的。
网络打印机和设备
设备连接: 对于打印机、IP 摄像头等网络设备,静态 IP 地址可以确保它们在任何时候都能被网络中的其他设备(例如电脑、手机等)准确找到,避免每次设备重新启动时 IP 地址变动导致的连接失败。
改善网络性能
减少 DHCP 请求: 在大型网络环境中,DHCP 服务器需要不断处理来自设备的 IP 地址请求。如果所有设备都有固定 IP 地址,那么 DHCP 服务器的负载会减轻,可能会改善整体网络性能。
便于监控与管理
网络监控: 使用静态 IP 可以帮助网络管理员轻松追踪网络中的设备,并对每个设备进行更有效的监控。因为每个设备的 IP 地址是固定的,所以网络日志和监控工具可以精确地记录设备的行为。
域名解析(DNS)
内网 DNS: 如果你在本地网络中使用自定义域名(例如通过 DNS 服务器解析本地地址),固定 IP 可以确保这些域名始终指向相同的设备,避免了由于 DHCP 地址变动而导致的域名解析失败。
更好地与局域网设备协作
局域网服务: 在局域网(LAN)环境中,固定 IP 地址使得各种设备(如打印机、扫描仪、文件共享设备等)始终能够保持稳定的通信。对于共享资源和设备而言,固定 IP 提供了更高的可靠性。
在 Ubuntu 上固定 IP 地址可以通过编辑网络配置文件来完成。下面是操作步骤:
1. 查找网络接口名称
首先,打开终端并查看当前网络接口的名称。运行以下命令:
ip a
或
ifconfig
这些命令将列出所有网络接口的详细信息(例如 eth0, enp3s0 或 wlp2s0 等)。
2. 编辑网络配置文件
Ubuntu 使用 Netplan 来管理网络配置。Netplan 的配置文件通常位于 /etc/netplan/ 目录下。你可以在该目录中找到 .yaml 文件(例如 01-netcfg.yaml)。
用编辑器打开这个文件:
sudo nano /etc/netplan/01-netcfg.yaml
3. 配置静态 IP 地址
假设你的网络接口是 eth0,你可以修改文件内容如下:
network: version: 2 renderer: networkd ethernets: eth0: dhcp4: no addresses: - 192.168.1.100/24 gateway4: 192.168.1.1 nameservers: addresses: - 8.8.8.8 - 8.8.4.4
-
dhcp4: no表示禁用 DHCP 动态获取 IP 地址。 -
addresses是你希望设置的固定 IP 地址。 -
gateway4是默认网关地址。 -
nameservers是 DNS 服务器。
4. 应用更改
保存文件并退出编辑器后,使用以下命令应用更改:
sudo netplan apply
现在你的 Ubuntu 就会使用你设置的固定 IP 地址了。