最近需要折腾K8S,而折腾K8S的第一步就是为每台主机设置静态IP, 本文以Ubuntu20.04为例,提供一种为Linux设置静态IP的简明教程。
本文Ubuntu20.04开始被随机分配的ip为 10.211.56.6 ,我们的目的是,关闭自由分配的配置选项,将主机的IP设置为静态ip 10.211.56.10
把大象装冰箱,总共分几步?
第1步:把冰箱门打开 第2步:把大象装进去! 第3步:把冰箱门关上
为Ubuntu 20.04 设置静态IP 和把大象装冰箱一样简单(手动狗头)
第1步: 查看当前主机的网卡名,当前ip, 子网掩码,网关地址
ifconfig
如果ifconfig命令无法使用, 请运行以下命令安装net-tools
sudo apt update -y sudo apt install net-tools -y
查看当前主机的网卡名,当前ip, 子网掩码,网关地址
如上图所示:网卡名为 enp0s5, 当前ip 10.211.55.6, 子网掩码 255.255.255.0, 网关地址 10.211.55.1
第2步: 修改配置文件
进入配置文件夹
cd /etc/netplan
备份旧配置文件内容为00-installer-config.yaml_before
sudo cp 00-installer-config.yaml 00-installer-config.yaml_before
桌面版:
sudo cp 01-network-manager-all.yaml 01-network-manager-all.yaml_before
旧 00-installer-config.yaml 的内容为:
# This is the network config written by 'subiquity'
network:
ethernets:
enp0s5:
dhcp4: true
version: 2
修改配置文件
sudo vim 00-installer-config.yaml
更新后的00-installer-config.yaml内容为:
network:
version: 2
renderer: NetworkManager
ethernets:
enp0s5: # 网卡名称
dhcp4: no # 关闭dhcp
dhcp6: no
addresses: [10.211.55.10/24] # 静态ip
gateway4: 10.211.55.1 # 网关
nameservers:
addresses: [8.8.8.8, 114.114.114.114] #dns
# This is the network config written by 'subiquity'
network:
version: 2
renderer: NetworkManager
ethernets:
eno1:
dhcp4: false
dhcp6: false
addresses: [192.168.123.80/24] # 静态ip
gateway4: 192.168.123.1 # 网关
nameservers:
addresses: [8.8.8.8, 114.114.114.114] #dns
eno2:
dhcp4: true
第3步: 使配置生效
sudo netplan apply
查看修改效果
小结
如果你是一个喜欢折腾电子设备的人,为设备设置静态IP, 可以让你更方便的标记和控制家中的电子设备。
当然设置静态IP也有一定风险,如果你给局域网下两台设备设置了同样的IP, 那两台设备就会打架,相互抢占IP,导致设备断网。
我的建议是,对于没有固定IP需求的设备,设备使用默认的DHCP协议,让路由器自动分配IP就好。
Ubuntu 报错 WARNING:gateway4 has been deprecated, use default routes instead... 解决方案
在 /etc/netplan/50-cloud-init.yaml
下配置静态网络:
network:
ethernets:
eth0:
dhcp4: false
addresses: [192.168.1.41/24]
optional: true
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 114.114.114.114]
version: 2
配置完成后应用网络配置的时候出现以下报错:
root@k8s-master-01:~# netplan apply
** (generate:234574): WARNING **: 14:21:04.809: `gateway4` has been deprecated, use default routes instead.
See the 'Default routes' section of the documentation for more details.
** (process:234572): WARNING **: 14:21:06.172: `gateway4` has been deprecated, use default routes instead.
See the 'Default routes' section of the documentation for more details.
root@k8s-master-01:~#
报错的意思是说,gateway4
已被弃用,请改用默认路由。默认路由就是通过 routes
配置 IP
。
修改网络配置如下:
network:
version: 2
renderer: NetworkManager
ethernets:
eno1:
dhcp4: false
dhcp6: false
addresses: [192.168.1.41/24] # 静态ip
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 114.114.114.114] #dns
eno2:
dhcp4: false
dhcp6: false
addresses: [192.168.1.41/24] # 静态ip
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 114.114.114.114] #dns
应用网络配置:
sudo netplan apply
Ubuntu 报错 WARNING:gateway4 has been deprecated, use default routes instead... 解决方案-CSDN博客