Ubuntu 修改静态IP确定本机网卡

$ ifconfig# 我们要找的网卡信息eno1: flags=4163  mtu 1500        inet 10.10.33.158  netmask 255.255.255.0  broadcast 10.10.33.255        inet6 fe80::f977:78ee:d426:44f0  prefixlen 64  scopeid 0x20        ether 6c:2b:59:fa:d5:59  txqueuelen 1000  (Ethernet)        RX packets 11954820  bytes 9213482467 (9.2 GB)        RX errors 0  dropped 485752  overruns 0  frame 0        TX packets 6430777  bytes 1052165750 (1.0 GB)        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0        device interrupt 16  memory 0x92f00000-92f20000# 本地回环地址,无关lo: flags=73  mtu 65536        inet 127.0.0.1  netmask 255.0.0.0        inet6 ::1  prefixlen 128  scopeid 0x10        loop  txqueuelen 1000  (Local Loopback)        RX packets 144525448  bytes 104065670824 (104.0 GB)        RX errors 0  dropped 0  overruns 0  frame 0        TX packets 144525448  bytes 104065670824 (104.0 GB)        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

如上输出, eno1 是网卡名称,会用于稍后的ip配置

如果有多个网卡输出请排除 docker /虚拟环境等网卡,找到最正常的ip地址所属的网卡(如上 inet 10.10.33.158,或者类似198.162.x.x)

修改网卡配置

# 备份原网卡配置文件$ sudo cp /etc/netplan/01-network-manager-all.yaml  /etc/netplan/01-network-manager-all.yaml.bak# 修改文件sudo vim /etc/netplan/01-network-manager-all.yaml

清空文件后,将以下内容写入到 /etc/netplan/01-network-manager-all.yaml 中、

# 以下内容写入network:  version: 2  renderer: networkd  ethernets:    enp0s31f6:      dhcp4: yes      addresses:        - 10.10.33.xx/24      gateway4: 10.10.33.xxx      nameservers:        addresses: [8.8.8.8]

其中 address 下的10.10.33.xx 应改为你所希望固定的静态ip

gateway4 中的 10.10.33.xxx 应改为正确的网关,末尾会讲解如何查看网关

写入完毕后,保存并退出/etc/netplan/01-network-manager-all.yaml,应用更改

# 退出vim :wq!#应用配置$ sudo netplan apply

sudo netplan apply 成功后,再次键入 ifconfig 即可验证固定ip是否更改成功

查看网关

$ ip rdefault via 10.10.33.1 dev enp0s31f6 proto static default via 10.10.33.254 dev enp0s31f6 proto static default via 10.10.33.254 dev enp0s31f6 proto dhcp src 10.10.33.156 metric 100 10.10.33.0/24 dev enp0s31f6 proto kernel scope link src 10.10.33.39

可以看到有2个 default 的网关 10.10.33.110.10.33.254,那么该如何判断哪一个网关是正确的呢?

最简单的方法是分别将这两个网关写入到 /etc/netplan/01-network-manager-all.yaml 进行尝试。