ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Armbian网络配置实战:用armbian-config搞定主机名、固定IP与Wi-Fi

Armbian网络配置实战:用armbian-config搞定主机名、固定IP与Wi-Fi 1. 为什么建议用armbian-config而不是手动改配置文件1.1 Armbian默认配置的几个痛点刚刷完Armbian进入系统第一眼看到的就是一串乱七八糟的主机名比如“arm-64”或者板子的型号加随机字符在局域网里几乎没法辨认。网络方面它默认走DHCP今天IP是192.168.1.100明天重启就可能变成192.168.1.135你搭的SSH连接、NFS挂载、端口转发全得跟着改。加上大多数Armbian跑在电视盒子、开发板、软路由上后台基本没有图形桌面所有配置都靠命令行和配置文件。对新手来说改一个网络配置可能要同时动好几个文件稍微写错一个标点网络就起不来对老手来说重复敲那些命令也有点浪费时间。我自己第一次给开发板配网络的时候就在/etc/network/interfaces里把gateway写成了子网掩码结果系统起来之后完全上不了网折腾了半天才反应过来。后来用熟了armbian-config才发现很多高频配置根本不需要这样裸手操作。这个工具的真正价值不是“图形化”而是它能把那些分散在不同目录、不同格式的配置项统一收敛起来由它去适配不同版本的Armbian你不用记那么多“这个版本在哪改、那个版本为什么变了”。1.2 armbian-config到底是什么armbian-config是Armbian官方自带的一个终端图形化配置工具很多人叫它TUI也就是Text User Interface可以理解成一个只占用终端窗口的“控制面板”。它把系统里常见的高频配置项收敛到菜单里用上下左右方向键、空格和回车就能操作不用记一长串命令。之所以用TUI而不是网页面板或图形界面是因为Armbian跑的设备五花八门很多板子连显示器接口都没有用户主要通过SSH连接一个纯文本的交互界面最通用只要能登录终端就能打开它。从原理上看armbian-config做的事情并不神秘它本质上是一个带菜单交互的脚本集合根据你选的菜单项去修改系统对应的配置文件、调用systemctl或nmcli这类底层命令。但它的价值在于“兜底”。比如修改主机名时它除了写/etc/hostname还会判断是否需要同步/et/c/hosts少了一个环节它会尽量补上避免你手动改的时候漏掉。这也是我为什么建议新手优先用它而不是直接上手改配置文件——你可以先通过它建立“哪类配置对应哪些文件”的认知之后再去手动改的时候就不容易漏。1.3 动手前的准备工作用这个工具之前我习惯先做两件事。第一保证自己有一条额外的登录通道。如果你是通过SSH远程操作改IP之前最好先把当前IP、网关这些信息记下来或者干脆接一块屏幕和键盘防止网络断掉之后进不去系统。第二备份关键配置。虽然armbian-config本身会尽量把配置写到标准位置但不同版本Armbian的网络管理机制不完全一样官网文档和实际菜单在执行时有细微差别。改之前把/etc/network/interfaces、/etc/systemd/resolved.conf之类可能涉及的文件复制一份到/tmp或自己电脑上出问题能马上回滚。提示无论你用的是哪个版本的Armbian动手之前先确认自己知道“当前系统的登录密码、当前IP、有没有备用登录方式”这三件事。改网络设置最怕的不是改错而是改错之后连不回去。2. 第一次打开armbian-config界面与基本操作2.1 启动和权限在终端里执行sudo armbian-config第一次启动可能会花几秒甚至十几秒加载菜单千万不要以为卡死了。如果你用普通用户直接敲armbian-config很多菜单项会报权限错误因为改主机名、改网络配置这些操作都得写系统级文件必须要有root权限。成功启动之后会看到一个蓝色背景的菜单界面顶部有标题中间是可选项底部有操作提示。这时候它其实已经读取了系统当前的状态比如网卡、主机名、时区所以加载慢一点很正常。如果你在极小内存的板子上运行卡顿会更明显这不是工具坏了而是它在反复读取状态。另外有些精简版镜像可能没有预装armbian-config遇到这种情况先执行sudo apt update sudo apt install armbian-config装好之后再启动。装这个包不会引入很多额外依赖一般几十秒就能完成。2.2 菜单结构快速认识不同版本的菜单结构略有差异但大致都有这样几个固定入口System、Network、Software、Localisation、About。System里通常是主机名、时区、用户密码这类系统级配置Network负责有线、无线、IP、DNS等网络相关设置Software可以配置软件源、安装第三方软件或者做系统更新Localisation调整语言和键盘布局。我经常用到的菜单对应关系大概是这样的供你参考armbian-config菜单常见功能实际对应系统层System → Hostname修改主机名写/etc/hostname可能需要同步/etc/hostsNetwork → Ethernet/WiFi有线/无线网络配置调用NetworkManager或写interfaces配置Network → IP/DNS静态IP、网关、DNS配置写入对应网络连接的IPv4配置Software → Mirrors切换软件源镜像修改/etc/apt/sources.list或armbian.listSystem → SSHSSH开关、端口、密钥设置配置/etc/ssh/sshd_config这里注意Armbian近几个版本一直在调整界面有些版本把Network相关项合并进了System里你在菜单里看到的实际名字可能不完全一样不要死记看功能描述就行。我第一次用新版的时候找Wi-Fi入口找了半天最后发现它从Network菜单挪到了System的Reconfigure network里这就是版本演进带来的差异。2.3 交互操作细节TUI的操作方式和网页不一样方向键上下移动选项Tab切换按钮空格键勾选回车确认。有些新手改完设置直接按Esc退回结果发现配置没保存以为工具坏了——实际上很多页面需要你移动到Save或者OK按钮上按回车才会生效。另外一个细节是进入Wi-Fi子菜单后扫描结果列表默认不会自动刷新想要重新扫描需要找到Refresh或Scan功能项否则你换了路由器之后列表里还是旧的SSID。用这个工具我的习惯是“先看后改”每进一个子菜单先不动任何选项把当前值读一遍。比如我想改网络先到网络菜单里看看现在哪个接口在连、当前IP是什么、DNS填的是什么。这些信息会直接显示在界面上比你回头去命令行敲ip addr再对比要直观得多。看清楚现状之后再做修改能避免很多不必要的误操作。3. 修改主机名从一个随机字符串变成你喜欢的名字3.1 在armbian-config里改第一次改主机名我建议就直接使用armbian-config。进入System菜单后找到Hostname回车会弹出输入框默认显示当前主机名直接改成你想要的短名称比如home-server、nas01。输入完毕后选择OK或Save保存退出工具再开一个终端窗口你会发现提示符已经变成新主机名了。主机名规范里最好只用字母、数字和连字符不要用下划线开头也不要用中文和空格否则部分服务解析起来会出问题。armbian-config改主机名一般会同步写/etc/hostname有些版本还会顺手在/etc/hosts里加一条到127.0.1.1的映射。这也是我优先推荐它的原因——它帮你把人工容易漏掉的那一步也做了。很多人手动改主机名只改/etc/hostname忘了/etc/hosts结果系统解析本机名时仍然用旧名字很多依赖主机名判断的服务就会出错。3.2 hostnamectl和hostname命令的分工如果你更习惯命令行也有两个工具可以用hostname和hostnamectl。hostname命令只能临时修改当前内核里的主机名重启之后又变回原来的名字hostnamectl是systemd体系下的标准工具执行hostnamectl set-hostname your-name它会直接修改/etc/hostname并立即生效这个才是持久化修改。很多教程只教hostname命令新手改完当时看到提示符变了重启后傻眼就是这个原因。从Armbian版本看除非你用的是特别老的内核否则一定是基于systemd的所以hostnamectl基本都能用。我用hostnamectl的概率比armbian-config还高因为命令简单尤其适合在脚本里批量操作。但如果你对命令不熟完全没必要学这个工具里点几下就行。需要注意如果系统里存在cloud-init这类云初始化工具hostnamectl设置的静态主机名可能会被它覆盖但绝大多数Armbian刷机场景不存在这个问题。3.3 改完不生效的排查在Armbian上改了主机名不生效大多数情况是SSH会话的问题。终端提示符里显示的主机名是登录时读取的即使系统已经改了当前已连接的SSH窗口不会自动刷新重开一个连接就会看到新名字。另一个容易被忽略的地方是/etc/hosts比如你原来的主机名是arm-64改成nas01之后/etc/hosts里有可能还残留着一行127.0.1.1 arm-64。这个影响不只是看着别扭有些程序解析本机名时会优先查/etc/hosts找不到映射就会报错sudo在某些时候也会变慢。提示改完主机名顺手执行hostnamectl和cat /etc/hostname确认系统级配置没问题再打开/etc/hosts看旧主机名是否残留。这两个文件保持一致大部分主机名相关的问题都能避免。4. 网络设置实战DHCP、固定IP和Wi-Fi4.1 先搞清楚当前网络是谁在管Armbian不同版本默认的网络管理后端不一样这是很多人配置失败的根本原因。较新的版本默认使用NetworkManager老版本则常见ifupdown加/etc/network/interfaces还有一部分精简版会直接上systemd-networkd。armbian-config在写网络配置时会尽量适配当前的后端但如果你自己混着用一边用nmcli一边改interfaces文件配置就会被互相覆盖。我建议动手之前先执行nmcli device status如果返回了设备列表说明当前是NetworkManager在管事后面无论是用工具还是写配置都以nmcli为准。实际环境里我遇到过不少“看到教程让改/etc/network/interfaces结果改了没用”的情况后来发现系统的网络服务根本就不是ifupdown而是NetworkManager。所以第一件事永远不是打开配置文件而是确认“谁在管理网络”。可以用systemctl status NetworkManager检查服务状态也可以看/etc/resolv.conf的内容它如果是软链接指向/run/Systemd/resolve那说明网络栈很可能走的是systemd-resolved。确认之后后面所有操作才能顺手。4.2 有线网络固定IP的完整配置在armbian-config里给有线网卡配固定IP路径一般是Network → Ethernet或者System里找到Reconfigure network这类入口。进去之后可以选择接口比如eth0、enp1s0然后选择Static模式。填写时需要注意的是IP地址和掩码有些版本会让你直接写192.168.1.100/24这种CIDR格式有些版本则分别填IP和掩码255.255.255.0。网关必须和IP在同一子网否则数据出不去DNS至少要填一个只填IP不填DNS会导致域名解析失败。具体参数可以这样理解假设你路由器的管理地址是192.168.1.1想让板子的IP固定成192.168.1.100那么IP是192.168.1.100掩码是255.255.255.0也就是/24网关是192.168.1.1DNS可以填223.5.5.5或者其他公共DNS。填完之后应用当前SSH连接一般会立刻断开这是正常现象用新IP重连就行。操作之前一定要确认这个IP没有被其他设备占用不然会有IP冲突表现为网络时断时通。4.3 Wi-Fi连接与常见坑给Armbian板子连Wi-Fi在网络菜单里找Wireless/WiFi进入Scan扫描。列表里会出现周围的SSID选中自己的Wi-Fi输入密码即可。有几个坑我反复遇到。第一2.4G和5G频段的问题很多板载天线驱动力一般如果5G一直连不上先去路由器里临时把Wi-Fi切成2.4G试试。第二密码框中输入的内容不会明文显示输错一个字符很难发现建议先在别处编辑好再粘贴进去。第三有些路由器开了隐藏SSID扫描是看不到的这种情况下需要手动在网络配置文件里添加一个connection或者临时取消隐藏连接成功后再改回去。连接成功之后别急着高兴先确认它是不是真的拿到了可用IP。Wi-Fi信号弱、密码错误、路由器开启了MAC过滤都会导致反复掉线或连接超时。用armbian-config连接Wi-Fi后可以直接退回主菜单看状态或者用nmcli device status看wlan0是否显示connected。如果显示connecting很久多半是认证失败去路由器的日志里看具体原因。4.4 多网卡和虚拟化场景如果你用的是带多个网口的板子或者像软路由那样一个网口当WAN一个当LANarmbian-config里操作时先确认接口名。有线网卡的命名在旧版里是eth0、eth1新版常见enp1s0、enx后面一串MAC无线一般是wlan0。在虚拟机里给Armbian挂多个虚拟网卡逻辑也一样先nmcli device status看接口列表再逐个配置。很多人在这一步栽跟头是因为把IP配到了错误的接口上检查时一定要用ip addr把接口名和MAC地址对起来。虚拟机桥接场景稍微特殊一点。如果你用的是VMware或者Proxmox这类虚拟化平台给Armbian虚拟机配置多个桥接网卡时宿主机上要先把对应的虚拟交换机或桥接模式设好进到Armbian系统之后armbian-config看到的其实就是一个或多个网络接口配置方法和物理机没有本质区别。唯一要注意的是接口顺序可能和宿主机添加网卡的顺序不一致所以还是看MAC地址最靠谱。4.5 配置后的验证改完IP不要觉得万事大吉按这个顺序验一遍ip addr看本机IP是否生效ping网关看二层三层通不通ping 223.5.5.5看公网出口是否正常再解析一个域名看DNS是否工作。哪一步不通就停在那一层排查。尤其注意ping不通公网但能ping通网关绝大多数是网关地址写错或者公网DNS不可达如果IP、网关、DNS看起来都对却上不了网检查一下是不是同时存在两个默认路由多网卡机器特别容易出这种问题。我在排障时经常用的命令是ip route它会列出当前所有路由条目。正常情况下只会有一条default路由如果看到多条指向不同网关的default路由就会混乱。出现这种情况把不需要的网卡先用ip link set dev eth1 down临时关掉或者用nmcli把那条多余的连接停掉问题通常立刻解决。5. 顺手做掉的几个系统调优5.1 软件源镜像切换与系统更新网络设置搞定之后我通常会顺手在Software或者Mirrors菜单里把软件源换掉。Armbian官方源服务器距离比较远更新速度不稳定用armbian-config直接选择镜像站点可以省很多时间。进入镜像选择列表后挑一个离你最近的站点比如清华、中科大、阿里云这些常见开源镜像都可以选。选定之后保存并更新再执行sudo apt update看到下载速度上去就说明切换成功。不建议你手动去改/etc/apt/sources.list里的源因为Armbian系统还会带一个armbian.list它指向系统专用的软件仓库只换sources.list改不彻底有可能出现软件包依赖解析失败的情况。用armbian-config切换它会一次性处理这些关联文件。切换源之后顺手做一次sudo apt update sudo apt upgrade很多小版本的问题会在这一步被修复。注意如果运行的是生产环境里的服务升级前先确认没有不兼容的更新内容稳妥起见可以只update不upgrade。5.2 DNS不生效的底层逻辑再深入聊一下DNS。默认情况下DHCP分配的IP会带着来自路由器的DNS服务器地址大多数时候够用。但有些环境DNS解析慢或者不稳定想固定用公共DNS可以在armbian-config网络设置里把DNS填成223.5.5.5或者119.29.29.29。需要注意的是如果你用的是NetworkManager直接改/etc/resolv.conf会在重启后被NetworkManager自动覆盖因为这个文件在现代systemd系统里通常是一个软链接指向/run/systemd/resolve或类似位置。正确的做法是修改NetworkManager的连接配置或者在armbian-config里重新设置DNS。我在实践中遇到最多的情况是用户改了/etc/resolv.conf当时看着没问题重启之后又恢复原样于是反复折腾。其实只要理解了“resolv.conf只是个视图真正的内容由NetworkManager或systemd-resolved生成”这个原理就不会在这个坑里转。想知道当前系统实际生效的DNS用resolvectl status或者nmcli device show比直接看/etc/resolv.conf更准确。5.3 SSH安全与日常维护调优时顺手把SSH安全做一下是我个人很推荐的习惯。Armbian默认开启SSHroot用户可以直接登录端口是22这在局域网里问题不大但只要暴露在公网就很容易被扫描和爆破。armbian-config里通常能找到SSH相关设置把端口改成高位端口关闭root密码登录改用密钥登录。改完SSH配置后记得重启sshd服务并且在当前连接断掉之前先新开一个终端验证能登进去再退出旧的避免把自己锁在外面。密钥登录的做法不复杂在本地电脑生成一对密钥把公钥复制到板子里设置好权限然后在/etc/ssh/sshd_config里把PasswordAuthentication改成noPermitRootLogin改成prohibit-password。这里有个细节如果板子上有多个用户每个用户的家目录.ssh/authorized_keys文件都要有正确的权限否则sshd会直接忽略公钥认证表现就是“明明配了密钥还是要密码”。armbian-config虽然能帮你打开一些选项但密钥本身还是得自己生成和分发这个属于基本功建议动手配一次。6. 常见问题与排查技巧实录6.1 高频问题速查表这几类问题是我在实际使用以及帮别人排查时出现频率最高的整理成一个速查表贴在这里你遇到类似现象可以直接按表操作。问题现象可能原因解决办法改了固定IP后SSH连不上IP写错、网关和IP不在同一网段、IP冲突接屏幕或用nmcli connection reload确认新IP后再重连Wi-Fi能扫描到但一直连接不成功密码错误、5G频段兼容性差、MAC过滤改用2.4G临时测试检查路由器日志主机名重启后又变回旧名字只用了hostname命令没用hostnamectl执行hostnamectl set-hostname持久化能ping通IP但解析不了域名DNS配置有误或resolv.conf被覆盖在armbian-config或nmcli里改DNS不要直接改resolv.conf网络配置重启后恢复原样混用了NetworkManager和interfaces文件统一使用一个网络管理后端用nmcli确认armbian-config菜单空白或退出后不生效版本差异或依赖缺失先sudo apt update重装armbian-config后再试多网卡设备上不了外网出现多条default路由路由表混乱用ip route查看临时down掉多余网卡保留唯一网关6.2 网络排障的四个层级网络出问题我从来都是按物理链路、IP配置、网关路由、DNS解析四个层级去查。物理层看网线、无线信号、交换机指示灯IP层用ip addr看地址、掩码、网卡是否UP路由层用ip route和ping网关再往上才是DNS用nslookup或者dig。这样做的好处是不会在一个已经正常的层上反复折腾。比如你发现ping不通网关就不用去怀疑DNS先把网线换了再说。很多人遇到“改了Wi-Fi后有线也上不了网”的情况多半是路由表重叠简单粗暴的办法是把不需要的接口先down掉一块一块排查。我见过一个案例板子有线连路由器、无线连手机热点两个都启用后外网时好时坏就是因为系统同时拿到了两条默认路由数据包不知道走哪条。把其中一个接口的自动连接关掉之后问题立刻消失。6.3 我踩过的几个坑和给大家的建议最后分享几条经验。第一用armbian-config改任何可能断网的设置前先把当前配置备份到本地。ip addr、ip route、cat /etc/resolv.conf这几条命令的输出复制到记事本里二三十秒的成本关键时候能救命。第二当你想在Wi-Fi环境下把有线网卡改成固定IP时一定要先确认无线连接能作为兜底。否则改完有线连不上、无线又没配好板子基本只能断电接屏幕处理。第三如果想用网络唤醒也就是Wake-on-LANArmbian默认不一定开启网卡的WOL功能armbian-config里也没有统一入口。需要先用ethtool eth0查看当前支持哪些唤醒模式再用ethtool -s eth0 wol g配合systemd服务去实现而且还要确认你的网卡驱动和路由器都支持。第四不同Armbian版本的armbian-config长得不太一样遇到和教程对不上的菜单别慌把菜单逐项看一遍多数功能只是换了位置。我碰到过有人在旧版教程里看到的电源管理选项在新版里被挪到了硬件检测的二级菜单一开始也以为是自己系统出问题了。最后再分享一个我自己的使用习惯。每次调完网络或者主机名我都会顺手在/etc下新建一个backup目录把修改过的配置文件按日期复制一份放进去。这个动作看起来多余但真遇到升级系统后配置被重置、或者手误改错参数的时候能省下大量时间。armbian-config在我看来更像一个“第一选择”——高频操作用它少敲命令少出错真到了需要精细控制的时候再回到命令行兜底。这套方法我在好几块开发板和盒子上实测过稳定性一直让人满意。
返回列表