JARI-WORKS配置网络¶
下面说明如何对IP地址进行设置:
2.1 建立10-enp0s3f0.network文件¶
在loongson系统上,可通过挂载sda7,然后修改相应文件。
先通过ifconfig确认网卡名,然后修改/etc/systemd/network/10-enp0s3f0.network的内容
以下是目前的IP设置。
Text Only
Name=enp0s3f0
[Network]
Address=172.18.8.105/16
Gateway=172.18.10.100
DNS=114.114.114.114
DNS=8.8.8.8
2.2 启用并启动服务¶
2.3 处理DNS¶
/etc/resolv.conf文件中写入以下内容
2.3 生效并验证¶
¶
设置的IP如果被DHCP覆盖,各种方法都无法解决¶
尝试各种方法都无效时,使用以下方法:比如某些龙芯2k2000+JARI-works
每2秒尝试一次IP绑定,直到成功
一、为什么要 “即使成功也继续循环”?¶
核心是为了适配你的精简系统,杜绝任何意外覆盖 IP 的可能:
- 防 DHCP “复活”:你的系统里有 DHCP 进程(udhcpc/dhclient),可能会在后台自动重启,一旦重启就会重新分配 IP;循环执行能第一时间覆盖回去,相当于 “实时守护”。
- 防网卡状态异常:精简系统的网卡驱动可能不稳定,偶尔会出现 IP 丢失、网卡断连的情况,循环执行能自动修复。
- 无需判断 “是否已生效”:省去了 “先检查 IP 是否正确,不正确再绑定” 的判断逻辑,简化脚本,避免因判断命令(如
grep)缺失导致脚本失效(你的系统可能连基础工具都精简了)。
二、一直循环绑定的实际影响(几乎可以忽略)¶
- 性能影响:
ifconfig是极轻量的系统调用,每 2 秒执行一次对 LoongArch 架构的 CPU、内存消耗微乎其微,完全感受不到卡顿。 - 网络影响:重复执行
ifconfig enp0s3f0 172.18.8.105不会断开网络、不会丢包 —— 系统会识别到 “IP 已存在”,直接跳过设置,只做一次 “无意义的验证”,不会对现有网络连接造成任何干扰。 - 日志影响:systemd 日志会记录每次执行,但不会占满磁盘(日志有轮转机制),且你的系统大概率是精简日志的,基本无感知。
Bash
[Unit]
Description=Permanent IP Setup (Retry Until Success)
# 不依赖任何服务,系统一启动就尝试执行
After=sysinit.target
[Service]
Type=simple
User=root
# 核心逻辑:每2秒尝试一次IP绑定,直到成功(无视网卡/系统就绪状态)
ExecStart=/bin/sh -c "while true; do killall -9 udhcpc dhclient 2>/dev/null; /sbin/ifconfig enp0s3f0 172.18.8.105 netmask 255.255.0.0; sleep 2; done"
# 即使崩溃也自动重启
Restart=always
RestartSec=1
# 关闭所有安全限制,避免精简系统权限问题
ProtectSystem=no
ProtectHome=no
PrivateDevices=no
[Install]
# 绑定到系统最早期的初始化目标,确保开机就运行
WantedBy=sysinit.target
启用并启动服务
Bash
# 重新加载systemd配置
sudo systemctl daemon-reload
# 设置开机自启(关键)
sudo systemctl enable ip-permanent.service
# 立即启动服务(测试)
sudo systemctl start ip-permanent.service
# 检查服务状态(确保没有报错)
sudo systemctl status ip-permanent.service
验证效果
Text Only
# 先手动清空当前IP(模拟重启)
sudo ip addr del 172.18.8.105/24 dev enp0s3f0 2>/dev/null
# 等待2秒后检查IP,会发现自动恢复了
sleep 2
ifconfig enp0s3f0
重启系统最终验证