跳转至

JARI-WORKS配置网络

Bash
ifconfig enaphyt4i0 192.168.110.133
ifconfig enaphyt4i0 172.18.8.107

下面说明如何对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 启用并启动服务

Bash
sudo systemctl enable --now systemd-networkd

2.3 处理DNS

/etc/resolv.conf文件中写入以下内容

Bash
nameserver 8.8.8.8
nameserver 1.1.1.1

2.3 生效并验证

Bash
sudo systemctl restart systemd-networkd
ip addr show eth0
ip route

设置的IP如果被DHCP覆盖,各种方法都无法解决

尝试各种方法都无效时,使用以下方法:比如某些龙芯2k2000+JARI-works

Text Only
cat /etc/systemd/system/ip-permanent.service(新建此文件)

每2秒尝试一次IP绑定,直到成功

一、为什么要 “即使成功也继续循环”?

核心是为了适配你的精简系统,杜绝任何意外覆盖 IP 的可能

  1. 防 DHCP “复活”:你的系统里有 DHCP 进程(udhcpc/dhclient),可能会在后台自动重启,一旦重启就会重新分配 IP;循环执行能第一时间覆盖回去,相当于 “实时守护”。
  2. 防网卡状态异常:精简系统的网卡驱动可能不稳定,偶尔会出现 IP 丢失、网卡断连的情况,循环执行能自动修复。
  3. 无需判断 “是否已生效”:省去了 “先检查 IP 是否正确,不正确再绑定” 的判断逻辑,简化脚本,避免因判断命令(如 grep)缺失导致脚本失效(你的系统可能连基础工具都精简了)。

二、一直循环绑定的实际影响(几乎可以忽略)

  1. 性能影响ifconfig 是极轻量的系统调用,每 2 秒执行一次对 LoongArch 架构的 CPU、内存消耗微乎其微,完全感受不到卡顿。
  2. 网络影响:重复执行 ifconfig enp0s3f0 172.18.8.105 不会断开网络、不会丢包 —— 系统会识别到 “IP 已存在”,直接跳过设置,只做一次 “无意义的验证”,不会对现有网络连接造成任何干扰。
  3. 日志影响: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

重启系统最终验证

Text Only
sudo reboot

# 重启后检查IP
ifconfig enp0s3f0