遇到这种错误,断网安装即可!
在Ubuntu中配置静态IP地址的步骤如下。根据你使用的Ubuntu版本(如 Netplan
或传统的 ifupdown
),配置方法有所不同。以下是基于 Netplan 的配置方法(适用于Ubuntu 17.10及更高版本)。
1. 查看当前网络接口
运行以下命令查看当前网络接口名称:
bash
ip a
- 找到你的网络接口名称(如
ens33
、eth0
或enp0s3
)。
2. 编辑Netplan配置文件
Netplan的配置文件通常位于 /etc/netplan/
目录下,文件名可能是 01-netcfg.yaml
或 50-cloud-init.yaml
。使用以下命令编辑配置文件:
bash
sudo nano /etc/netplan/01-netcfg.yaml
3. 配置静态IP
在配置文件中,添加或修改以下内容(根据你的网络需求调整):
yaml
network:
version: 2
renderer: networkd # 或 NetworkManager(如果使用图形界面)
ethernets:
ens33: # 替换为你的网络接口名称
dhcp4: no # 禁用DHCP
addresses:
- 192.168.1.100/24 # 静态IP地址和子网掩码
routes:
- to: 0.0.0.0/0
via: 192.168.1.1 # 网关地址
nameservers:
addresses:
- 8.8.8.8 # DNS服务器
- 8.8.4.4
addresses
: 静态IP地址和子网掩码(如/24
表示子网掩码为255.255.255.0
)。routes
: 网关地址。nameservers
: DNS服务器地址。
4. 应用配置
保存并退出编辑器(Ctrl+O
保存,Ctrl+X
退出),然后运行以下命令应用配置:
bash
sudo netplan apply
5. 验证配置
运行以下命令检查IP地址是否配置成功:
bash
ip a
- 确保你的网络接口已经分配了静态IP地址。
6. 测试网络连接
测试网络是否正常:
bash
ping google.com
- 如果能够正常解析域名并收到回复,说明配置成功。
注意事项
-
如果配置错误导致网络断开,可以通过以下方法恢复:
- 使用
Ctrl+Alt+F2
切换到终端(如果使用图形界面)。 - 重新编辑配置文件并修复错误。
- 运行
sudo netplan apply
重新应用配置。
- 使用
-
如果你使用的是 NetworkManager(图形界面),可以通过以下命令启用Netplan的NetworkManager支持:
bashsudo nano /etc/netplan/01-netcfg.yaml
将
renderer
改为NetworkManager
:yamlrenderer: NetworkManager
完成以上步骤后,Ubuntu系统将使用静态IP地址。
禁用IPV6
在Ubuntu中禁用IPv6可以通过多种方法实现。以下是几种常见的方式,选择适合你的方法进行操作。
方法 1:通过 GRUB 内核参数禁用 IPv6(推荐)
这种方法会全局禁用 IPv6。
-
编辑 GRUB 配置文件:
bashsudo nano /etc/default/grub
-
找到以下行:
bashGRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
-
修改为:
bashGRUB_CMDLINE_LINUX_DEFAULT="quiet splash ipv6.disable=1"
-
更新 GRUB 配置:
bashsudo update-grub
-
重启系统:
bashsudo reboot
-
验证 IPv6 是否已禁用:
bashcat /proc/sys/net/ipv6/conf/all/disable_ipv6
- 如果输出为
1
,表示 IPv6 已禁用。
- 如果输出为
方法 2:通过 sysctl 临时禁用 IPv6
这种方法会临时禁用 IPv6,重启后失效。
-
编辑 sysctl 配置文件:
bashsudo nano /etc/sysctl.conf
-
在文件末尾添加以下内容:
bashnet.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1
-
应用配置:
bashsudo sysctl -p
-
验证 IPv6 是否已禁用:
bashcat /proc/sys/net/ipv6/conf/all/disable_ipv6
- 如果输出为
1
,表示 IPv6 已禁用。
- 如果输出为
方法 3:通过 NetworkManager 禁用 IPv6
如果你使用的是 NetworkManager(图形界面或命令行),可以通过以下方式禁用 IPv6。
-
编辑 NetworkManager 配置文件:
bashsudo nano /etc/NetworkManager/NetworkManager.conf
-
在
[main]
部分添加以下内容:bash[main] ipv6.disable=1
-
重启 NetworkManager:
bashsudo systemctl restart NetworkManager
-
验证 IPv6 是否已禁用:
baship a
- 检查网络接口是否不再显示 IPv6 地址。
方法 4:禁用特定网络接口的 IPv6
如果你只想禁用某个网络接口的 IPv6,可以使用以下方法。
-
编辑 sysctl 配置文件:
bashsudo nano /etc/sysctl.conf
-
添加以下内容(替换
eth0
为你的网络接口名称):bashnet.ipv6.conf.eth0.disable_ipv6 = 1
-
应用配置:
bashsudo sysctl -p
-
验证 IPv6 是否已禁用:
bashcat /proc/sys/net/ipv6/conf/eth0/disable_ipv6
- 如果输出为
1
,表示 IPv6 已禁用。
- 如果输出为
验证 IPv6 是否已禁用
无论使用哪种方法,都可以通过以下命令验证 IPv6 是否已禁用:
bash
ip a | grep inet6
- 如果没有输出,说明 IPv6 已成功禁用。
注意事项
- 禁用 IPv6 后,某些依赖 IPv6 的服务可能会受到影响。
- 如果使用云服务器,请确保云服务商支持禁用 IPv6。
- 如果需要重新启用 IPv6,只需删除相关配置并重启系统即可。
完成以上步骤后,IPv6 将被成功禁用。
重启后配置的静态IP失效的罪魁祸首cloud-init
bash
sudo apt remove --purge cloud-init #x卸载
sudo rm -rf /var/lib/cloud/ # 删除
sudo rm -rf /etc/cloud/