指令使用

route -n
ip route

分析

eth0: 10.18.86.0/24 这样的表示通常在Linux系统中使用,它指的是网络接口卡(Network Interface Card,简称NIC)的命名和分配给它的IP地址信息

eth0:这是Linux系统中默认的以太网接口名称,代表第一个网络接口卡。在不同的系统上,这个名称可能会有所不同,比如 enp0s3、eth1 等,取决于硬件和网络配置。

10.18.86.0/24:这部分表示分配给这个网络接口的IP地址和子网掩码。

10.18.86.0 是这个子网的第一个IP地址,通常被称为子网的网关地址。
/24 表示子网掩码,它决定了子网的大小。在这个例子中,子网掩码是 255.255.255.0,意味着子网中有256个IP地址(包括网络地址和广播地址),其中 10.18.86.1 到 10.18.86.254 是可供设备使用的IP地址。

这种配置通常用于局域网(LAN)环境,其中 10.x.x.x 是一个私有IP地址范围,不会在互联网上公开路由。因此,eth0: 10.18.86.0/24 表示第一个网络接口卡被分配了一个私有IP地址,用于内部网络通信。
参考:
https://www.cnblogs.com/baiduboy/p/7278715.html
https://www.cnblogs.com/AloneSword/p/3513346.html

使用指令

sudo route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.18.86.1

自动配置 (此法未使用)-手动实现

在Ubuntu 18.04中,你可以使用systemd的netplan来配置网络,或者使用传统的ifup和ifdown脚本来管理网络接口。
但是,直接在systemd服务中执行route命令是不常见的,因为网络配置通常在netplan的配置文件中设置,或者通过ip route命令来管理。

如果你确实需要在系统启动时添加一个路由规则,你可以创建一个自定义的systemd服务单元来执行这个任务。以下是一个简单的示例,展示了如何创建一个服务单元来添加一个静态路由:
创建服务单元文件: 使用文本编辑器创建一个新的文件,并命名为add-route.service。

sudo vim /etc/systemd/system/add-route.service

将以下内容复制到文件中:

[Unit]
Description=Add a static route

[Service]
Type=oneshot
ExecStart=/bin/bash -c 'route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.18.85.1'
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

这个脚本定义了一个类型为oneshot的服务,它在启动时会执行一次route add命令,并在退出后保持状态。

重新加载 systemd 配置:

sudo systemctl daemon-reload

启用并启动服务: 使用以下命令启用和启动服务。这样,在系统启动时,add-route.service会被执行。

sudo systemctl enable add-route.service
sudo systemctl start add-route.service

检查服务状态: 使用以下命令检查服务的状态。

sudo systemctl status add-route.service

请注意,由于systemd服务的特性和设计,直接在服务中添加路由规则可能不是最佳实践。通常,网络配置应该在系统启动时由netplan自动处理,或者在系统运行时由ip命令手动管理。如果你需要动态管理路由,考虑使用netplan的routes字段或在NetworkManager中配置。

# 禁用服务
sudo systemctl disable add-route.service