当前位置:网站首页>Ubantu专题5:设置静态ip地址
Ubantu专题5:设置静态ip地址
2022-07-31 14:50:00 【python-码博士】
ubuntu20.04 默认使用动态IP设置,但有时我们需要为其设置静态IP。本文将带着大家彻底搞清楚ubuntu20.04的IP设置方法。
networking 和 network-manager
在开始之前先弄清楚networking
服务和network-manager
服务的区别。
networking
是控制系统网络设置的,如果你修改了相关的网络配置需要重启此服务。
而network-manager
是管理networking
服务的一个图形化管理工具的后台服务程序。
为了继续下面的操作,需要大家安装一下net-tools
,以及ifupdown
,并重启一下系统。
sudo apt install -y ifupdown net-tools
init 6
联通性测试。
一切正常。
至此大家对network-manager
有没有印象了?
继续。
通过修改/etc/network/interfaces 配置静态IP
接下来咱们通过修改``/etc/network/interfaces来配置ubuntu20.04`的静态IP地址。
先来查看一下修改之前的IP地址。
vim /etc/network/interfaces
在文件interfaces
中添加如下内容。
auto lo
iface lo inet loopback
auto ens33
iface ens33 inet static
address 192.168.2.117
netmask 255.255.255.0
gateway 192.168.2.1
此处的address修改成了’192.168.2.117’
我先重启一下network-manager
再查看一下系统的IP地址,你会发现并没有改变。
我们再重启一下networking
服务吧。
systemctl restart networking
已经显示修改后的IP了。
如果通过systemctl restart networking
也无法正常显示修改后的IP的话,可以重启一下系统。 不知此处是不是ubuntu的bug
再用ip a
查看一下
联通性测试
ping baidu.com
网络不通,上述信息提示是因为没有设置DNS
。
修改/etc/systemd/resolved.conf
而不是修改/etc/resolved.conf
,如果修改/etc/resolved.conf
,重启系统DNS会失效。
su
echo "DNS=192.168.2.1 8.8.8.8" >> /etc/systemd/resolved.conf
systemctl restart systemd-resolved
多个DNS之间用空格分开。
重启系统再测试也没问题。
至此通过修改/etc/network/interfaces
文件的方式来配置静态IP的工作完成。
但是通过上述方法修改的静态IP你会发现在桌面右上角的网络图标上有一个"?".
对于有强迫症的人来说,会感觉非常得不爽。
解决方案一:妥协的解决方法–眼不见为净
systemctl stop network-manager
systemctl disable networ-manager
解决方案二:通过图形化界面`network-manager`设置静态IP
继续上面的步骤:先开启network-manager
(系统默认是开启的,上步中眼不见为净的解决方案把它关闭了。)
sudo systemctl enable network-manager
sudo systemctl start network-manager
清空前面我们的interfaces
文件中的配置内容。
cat /dev/null > /etc/network/interfaces
重启系统。
init 6
桌面右上角的网络图标又出现了,点击它。
通过ip a
命令检验。
解决方案三(推荐):使用`netplan` 命令设置静态IP
ubuntu20.04
推荐使用netplan命令设置静态IP地址。
netplan
使用yaml
格式的配置文件来配置网络地址。
vim /etc/netplan/01-network-manager-all.yaml
在01-network-manager-all.yaml
文件中renderer那一行后面添加以下内容。
ethernets:
ens33:
addresses: [192.168.2.116/24]
gateway4: 192.168.2.1
nameservers:
addresses: [192.168.2.1,8.8.8.8]
完成后的文件是下面这个样子。
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
ethernets:
ens33:
addresses: [192.168.2.116/24]
gateway4: 192.168.2.1
nameservers:
addresses: [192.168.2.1,8.8.8.8]
注意yaml
文件是通过缩进来控制上下层级关系的,你的缩进可以是一个空格也可以是N个空格,但要在整个配置文件中要保持一致,并要注意在冒号的后面加一个空格。
让配置文件生效。
netplan apply
联通性测试。
OK
大家可以在修改一下配置文件中的IP地址,通过netplan apply
命令,地址可以立即生效。
设置网络常用的几个命令
# 关闭网卡 ifdown <网卡名称>
sudo ifdown ens33
ifdown: unknown interface ens33
报错的解决方法,使用命令
sudo ip link set ens33 down
# 或者使用命令
sudo ifconfig ens33 down
#开启网卡 ifup <网卡名称>
sudo ifup ens33
ubuntu20.04
中ifup: unknown interface ens33
报错的解决方法,使用命令
sudo ip link set ens33 up
# 或者使用命令
sudo ifconfig ens33 up
An error occurred: 'NetplanApply' object has no attribute 'state'
报错的解决方法。使用命令
netplan try --state /etc/netplan
边栏推荐
猜你喜欢
随机推荐
OAuth2:微服务权限校验Session共享
Groupid(artifact id)
大健云仓冲刺美股:增营收反减利润 京东与DCM是股东
深入浅出边缘云 | 4. 生命周期管理
[QNX Hypervisor 2.2 User Manual] 9.13 rom
小试牛刀:Go 反射帮我把 Excel 转成 Struct
Sentinel服务熔断和降级
MySQL【聚合函数】
Description of Hikvision camera streaming RTSP address rules
MySQL [subquery]
Selenium自动化中无头浏览器的应用
三角恒等变换公式
c语言hello world代码(代码编程入门)
使用 PyTorch 检测眼部疾病
Getting started with UnityShader (1) - GPU and Shader
R语言的画图代码及差异性分析[通俗易懂]
LeetCode二叉树系列——110.平衡二叉树
R语言计算时间序列数据的移动平均值(滚动平均值、例如5日均线、10日均线等):使用zoo包中的rollmean函数计算k个周期移动平均值
Uniapp WeChat small application reference standard components
UnityShader入门学习(一)——GPU与Shader