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/
相关推荐
M158227690557 小时前
跨协议互通利器|SG-PN-EIP (S)-220 Profinet 转 EtherNet/IP 网关,打通欧美 PLC 通讯壁垒
网络·网络协议·tcp/ip
FoldWinCard8 小时前
D5 Linux 网络及端口命令
linux·运维·服务器
零涂毕业设计9 小时前
毕业设计模块开发-OLED显示屏(IIC协议0.96寸)STM32 ESP32 FPGA Linux驱动免费分享
linux·stm32·单片机·嵌入式·esp32·fpga·oled
tedcloud1239 小时前
OmniRoute怎么部署?开源AI模型路由平台Linux部署教程
linux·服务器·人工智能·开源·音视频
霸道流氓气质9 小时前
KMS 密钥管理服务(Key Management Service)原理与实践
linux·服务器·数据库
SakitamaX10 小时前
LVS(Linux Virtual Server)概念详解
linux·运维·lvs
小张同学a.10 小时前
Linux系统管理
linux·运维
阿龙的工作记录10 小时前
深入理解Linux设备驱动模型
linux·嵌入式硬件·工作记录
代码村新手10 小时前
Linux的基本指令
linux·运维·服务器
hkj880811 小时前
Ubuntu 切换java版本
java·linux·ubuntu