特别
我在运行CentOS的服务器上定义了一个iptables规则集。我可以保证/可以保证/如何保证当网络联机时(在机器启动时或在重新启动网络服务之后)iptables规则集已经被应用(如果iptables无法启动或未能应用规则集)网络接口将无法启动)?
(我知道这是一个菜鸟问题,但是除了伪装的DHCP NAT和防火墙之后,我从未在受信任的网络上的任何服务器上运行服务器,因此...希望菜鸟提出菜鸟问题。)
我在运行CentOS的服务器上定义了一个iptables规则集。我可以保证/可以保证/如何保证当网络联机时(在机器启动时或在重新启动网络服务之后)iptables规则集已经被应用(如果iptables无法启动或未能应用规则集)网络接口将无法启动)?
(我知道这是一个菜鸟问题,但是除了伪装的DHCP NAT和防火墙之后,我从未在受信任的网络上的任何服务器上运行服务器,因此...希望菜鸟提出菜鸟问题。)
Answers:
开箱即用,可以保证在启动脚本顺序启动界面之前,iptables将启动。查看每个启动脚本中的“ chkconfig”行,您将看到处于活动状态的运行级别,启动顺序和停止顺序。
如果iptables规则集未正确应用(或根本未应用),则不能保证不会打开该接口。
示例:
chkconfig: 2345 08 92
此行指出,所涉及的服务将在运行级别2、3、4和5中处于活动状态,并从8开始并在92处停止。任何具有更大“开始”值的内容都将在此脚本完成后开始,但此脚本错误被认为已完成,不会阻止下游脚本运行。
请注意,此答案适用于CentOS 6和更早的版本,不一定适用于CentOS7。我个人没有对7进行充分的研究来回答7的问题。
systemctl list-dependencies --all
(我刚刚看了30秒前的手册页)。
initscripts
软件包已更新(例如,勘误发布),则修改将被覆盖。我真的不建议这样做。
您还可以在centos中使用ifup-post选项:
/ etc / sysconfig / network-scripts / ifup-post
当除SLIP设备之外的任何网络设备出现时调用。调用/ etc / sysconfig / network-scripts / ifup-routes调出依赖于该设备的静态路由。调用/ etc / sysconfig / network-scripts / ifup-aliases调出该设备的别名。设置主机名(如果尚未设置),并且可以找到该设备IP的主机名。将SIGIO发送到已请求网络事件通知的任何程序。
可以扩展以修复名称服务配置,根据需要调用任意脚本等。
该脚本运行,并且在上述脚本(ifup-route和ifup-aliases)之后,查找ifup-local
if [ -x /sbin/ifup-local ]; then
/sbin/ifup-local ${DEVICE}
fi
因此,您可以创建此文件并确保它再次调用iptables,例如使用iptables-restore:
iptables-restore < /etc/sysconfig/iptables