服务器有时是通过dhcp动态获取ip的,有时出于远程登录方便的考虑,会将其设置为静态ip,以下是设置静态ip的方法

在 Ubuntu 中设置静态 IP 的方法取决于你使用的网络管理工具(如 netplanNetworkManagerifconfig)。以下是不同 Ubuntu 版本的设置方法:


一、静态ip设置

方法 1:使用 Netplan(Ubuntu 18.04+ 默认方式)

适用于 Ubuntu 18.04 及更高版本,使用 netplan 管理网络。

步骤 1:查看网络接口

ip a

找到要配置的网卡名称(如 ens33eth0enp0s3)。

步骤 2:编辑 Netplan 配置文件

sudo nano /etc/netplan/01-netcfg.yaml

(文件名可能不同,如 00-installer-config.yaml

步骤 3:配置静态 IP

修改文件内容(示例):

network:
  version: 2
  renderer: networkd  # 或 NetworkManager(如果使用 GUI)
  ethernets:
    ens33:            # 你的网卡名称
      dhcp4: no       # 禁用 DHCP
      addresses: [192.168.1.100/24]  # 静态 IP 和子网掩码
      gateway4: 192.168.1.1          # 网关
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4] # DNS 服务器

注意

  • 缩进必须使用空格(不能使用 Tab)。
  • gateway4 在较新版本中可能被替换为 routes
  • gateway4、nameservers需要根据实际情况填写,查找方式参照二、网关地址查找三、查看地址DNS

步骤 4:应用配置

sudo netplan apply

如果报错,可先运行:

sudo netplan --debug apply

方法 2:使用 NetworkManager(GUI / 命令行)

适用于桌面版 Ubuntu 或使用 NetworkManager 的系统。

GUI 方式

  1. 进入 SettingsNetwork
  2. 选择对应连接 → IPv4 → 选择 Manual
  3. 填写 IP、子网掩码、网关和 DNS → 保存。

命令行方式

nmcli con mod "有线连接 1" ipv4.addresses 192.168.1.100/24
nmcli con mod "有线连接 1" ipv4.gateway 192.168.1.1
nmcli con mod "有线连接 1" ipv4.dns "8.8.8.8,8.8.4.4"
nmcli con mod "有线连接 1" ipv4.method manual
nmcli con up "有线连接 1"

(连接名称可通过 nmcli con show 查看)


方法 3:传统配置(ifconfig,适用于旧版)

适用于 Ubuntu 16.04 或更早版本。

编辑 /etc/network/interfaces

sudo nano /etc/network/interfaces

修改内容:

auto eth0
iface eth0 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8 8.8.4.4

重启网络服务

sudo systemctl restart networking

验证配置

ip a       # 检查 IP 是否生效
ping google.com  # 测试网络连通性
nmcli con show   # 查看 NetworkManager 连接

如果遇到问题,请检查:

  • 网卡名称是否正确。
  • 网关和子网是否匹配局域网。
  • 是否冲突了 DHCP 分配的 IP。

二、网关地址查找

在 Ubuntu 系统中,可以通过多种方式查看当前网络的默认网关(Gateway),以下是几种常用的方法:


方法 1:使用 ip route 命令(推荐)

ip route show default

ip route | grep default

输出示例

default via 192.168.1.1 dev eno1 proto dhcp metric 100
  • 192.168.1.1 就是默认网关地址。
  • dev eno1 表示使用的网络接口。

方法 2:使用 route -n 命令

route -n

输出示例

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 eno1
  • 0.0.0.0(Destination)表示默认路由。
  • 192.168.1.1(Gateway)就是默认网关。

方法 3:使用 netstat -rn 命令

netstat -rn

输出示例

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 eno1
  • 0.0.0.0 行对应的 Gateway 就是默认网关。

方法 4:使用 nmcli(适用于 NetworkManager)

nmcli device show eno1 | grep IP4.GATEWAY

eno1 替换为你的网卡名称,可通过 ip a 查看)

输出示例

IP4.GATEWAY:                            192.168.1.1

方法 5:查看 Netplan 或 NetworkManager 配置文件

  • Netplan(Ubuntu 18.04+):

    cat /etc/netplan/*.yaml
    

    查找 gateway4routes 字段。

  • NetworkManager(GUI 或 nmcli):

    nmcli con show "你的连接名" | grep gateway
    

总结

方法 命令 适用场景
ip route ip route show default 推荐,适用于所有 Linux
route -n route -n 传统方式,较老系统
netstat -rn netstat -rn 兼容性较好
nmcli nmcli device show <网卡> 仅适用于 NetworkManager
配置文件 cat /etc/netplan/*.yaml 查看静态配置的网关

三、查看地址DNS

在 Ubuntu 系统中,可以通过以下方法查看当前配置的 DNS 服务器地址


方法 1:使用 systemd-resolve(推荐,Ubuntu 17.10+)

systemd-resolve --status

或简写:

resolvectl status

输出示例

Link 2 (eno1)
      Current Scopes: DNS
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 8.8.8.8
                      8.8.4.4
          DNS Domain: ~
  • DNS Servers 部分显示当前使用的 DNS 地址(如 8.8.8.88.8.4.4)。

方法 2:查看 /etc/resolv.conf(传统方式)

cat /etc/resolv.conf

输出示例

nameserver 8.8.8.8
nameserver 8.8.4.4

注意:在 Ubuntu 17.10+ 上,此文件可能由 systemd-resolved 动态管理,直接修改可能无效。


方法 3:使用 nmcli(NetworkManager 用户)

nmcli dev show | grep DNS

或查看具体连接:

nmcli con show "你的连接名" | grep ipv4.dns

输出示例

IP4.DNS[1]:                             8.8.8.8
IP4.DNS[2]:                             8.8.4.4

方法 4:使用 dig(测试 DNS 解析)

dig +short google.com

如果返回 IP 地址(如 142.250.190.46),说明 DNS 解析正常。


方法 5:查看 Netplan 配置(静态 DNS)

如果使用 Netplan 配置静态 DNS:

cat /etc/netplan/*.yaml

查找 nameservers 部分:

nameservers:
  addresses: [8.8.8.8, 8.8.4.4]

总结

方法 命令 适用场景
systemd-resolve resolvectl status 推荐,Ubuntu 17.10+
/etc/resolv.conf cat /etc/resolv.conf 传统方式(可能动态生成)
nmcli nmcli dev show | grep DNS NetworkManager 用户
dig dig +short google.com 测试 DNS 是否生效
Netplan cat /etc/netplan/*.yaml 查看静态配置的 DNS

如果 DNS 不生效,可尝试:

sudo systemctl restart systemd-resolved

或手动指定临时 DNS:

echo "nameserver 1.1.1.1" | sudo tee /etc/resolv.conf
Logo

纵情码海钱塘涌,杭州开发者创新动! 属于杭州的开发者社区!致力于为杭州地区的开发者提供学习、合作和成长的机会;同时也为企业交流招聘提供舞台!

更多推荐