赞
踩
这篇文章是针对2020年下载安装的kali系统碰到的关于 iptables开放22端口失败等一系列问题的解决办法,如果是其它系统,可以借鉴一下思路。
各种报错:
# sudo systemctl start iptables
Failed to start iptables.service: Unit iptables.service not found.
# sudo systemctl enable iptables
Failed to enable unit: Unit file iptables.service does not exist.
# sudo service iptables start
Failed to start iptables.service: Unit iptables.service not found.
# sudo service iptables enable
iptables: unrecognized service
0
1
2
3
4
5
6
7
8
9
10
# sudo systemctl start iptables
Failedtostartiptables.service:Unitiptables.servicenotfound.
# sudo systemctl enable iptables
Failedtoenableunit:Unitfileiptables.servicedoesnotexist.
# sudo service iptables start
Failedtostartiptables.service:Unitiptables.servicenotfound.
# sudo service iptables enable
iptables:unrecognizedservice
下面的错误是怎么出来的我忘了
See systemctl status iptables.service" and "journalctl -xe" for details.
Job for iptables.service failed because the control process exited with error code.
0
1
Seesystemctlstatusiptables.service" and "journalctl-xe"fordetails.
Jobforiptables.servicefailedbecausethecontrolprocessexitedwitherrorcode.
主要思想就是想尽量少的安装其它不必要的命令,所以折腾了好一阵子。
开机启动默认会执行/etc/init.d/ 下的所有可执行文件,
所以,粗暴点,就在这个文件夹(/etc/init.d/)下加个我自己的可执行文件吧,写好shell语言,也方便我以后再折腾。
步骤:
1、创建文件
$ sudo vim /etc/init.d/mrdede.init
文件内容:
#!/bin/sh
### BEGIN INIT INFO
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
### END INIT INFO
# mrdede Custom File
# iptables 开放 22 端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# 开启 SSH 服务
service sshd start
if [ $? -ne 0 ]
then
service ssh start
fi
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/bin/sh
### BEGIN INIT INFO
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
### END INIT INFO
# mrdede Custom File
# iptables 开放 22 端口
iptables-AINPUT-ptcp--dport22-jACCEPT
# 开启 SSH 服务
servicesshdstart
if[$?-ne0]
then
servicesshstart
fi
2、完成后保存 :wq + 回车
3、文件设置来可执行文件
$ sudo chmod +x /etc/init.d/mrdede.init
0
$sudochmod+x/etc/init.d/mrdede.init
4、重启主机
$ sudo reboot
5、验证是否成功。
1)先查看iptable新添加的端口是否存在
$ sudo iptables –list
2)再看service中是的ssh是否启动
$ sudo service –status-all
显示出来的是所有服务,前面带有 [ + ] 表示已启动,[ - ] 表示已关闭
找到ssh ,正常的话应该是已启动,之后还可以看到之前加入到服务器的mrdede.init 文件。
6、完成。
多种原因可以造成同一种问题的表现,所以如果这篇文章没有解决你的问题,可以参考其它文章继续你的折腾。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。