重新启动一个可以上网的服务器是否安全?

特别

我在运行CentOS的服务器上定义了一个iptables规则集。 我保证/我可以保证/如何保证当联网联机时(无论是在机器启动时,还是在重新启动networking服务后)iptables规则集已经被应用(如果iptables启动失败或者无法应用规则集networking接口会不起来)?

(我知道这是一个noob问题,但我从来没有运行一个服务器,除了伪装的DHCP NAT和防火墙后面的可信任networking,所以…期待noob的noob问题。)

    开箱即用,你可以保证iptables将在启动脚本启动之前启动。 查看每个启动脚本中的“chkconfig”行,您将看到活动时的运行级别,启动顺序和停止顺序。

    如果iptables规则集没有正确应用(或者根本不适用),则不保证接口不会被启动。

    例:
    chkconfig: 2345 08 92
    这一行指出,所涉及的服务将在运行级别2,3,4和5中处于活动状态,并将从8开始,并在92停止。具有较大“开始”值的任何内容只有在此脚本完成后才会启动,但此脚本错误被认为是一个完成,并不会阻止下游脚本运行。

    请注意,这个答案适用于CentOS 6及更早版本,不一定适用于CentOS 7.我没有亲自研究过7,足以回答这个问题7。

    你也可以在centos中使用ifup-post选项:

    在/ etc / sysconfig / network中的脚本/ ifup的员额

    当任何networking设备除了SLIP设备出现时调用。 调用/ etc / sysconfig / network-scripts / ifup-routes来启动依赖于该设备的静态路由。 调用/ etc / sysconfig / network-scripts / ifup-aliases为该设备启动别名。 如果尚未设置主机名,则可以设置主机名,并且可以find该设备IP的主机名。 将SIGIO发送到任何请求networking事件通知的程序。

    可以扩展到修复名称服务configuration,根据需要调用任意脚本等。

    这个脚本在上面(ifup-route和ifup-aliases)之后运行,它查找ifup-local

     if [ -x /sbin/ifup-local ]; then /sbin/ifup-local ${DEVICE} fi 

    所以你可以创build这个文件,并确保它再次调用iptables,例如使用iptables-restore:

     iptables-restore < /etc/sysconfig/iptables 

    附加一点:确保下次启动服务器时需要的规则将会保存下来

     sudo sh -c "iptables-save > /etc/iptables.rules"