Ubuntu Server如何设置静态ip/固定ip

情况概述

在Ubuntu desktop版本上,我们可以通过Network Manager的GUI来清晰的设置静态ip,但是在服务器系统上,就只能通过修改网络配置文件来完成任务了。
Ubuntu server的网路配置由netplan程序控制,所以我们需要找到netplan的配置文件,修改为我们想要的静态ip,然后重启网络即可。

设置流程

netplan配置文件在/etc/netplan路径下,我们进入此文件夹,发现里面有形如50-cloud-init.yaml的配置文件(文件名不重要)。

user@ubuntu:~$  cd /etc/netplan/
user@ubuntu:/etc/netplan$  ls
50-cloud-init.yaml



我们要修改的就是这个yaml文件。cat 50-cloud-init.yaml可见文件结构类似这样。

# This file is generated ..................
network:
  ethernets:
    eth0:
      dhcp4: true
  version: 2



其中eth0是网络名称,这个不要变;此时网络是靠dhcp获取动态ip。
我们把配置修改成类似下面这样,注意因为是yaml文件,缩进和格式要注意不能错。

# This file is generated ..................
network:
  renderer: networkd
  ethernets:
    eth0:
      addresses:
        - 192.168.1.111/24
      gateway4: 192.168.1.1
      nameservers:
        addresses: [223.5.5.5, 8.8.8.8]
  version: 2



也有一种写法是这样

# This file is generated ..................
network:
  renderer: networkd
  ethernets:
    eth0:
      addresses:
        - 192.168.1.111/24
      nameservers:
        addresses: [223.5.5.5, 8.8.8.8]
      routes:
        - to: default
          via: 192.168.1.1
  version: 2



区别是在于怎么指定网关,DNS也可以依据自己情况修改。
文件修改好后,我们把配置部署到netplan上去,然后查看一下网络验证一下就完成了。

sudo netplan apply
ifconfig