ipf内核参数调整的系统自启动

2009-05-13 10:39:04来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

原因:ipf的内核参数是不能通过sysctl设置的,必须通过ipf -D -T 来设置。可以把设置的语句加入到rc.conf里的ipfilter_flags里面。但是,由于-D参数把ipf -f 和ipnat -f的参数给清除掉,所以会出现ipf和ipnat没有配置文件的错误。
解决:
   1、对于ipf的参数,可以把它加在最后。
ipfilter_flages="-D -T ipf_nattable_sz=30011,ipf_nattable_max=300000,\
fr_tcptimeout=180,fr_tcpclosewait=60,fr_tcphalfclosed=300,\
fr_tcpidletimeout=7200,fr_tcpclosed=60,fr_tcplastack=120,\
fr_udptimeout=90,fr_icmptimeout=35,\
fr_statemax=8039,fr_statesize=11471 -E -f /home/ipf.rules"
    2、对于ipnat参数的丢失,可以通过几种途径来解决。
      (1)写一个ipnat.sh到/etc/rc.d/来实现系统自启动。但是,这个自启动有时候会失效。
    (2)既然是ipf的启动把它去掉,那么就可以改一下ipf的启动文件。
         /etc/rc.d/ipfilter。
ipfilter_start()
{
        echo "Enabling ipfilter."
        if [ `sysctl -n net.inet.ipf.fr_running` -le 0 ]; then
                ${ipfilter_program:-/sbin/ipf} -E
        fi
        ${ipfilter_program:-/sbin/ipf} -Fa
        if [ -r "${ipfilter_rules}" ]; then
                ${ipfilter_program:-/sbin/ipf} \
                    -f "${ipfilter_rules}" ${ipfilter_flags}
#                echo "Go to The IPnat"
#               sleep 2
                /sbin/ipnat -CF -f /home/ipnat.rules
#               sleep 1
        fi
        ${ipfilter_program:-/sbin/ipf} -6 -Fa
        if [ -r "${ipv6_ipfilter_rules}" ]; then
                ${ipfilter_program:-/sbin/ipf} -6 \
                    -f "${ipv6_ipfilter_rules}" ${ipfilter_flags}
                echo "Go to IPV6 Proccess! Hu Xiao"
        fi
}
ipfilter_resync()
{
        # Don't resync if ipfilter is not loaded
        if ! ipfilter_loaded; then
                 return
        fi
        ${ipfilter_program:-/sbin/ipf} -y ${ipfilter_flags}

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:libxml-2.6.29:Fatal error

下一篇:OpenBSD(4.2)+Postfix+OpenLDAP+Cyrus-SASL+Cour