shadowsocks 优化设置
其实 shadowsocks 配置也弄了蛮久的了,但是总是感觉速度不够快…于是想起来优化下TCP试试,没想到真的有用,原来最大只能达到 2500Kbps 现在可以满带宽了…
首先新建 /etc/sysctl.d/local.conf 在里面输入以下内容
# # /etc/sysctl.d/local.conf - Configuration file for setting system variables # See /etc/sysctl.d/ for additonal system variables # #kernel.domainname = example.com # Uncomment the following to stop low-level messages on console #kernel.printk = 3 4 1 3 ##############################################################3 # Functions previously found in netbase # # Uncomment the next two lines to enable Spoof protection (reverse-path filter) # Turn on Source Address Verification in all interfaces to # prevent some spoofing attacks #net.ipv4.conf.default.rp_filter=1 #net.ipv4.conf.all.rp_filter=1 # Uncomment the next line to enable TCP/IP SYN cookies # See http://lwn.net/Articles/277146/ # Note: This may impact IPv6 TCP sessions too #net.ipv4.tcp_syncookies=1 # Uncomment the next line to enable packet forwarding for IPv4 #net.ipv4.ip_forward=1 # Uncomment the next line to enable packet forwarding for IPv6 # Enabling this option disables Stateless Address Autoconfiguration # based on Router Advertisements for this host #net.ipv6.conf.all.forwarding=1 ################################################################### # Additional settings - these settings can improve the network # security of the host and prevent against some network attacks # including spoofing attacks and man in the middle attacks through # redirection. Some network environments, however, require that these # settings are disabled so review and enable them as needed. # # Do not accept ICMP redirects (prevent MITM attacks) #net.ipv4.conf.all.accept_redirects = 0 #net.ipv6.conf.all.accept_redirects = 0 # _or_ # Accept ICMP redirects only for gateways listed in our default # gateway list (enabled by default) # net.ipv4.conf.all.secure_redirects = 1 # # Do not send ICMP redirects (we are not a router) #net.ipv4.conf.all.send_redirects = 0 # # Do not accept IP source route packets (we are not a router) #net.ipv4.conf.all.accept_source_route = 0 #net.ipv6.conf.all.accept_source_route = 0 # # Log Martian Packets #net.ipv4.conf.all.log_martians = 1 # # This line below add by user. # 设定最大打开文件句柄数为 200000 fs.file-max = 200000 # 设定最大数据接收发送缓冲为 32MB 。 net.core.rmem_max = 33554432 net.core.wmem_max = 33554432 # 设定默认据接收发送缓冲为 256KB 。 net.core.rmem_default = 262144 net.core.wmem_default = 262144 # 将最大队列长度设定为 65535 。 net.core.netdev_max_backlog = 65535 # 将监听队列长度增加到 4096 。 net.core.somaxconn = 4096 # 设定 TCP 接收发送缓存最小、平均和最大分别为 32KB 、 256KB 、 32MB 。 net.ipv4.tcp_rmem = 32768 262144 33554432 net.ipv4.tcp_wmem = 32768 262144 33554432 # 自动检测网络是否支持巨帧包,如果已知支持请设定为 2 ;自动检测为 1 ;不支持请设定为为 0 。 net.ipv4.tcp_mtu_probing = 1 # 使用 hybla 拥塞控制算法。 # 请注意:请使用 sysctl net.ipv4.tcp_available_congestion_control 命令检查是否支持 hybla 拥塞控制算法。 # 若未出现在列表中,请使用 modprobe tcp_hybla 命令加载该模块。 # 若加载失败,说明可能需要将该模块 ( CONFIG_TCP_CONG_HYBLA=y ) 加入内核源码并重新编译。 net.ipv4.tcp_congestion_control = hybla # 表示开启 SYN Cookies。当出现 SYN 等待队列溢出时,启用 cookies 来处理,可防范少量 SYN 攻击,默认为 0,表示关闭。 net.ipv4.tcp_syncookies = 1 # 表示开启重用。允许将 TIME-WAIT sockets 重新用于新的 TCP 连接,默认为 0,表示关闭。 net.ipv4.tcp_tw_reuse = 1 # 此功能和处于 NAT 环境下的 Android 系统冲突,必须禁用。 net.ipv4.tcp_tw_recycle = 0 # 修改系統默认的 TIMEOUT 时间。 net.ipv4.tcp_fin_timeout = 30 # 表示当 keepalive 启用的时候,TCP 发送 keepalive 消息的频度。缺省是 2 小时,改为 20 分钟。 net.ipv4.tcp_keepalive_time = 1200 # 表示 SYN 队列的长度,默认为 1024,加大队列长度为 8192,可以容纳更多等待连接的网络连接数。 net.ipv4.tcp_max_syn_backlog = 8192
最后将以下代码加入rc.local中即可
/sbin/modprobe tcp_hybla ulimit -n 51200
然后重启后就大功告成了…
近期评论