Shell 如何在fedora启动期间启动脚本或命令

Shell 如何在fedora启动期间启动脚本或命令,shell,fedora,iptables,boot,Shell,Fedora,Iptables,Boot,我尝试了两三个小时,在Fedora23的引导过程中用脚本执行命令 我看到了一些关于chkconfig的教程,但在我的fedora上,我只有systemctl,chkconfig太旧了没有 我尝试创建服务,但即使在重新启动后执行:systemctl enable my_service时,也不会执行我的服务。手动systemctl启动我的\u服务工作 但更奇怪的是,服务启动是因为当我编写systemctl list unit files–type=service时,我看到我的iptablesvpn.

我尝试了两三个小时,在Fedora23的引导过程中用脚本执行命令

我看到了一些关于chkconfig的教程,但在我的fedora上,我只有systemctl,chkconfig太旧了没有

我尝试创建服务,但即使在重新启动后执行:
systemctl enable my_service
时,也不会执行我的服务。手动
systemctl启动我的\u服务
工作

但更奇怪的是,服务启动是因为当我编写
systemctl list unit files–type=service
时,我看到我的iptablesvpn.service被启用。所以我真的不明白为什么脚本中的命令没有执行,或者很快就会执行,我不知道:/

因此,我尝试了另一种解决方案,即在
/etc/init.d/script.sh
中添加一个带有chmod+x的脚本。但即使这样也不行

我只想在重启后恢复iptables。所以我想要的是:
/sbin/iptables restore/etc/firewall.rules
。开机后,如果我在终端上写下这个命令,我的vpn就会正常工作,但如果我不写这个命令,我的vpn就不工作了


所以,如果你能帮我执行这个命令行,我会很高兴的,因为这看起来很简单,但它不适合我:/。谢谢

这是我的过程,即使在启动时没有使用脚本shell进行优化,它也能工作:

(一) iptables-F
iptables-P输入接受
iptables-F
iptables-A输入-i本地-j接受
iptables-输入-m状态-状态已建立,相关-j接受
iptables-A输入-p tcp-dport 22-j接受
iptables-P输入下降
iptables-P前向下降
iptables-P输出接受
iptables-L-v

2) 编辑/etc/sysconfig/iptables config并在Fedora停止和重新启动时将iptables保存选项的“是”改为“否”

3) 在/etc/rc.d/rc.local中创建一个脚本shell,我在其中编写
服务iptables restart
,很好:)


您在这个过程中看到了一些无用或奇怪的东西吗?

如果您想让脚本成为服务,您可以阅读此内容,但如果您只想运行命令(在脚本中),您可以将命令放在/etc/rc.d/rc.local.ok我今天下午会试试,所以如果我理解,我会将关于iptables restore的命令放在/etc/rc.d/rc.local文件中?还有可能是关于iptables的命令执行得太早,而实际上服务尚未启动,因此该命令不起作用吗?是的,请尝试将您的命令放在该文件的最后一行,这样您就可以确定它将在最后一行执行。好的,我尝试过,但不起作用:/。我手动编写的命令是
iptables-F
,可能是我的iptables有问题:/。我迷路了,但是手动修复了我的问题,所以在引导过程中也应该修复我的问题。如果需要在引导时禁用iptables,请尝试/sbin/iptables-F:chkconfig iptables offMhh solve不是真的,还没有,但几乎:)。好的,最初的问题解决了,你是对的。但我不想创建一个脚本来重新启动iptables服务,我觉得这很奇怪。我写这篇文章是为了帮助一些完全被阻止的人,也是为了让你理解我的步骤。但如果有人能在最后一个问题上帮助我,我想:)