#每日一记#KaLi添加路由问题,设置开机自启动脚本rc.local文件不存在问题
  

sailyang 9954

{{ttag.title}}
本帖最后由 sailyang 于 2020-12-7 19:23 编辑

由于项目需要,需要在kali上添加一条路由,并且保证重启后仍然生效。经查找发现有两种可行的方法:

1、修改/etc/network/interfaces配置文件,添加一行,如:
up route add -net 10.105.10.0 netmask 255.255.255.255 gw 192.168.1.1 eth0
-net指这是一条网络路由(ip地址主机位为0)
gw指下一跳

2、修改rc.local,添加:route add -net 192.168.114.0/24 dev eth0或
route add -net 192.168.114.0/24 gw 192.168.3.254
那么,为了保证重启仍然生效需要将它写入rc.local配置文件。

第一个方法添加路由后,使用route命令查看路由表;的确是添加了,但实际测试中发现没有起作用,目标仍然不可访问。
第二个方法遇到一个问题,kali把rc.local“ 服务化”了,并没有rc.local配置文件怎么办呢?
解决方法:
vim /etc/systemd/system/rc-local.service
将内容替换为
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99

[Install]
WantedBy=multi-user.target
然后touch /etc/rc.local(正常情况下/etc/rc.local并不是配置文件本身,而是/etc/rc.d/rc.local的软连接;但徒增麻烦不建议那么做)记得赋予执行权限

chmod +x /etc/rc.local
vim /etc/rc.local

添加
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

exit 0
插入脚本就在exit 0之前即可
重启rc-local服务systemctl restart rc-local.service
设置开机自启动systemctl enable rc-local
我将添加路由的shell命令添加到rc.local之后重启发现,并没有成功添加路由;执行systemctl status rc-local.service发现报错显示“网络未启动”在检查了各种错误之后我断定,是启动优先级没有起作用,无奈曲线解决,在启动脚本里添加sleep命令延迟执行脚本,详见我的shell脚本:
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
/usr/local/bin/route-eth0
exit 0
/usr/local/bin/route-eth0:
#!/bin/bash
sleep 15s
route add -net 192.168.114.0/24 dev eth0
exit0

打赏鼓励作者,期待更多好文!

打赏
2人已打赏

发表新帖
热门标签
全部标签>
新版本体验
每日一问
标准化排查
信服课堂视频
GIF动图学习
纪元平台
产品连连看
平台使用
社区新周刊
功能体验
安全效果
高手请过招
【 社区to talk】
答题自测
技术笔记
网络基础知识
云化安全能力
专家问答
安装部署配置
上网策略
2023技术争霸赛专题
每周精选
畅聊IT
技术圆桌
在线直播
MVP
升级
安全攻防
测试报告
日志审计
问题分析处理
流量管理
每日一记
运维工具
用户认证
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
排障笔记本
产品预警公告
玩转零信任
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
卧龙计划
华北区拉练
天逸直播
以战代练
秒懂零信任
技术晨报
技术盲盒
山东区技术晨报
文档捉虫
齐鲁TV
华北区交付直播
2024年技术争霸赛
北京区每日一练
场景专题
故障笔记
排障那些事
西北区每日一问
升级&主动服务
高频问题集锦
POC测试案例
全能先锋系列
专家说
热门活动
产品动态
行业实践
产品解析
关键解决方案

本版达人

新手89785...

本周建议达人

新手78183...

本周分享达人