Padavan系统优化探索

Padavan系统优化探索

防火墙开放端口(iptables) 【在防火墙规则启动后执行】

#!/bin/sh
/etc/storage/crontabs_script.sh &
export PATH='/etc/storage/bin:/tmp/script:/etc/storage/script:/opt/usr/sbin:/opt/usr/bin:/opt/sbin:/opt/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin'
export LD_LIBRARY_PATH=/lib:/opt/lib

iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
ip6tables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

logger -t "【防火墙规则】" "解决 PMTU 黑洞成功."

ip6tables -F
ip6tables -X
ip6tables -P INPUT ACCEPT
ip6tables -P OUTPUT ACCEPT
ip6tables -P FORWARD ACCEPT

logger -t "【防火墙规则】" "IPv6端口开放成功."

ip6tables -A INPUT -p tcp --dport 8088 -j ACCEPT
ip6tables -A OUTPUT -p tcp --sport 8088 -j ACCEPT
httpd -p 8088

logger -t "【防火墙规则】" "IPv6 8088端口转发成功."
logger -t "【防火墙规则】" "脚本完成."

连接数优化【在路由器初始化前执行】(三选一)

# conntrack for BT/PT/PCDN
echo 0        > /proc/sys/net/netfilter/nf_conntrack_checksum
echo 1        > /proc/sys/net/netfilter/nf_conntrack_tcp_loose
echo 1        > /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal
echo 10       > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_syn_sent
echo 10       > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_syn_recv
echo 86400    > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_established
echo 15       > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_fin_wait
echo 15       > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_close_wait
echo 15       > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_last_ack
echo 15       > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_time_wait
echo 15       > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_close
echo 15       > /proc/sys/net/netfilter/nf_conntrack_udp_timeout
echo 180      > /proc/sys/net/netfilter/nf_conntrack_udp_timeout_stream
echo 15       > /proc/sys/net/netfilter/nf_conntrack_icmp_timeout
echo 600      > /proc/sys/net/netfilter/nf_conntrack_generic_timeout

# conntrack(优化连接数)
echo 0 > /proc/sys/net/netfilter/nf_conntrack_checksum
echo 1 > /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal
echo 1 > /proc/sys/net/netfilter/nf_conntrack_tcp_loose
echo 15 > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_syn_sent
echo 15 > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_syn_recv
echo 1800 > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_established
echo 30 > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_fin_wait
echo 30 > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_close_wait
echo 30 > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_last_ack
echo 30 > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_time_wait
echo 30 > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_close
echo 30 > /proc/sys/net/netfilter/nf_conntrack_udp_timeout
echo 120 > /proc/sys/net/netfilter/nf_conntrack_udp_timeout_stream
echo 30 > /proc/sys/net/netfilter/nf_conntrack_icmp_timeout
echo 600 > /proc/sys/net/netfilter/nf_conntrack_generic_timeout

# conntrack(原版)
echo 0 > /proc/sys/net/netfilter/nf_conntrack_checksum
echo 1 > /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal
echo 300 > /proc/sys/net/netfilter/nf_conntrack_generic_timeout
echo 1800 > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_established
echo 30 > /proc/sys/net/netfilter/nf_conntrack_icmp_timeout
echo 50 > /proc/sys/net/netfilter/nf_conntrack_udp_timeout

CPU多核利用率优化

vi /etc/storage/bin/rps-rfs-ops.sh

#!/bin/sh

set_rps_rfs() {
    echo f >/proc/irq/11/smp_affinity
    echo f >/proc/irq/12/smp_affinity

    for device in $(ls /sys/class/net); do
        echo f >/sys/class/net/$device/queues/rx-0/rps_cpus
        echo 32768 >/sys/class/net/$device/queues/rx-0/rps_flow_cnt
    done

    echo 32768 >/proc/sys/net/core/rps_sock_flow_entries
}

get_rps_rfs() {
    cat /proc/irq/11/smp_affinity
    cat /proc/irq/12/smp_affinity

    for device in $(ls /sys/class/net); do
        printf "%-10s %-5s %-10s\n" "$device" "$(cat /sys/class/net/$device/queues/rx-0/rps_cpus)" "$(cat /sys/class/net/$device/queues/rx-0/rps_flow_cnt)"
    done

    cat /proc/sys/net/core/rps_sock_flow_entries
}

case $1 in
get)
    get_rps_rfs
    ;;
set)
    set_rps_rfs
    ;;
*)
    get_rps_rfs
    ;;
esac

chmod a+x /etc/storage/bin/rps-rfs-ops.sh
chmod go-w /etc/storage/bin/rps-rfs-ops.sh

rps-rfs-ops.sh这个文件并不存在,需要自己复制内容新建一个,或者传一个上去; 需要分别在下面二个位置调用这段脚本“rps-rfs-ops.sh set”:

rps-rfs-ops.sh set
logger -t "【网络检测】" "CPU多核利用率优化完成." 

自定义设置->脚本->在路由器启动后执行

自定义设置->网络检测->在网络访问状态改变时运行脚本

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

亦青Official

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值