ubuntu22.40安装及配置静态ip解决重启后配置失效

遇到这种错误,断网安装即可!

在Ubuntu中配置静态IP地址的步骤如下。根据你使用的Ubuntu版本(如 Netplan 或传统的 ifupdown),配置方法有所不同。以下是基于 Netplan 的配置方法(适用于Ubuntu 17.10及更高版本)。


1. 查看当前网络接口

运行以下命令查看当前网络接口名称:

bash 复制代码
ip a
  • 找到你的网络接口名称(如 ens33eth0enp0s3)。

2. 编辑Netplan配置文件

Netplan的配置文件通常位于 /etc/netplan/ 目录下,文件名可能是 01-netcfg.yaml50-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
  • 如果能够正常解析域名并收到回复,说明配置成功。

注意事项

  • 如果配置错误导致网络断开,可以通过以下方法恢复:

    1. 使用 Ctrl+Alt+F2 切换到终端(如果使用图形界面)。
    2. 重新编辑配置文件并修复错误。
    3. 运行 sudo netplan apply 重新应用配置。
  • 如果你使用的是 NetworkManager(图形界面),可以通过以下命令启用Netplan的NetworkManager支持:

    bash 复制代码
    sudo nano /etc/netplan/01-netcfg.yaml

    renderer 改为 NetworkManager

    yaml 复制代码
    renderer: NetworkManager

完成以上步骤后,Ubuntu系统将使用静态IP地址。

禁用IPV6

在Ubuntu中禁用IPv6可以通过多种方法实现。以下是几种常见的方式,选择适合你的方法进行操作。


方法 1:通过 GRUB 内核参数禁用 IPv6(推荐)

这种方法会全局禁用 IPv6。

  1. 编辑 GRUB 配置文件

    bash 复制代码
    sudo nano /etc/default/grub
  2. 找到以下行

    bash 复制代码
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
  3. 修改为

    bash 复制代码
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ipv6.disable=1"
  4. 更新 GRUB 配置

    bash 复制代码
    sudo update-grub
  5. 重启系统

    bash 复制代码
    sudo reboot
  6. 验证 IPv6 是否已禁用

    bash 复制代码
    cat /proc/sys/net/ipv6/conf/all/disable_ipv6
    • 如果输出为 1,表示 IPv6 已禁用。

方法 2:通过 sysctl 临时禁用 IPv6

这种方法会临时禁用 IPv6,重启后失效。

  1. 编辑 sysctl 配置文件

    bash 复制代码
    sudo nano /etc/sysctl.conf
  2. 在文件末尾添加以下内容

    bash 复制代码
    net.ipv6.conf.all.disable_ipv6 = 1
    net.ipv6.conf.default.disable_ipv6 = 1
  3. 应用配置

    bash 复制代码
    sudo sysctl -p
  4. 验证 IPv6 是否已禁用

    bash 复制代码
    cat /proc/sys/net/ipv6/conf/all/disable_ipv6
    • 如果输出为 1,表示 IPv6 已禁用。

方法 3:通过 NetworkManager 禁用 IPv6

如果你使用的是 NetworkManager(图形界面或命令行),可以通过以下方式禁用 IPv6。

  1. 编辑 NetworkManager 配置文件

    bash 复制代码
    sudo nano /etc/NetworkManager/NetworkManager.conf
  2. [main] 部分添加以下内容

    bash 复制代码
    [main]
    ipv6.disable=1
  3. 重启 NetworkManager

    bash 复制代码
    sudo systemctl restart NetworkManager
  4. 验证 IPv6 是否已禁用

    bash 复制代码
    ip a
    • 检查网络接口是否不再显示 IPv6 地址。

方法 4:禁用特定网络接口的 IPv6

如果你只想禁用某个网络接口的 IPv6,可以使用以下方法。

  1. 编辑 sysctl 配置文件

    bash 复制代码
    sudo nano /etc/sysctl.conf
  2. 添加以下内容(替换 eth0 为你的网络接口名称)

    bash 复制代码
    net.ipv6.conf.eth0.disable_ipv6 = 1
  3. 应用配置

    bash 复制代码
    sudo sysctl -p
  4. 验证 IPv6 是否已禁用

    bash 复制代码
    cat /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/
相关推荐
时差freebright1 小时前
【Linux系统】信号:再谈OS与内核区、信号捕捉、重入函数与 volatile
linux·运维·服务器
Victor YU2231 小时前
CMakeFile调试
linux·c++
s_little_monster1 小时前
【Linux】进程状态和优先级
linux·服务器·数据库·经验分享·笔记·学习·学习方法
向上的车轮2 小时前
OpenEuler学习笔记(十七):OpenEuler搭建Redis高可用生产环境
linux·redis·笔记·学习
9毫米的幻想3 小时前
【Linux系统】—— make/makefile
linux·运维·服务器
qq_243050794 小时前
sslh:多协议端口复用工具!全参数详细教程!Kali Linux 教程!黑客渗透教程!
linux·web安全·网络安全·黑客·渗透测试·信息收集·kali linux
大耳朵土土垚4 小时前
【Linux】线程池封装与介绍
java·linux·运维
大丈夫立于天地间5 小时前
Linux 系统上安装 Docker 并进行配置
linux·运维·docker
张琦-Q5 小时前
RK3566-移植5.10内核&Ubuntu22.04
linux·网络协议·ubuntu