一种停止让armbian获取IPv6地址的方法

因为特别的安全需要,我有一台Armbian设备需要被设置为无法通过公网IPv6地址访问到。但是网上给出的关闭IPv6的方法似乎都不可用,重启后都将自动恢复。包括:

  • 修改sysctl.conf
  • 修改/boot/armbianEnv.txt
  • 使用nmcli禁用IPv6
  • 使用ntmui-edit禁用IPv6

等等。

经深入发掘发现,归因于armbian的网络配置方式,其会创建一个/etc/netplan/30-wifis-dhcp.yaml文件,内容如下:

# Created by Armbian firstlogin script
network:
  wifis:
    wlan0:
      dhcp4: yes
      dhcp6: yes
      access-points:
        "SSID":
         password: "PASSWORD"

合理推测,归因于该文件的存在,每次重启系统都将自动重新创建一个wlan0设备,导致重启前通过nmcli/ntmui-edit修改的网络配置被覆盖,也就导致了禁用IPv6的相关配置不会被保存。

一种比较快捷的即时修复办法是:

# Created by Armbian firstlogin script
network:
  wifis:
    wlan0:
      dhcp4: yes
      dhcp6: no				# 禁用从DHCP6获取IPv6地址
      accept-ra: no		  # 不使用路由器下发的IPv6配置
      access-points:
        "SSID":
         password: "PASSWORD"

再次重启检查ip -6 addr,设备只能获取到fe80::的本地地址了。

有证据表明删除该文件即可阻止系统重新创建设备。未经尝试。

参考资料

https://askubuntu.com/questions/1378885/network-manager-settings-not-sticking-after-reboot#answers

posted @ 2026-01-08 00:31  IZWB-003  阅读(9)  评论(0)    收藏  举报