分类目录归档:VPS

部署net-speeder

https://github.com/snooda/net-speeder

安装步骤:

1:下载源码并解压

wget https://github.com/snooda/net-speeder/archive/master.zip

unzip master.zip

2:准备编译环境

debian/ubuntu:

#安装libnet-dev:apt-get install libnet1-dev -y

#安装libpcap-dev:
apt-get install libpcap0.8-dev -y

centos:

#下载epel:https://fedoraproject.org/wiki/EPEL/zh-cn 例:CentOS6 64位:
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm#(如果是centos5,则在epel/5/下)
#安装epel:
rpm -ivh epel-release-6-8.noarch.rpm

#然后即可使用yum安装:
yum install libnet libpcap libnet-devel libpcap-devel -y

编译:

Linux Cooked interface使用编译(venetX,OpenVZ):

sh build.sh -DCOOKED

普通网卡使用编译(Xen,KVM,物理机):

sh build.sh

使用方法(需要root权限启动):

#参数:./net_speeder 网卡名 加速规则(bpf规则)

一般kvm eth0 openvz venet0

ifconfig 查看网卡

#ovz用法(加速所有ip协议数据):

 ./net_speeder venet0 "ip"

全局化

mv net_speeder /usr/local/bin/

手动启动

nohup net_speeder venet0 "ip" >/dev/null 2>&1 &
nohup net_speeder eth0 "ip" >/dev/null 2>&1 &

开机启动

echo 'nohup net_speeder venet0 "ip" >/dev/null 2>&1 &' >> /etc/rc.local
echo 'nohup net_speeder eth0 "ip" >/dev/null 2>&1 &' >> /etc/rc.local

AMH 4.2二次开发集

wget http://soft.vpskk.com/amh/files/4.5/amh.sh && chmod 775 amh.sh && ./amh.sh 2>&1 | tee amh.log
wget http://www.automoviel.com/AMH/Mysql/amh.sh && chmod 775 amh.sh && ./amh.sh 2>&1 | tee amh.log

前者网站关了

单独安装BBShijieSSL修正版 (支持大神的V4.5版)

    cd /root/amh/modules/
    wget http://www.automoviel.com/AMH/module/BBShijieSSL-2.0/BBShijieSSL-2.0.tar.gz;
    tar zxvf BBShijieSSL-2.0.tar.gz;
    rm -rf BBShijieSSL-2.0.tar.gz;
    (到这里你们可以选择在后台控制面板安装)
    amh module BBShijieSSL-2.0 install;
    卸载还是老规矩(或者在后台控制面板模块管理里面卸载)
    amh module BBShijieSSL-2.0 uinstall;

锐速优化配置

#!/bin/echo Warning: this is a library file, can not be execute directly:
############################################################
# #
# ServerSpeeder Configuration File #
# #
############################################################
#/serverspeeder/etc/config
# Format: config=”value”
# Note that spaces are not allowed before and after the equal sign
#——————————————————#
# below config items take effect after reload #
#——————————————————#
accif=”eth0″
acc=”1″
advacc=”1″
advinacc=”1″ #流量方向加速
wankbps=”1000000″
waninkbps=”1000000″
csvmode=”0″
highcsv=”0″
subnetAcc=”0″
maxmode=”1″ #最大传输模式
maxTxMinSsThresh=”1048575″
maxTxEffectiveMS=”0″
maxAccFlowTxKbps=”0″
pcapEnable=”0″
bypassOverFlows=”1″
initialCwndWan=”22″
l2wQLimit=”256 2048″
w2lQLimit=”256 2048″
shrinkPacket=”0″
retranWaitListMS=”32″
halfCwndMinSRtt=”500″
halfCwndLossRateShift=”3″
shaperEnable=”1″
tcpOnly=”1″
smBurstMS=”16″
smBurstMin=”16000″
smBurstTolerance=”32768″
flowShortTimeout=”30000″
rsc=”1″ #RSC网卡驱动模式
gso=”1″
ultraBoostWin=”0″
minSsThresh=”8 24″
dbcRttThreshMS=””
smMinKbps=””
lanSegment=””
txCongestObey=”1″
taskSchedDelay=”1000 1000″
configTimeout=”30″
tcpFlags=”0x0″
udptun=””
synRetranMS=”0″
shrinkOSWmem=”0″
mpoolMaxCache=”7368000″
#——————————————————#
# below config items take effect after restart #
#——————————————————#
engineNum=”0″
accppp=”0″
shortRttMS=”0″
packetWrapper=”256″
pmtu=””
detectInterrupt=”0″
# byte cache
byteCacheEnable=”0″
dataCompEnable=”0″
httpCompEnable=”1″
byteCacheMemory=”250″ #MB
byteCacheDisk=”0″ #MB
diskDev=”/var/AppEx_Cache”
#ipHooks=”0″
#ipRxHookPri=””
#ipTxHookPri=””
dropCache=”0″
# 0:not change
# 1: on
# 2: off
txcsum=”0″
rxcsum=”0″
#——————————————————#
# do not change the following configs #
#——————————————————#
usermode=0
licenseGen=0
checkLicense=0
accpath=”/proc/net/appex”
apxexe=”/serverspeeder/bin/acce”
apxlic=”/serverspeeder/etc/apx-20381231.lic”
serial=”5CFF533FA5F5680C”
email=”update@ifdream.net”
installerID=”=QzM”

查看状态
/serverspeeder/bin/serverSpeeder.sh status

/serverspeeder
安装成功后,安装程序会自动在服务器文件系统的根目录下面创建该目录;该目录用于存放与 ServerSpeeder 相关的各文件;
/serverspeeder/bin/
用于存放 ServerSpeeder 模块文件及执行脚本;
/serverspeeder/bin/acce-xxx
ServerSpeeder 模块文件;
/serverspeeder/bin/serverSpeeder.sh
用于启动 ServerSpeeder 的脚本文件;
/serverspeeder/etc/
用于存放 ServerSpeeder 参数配置文件;
/serverspeeder/etc/config
文件 ServerSpeeder 配置文件;
/serverspeeder/log/
用于存放 ServerSpeeder 运行过程中可能需要抓取的一些用于问题调试的 log 文件;常用配置参数说明

通过修改/serverspeeder/etc/config 文件,可以为 ServerSpeeder 设定不同的配置参数;常用参数的说明如下:

1) accif=”eth*” 加速接口;

eth*一般为服务器上对外提供服务的网络接口,例如 eth0, eth1…,一般通过 ifconfig 命令可以看到;可以同时设定多个接口作为加速接口(接口之间用空格分开),如accif=”eth0 eth1″;默认为”eth0″;

2)acc=”1″ TCP 加速开关;

设为 1 表示开启 ServerSpeeder 的 TCP 加速功能,设为 0 表示关闭 ServerSpeeder 的 TCP 加速功能;默认为 1;

3)advacc=”1″ 高级加速开关;

设为 1 表示开启,设为 0 表示关闭;开启此功能可以得到更好的加速效果,但有可能会造成有效数据率下降;默认为 1;

4)advinacc=”0″ 高级入向加速开关;

设为 1 表示开启,设为 0 表示关闭;开启此功能可以得到更好的流入方向流量加速效果;

5)wankbps=”1000000″ 加速接口上行带宽;

指的是从服务器流出到 Internet 的最大带宽,单位为Kbps,例如服务器所连接的 Internet 带宽为 1G,则设置为 1000000;默认为 1000000;

6)waninkbps=”1000000″ 加速接口下行带宽;

指的是从 Internet 流入服务器的最大带宽,单位为Kbps,例如服务器所连接的 Internet 带宽为 1G,则设置为
1000000;默认为 1000000;wankbps 和 waninkbps
的设置一般与实际带宽相同为最理想;如果无法确定实际带宽,一般设置为网卡的最大吞吐能力即可;例如网卡为千兆全双工网卡,则 wankbps 和
waninkbps 都设置为 1000000;当设置过小时,例如实际带宽有 100Mbps,但 wankbps 和 waninkbps
设置为10Mbps,则数据流量会被限制在 10Mbps 以内,此时会降低服务器的吞吐;

7)csvmode=”0″ highcsv=”0″ csvmode 拥塞控制模式开关;

设为 1 表示开启,设为 0 表示关闭;开启 tcp加速后,在某些丢包较大的网络中可能会造成有效数据率下降的问题;此时开启拥塞控制模式,可以有效避免该问题;但开启此选项时,可能加速效果也会下降;默认为 0;

csvmode=”1″ highcsv=”0″时,为普通拥塞控制模式,对拥塞具有一定控制的同时对加速效果的影响较小;
csvmode=”1″ highcsv=”1″时,为高级拥塞控制模式,可以更好的控制拥塞但是相比于普通拥塞控制模式对加速效果的影响较大。

8)subnetAcc=”0″ 局域网加速开关;

设为 1 表示开启;设为 0 表示关闭;不开启时对于同一局域网内的连接不会加速;开启后对同一网段的 TCP 连接也进行加速;

9)maxmode=”0″ 最大传输模式;

设为 1 表示开启;设为 0 表示关闭;开启后会进一步提高加速效果,但是可能会降低有效数据率;

10)maxTxEffectiveMS=”0” 最大传输模式生效时间;

用于控制最大传输模式对每一个连接的生效时间;设为 0 表示从连接建立到连接结束,都采用最大传输模式传输;单位为 ms,1000即 1s;

11)pcapEnable=“0” 抓包开关;

设为 1 表示开启,设为 0 表示关闭;开启此功能后会抓取经过加速引擎处理的数据包,在/serverspeeder/log 目录下生成抓包文件;

12)bypassOverFlows=”1″ 流量 bypass 开关;

设为 1 表示开启,设为 0 表示关闭;开启此功能后当服务器的连接数超过引擎设定后会对超过的连接的流量 bypass,否则会无法新建连接;

13)shaperEnable=”1″ 流量整形开关,配合上行和下行带宽设置开启;

设为 1 表示开启,设为 0 表示关闭;开启此功能,会采用 wankbps 以及 waninkbps 设置的带宽大小运行;关闭此功能,会根据实时传输自动测算带宽大小;

14)SmBurstMS=”16″ 引擎允许的最大突发时间,设为 0,则关闭;

该值越大,数据包发送量越大;当前推荐默认为 16;

15)rsc=”0″ 网卡接收端合并开关;

设为 1 表示开启,设为 0 表示关闭;在有些较新的网卡驱动中,带有 RSC 算法的,需要打开该功能;

16)gso=”0″ GSO 开关;

设为 1 表示开启,设为 0 表示关闭;当网卡需要开启 gso 功能时,开启此功能,ServerSpeeder 变为支持 gso 的模式;关闭此功能,如果网卡开启gso,ServerSpeeder 会关闭网卡的 gso 功能;

17)engineNum=”0″ ServerSpeeder 启动的加速引擎的的个数;

在多处理器(核)的系统环境下,启用多个加速引擎可以使网络流量的负载在多个处理器(核)之间做均衡分配,从而帮助优化系统 CPU 资源的利用;

启用多个加速引擎时,引擎序号从 0 开始,分别为 engine0, engine1,
engine2,等等;每个引擎的负载对应交给相同序号的处理器来处理,即,engine0 使用 cpu0, engine1 使用 cpu1
等;engineNum 默认为 0,表示启用的加速引擎个数与系统的处理器个数相同,64bit 架构下,当实际的engineNum 参数大于 4
时,检查内存:当总内存减去 engine 占用内存剩余数小于 2G 时,提示用户一个 warning:
ServerSpeeder Warning: $CPUNUM engines will be launched according to
theconfig file. Your system’s total RAM is $memTotal(KB), which might be
insufficient to run all the engines without performance penalty under
extreme network conditions. ;

18)shortRttMS=”0″ 白名单开关;

打开后 ServerSpeeder 将不对 RTT 小于 shortRttMS 的连接加速,节约系统资源,提高性能;

设置为 0 时表示关闭此功能,ServerSpeeder 会加速所有的连接;设置为其他值时,例如 10,则表示当某个 24 位子网网段
IP,第一次建立连接时,ServerSpeeder 会测量这个新建连接的 RTT,但是不对其进行加速;如果 RTT 大于
10ms,ServerSpeeder 会从第二次建立连接开始对其加速,如果 RTT小于 10ms,ServerSpeeder
则一直不会对这个网段进行加速。默认值为 0。重启ServerSpeeder 后,原来记录的每个 24 位子网网段的 RTT
会被清除,重新开始记录。

命令

使用/serverspeeder/bin/目录下的 serverSpeeder.sh 脚本进行 ServerSpeeder的启动,停止,以及重新加载配置等操作;可通过./serverSpeeder.sh –help 查看脚本的帮助信息;各参数说明如下:

start:启动 ServerSpeeder,加载加速模块;使用/serverspeeder/etc/config文件中的配置作为模块加载时的初始化参数;
stop:停止 ServerSpeeder,卸载加速模块;
reload:在不停止 ServerSpeeder 运行的情况下实时修改 ServerSpeeder 参数配置,修改/serverspeeder/etc/config 文件的配置后运行此命令,此时加速模块不退出,参数被实时修改;
restart:重启 ServerSpeeder;
status:查看当前 ServerSpeeder 的实时运行状态;License 的信息;连接的信息和 ServerSpeeder 当前的配置;
stats:实时显示每个加速引擎的连接数、流量,以及所有引擎的总的连接数和流量;其中连接数统计包括网络连接数(sessions),tcp
连接数(tcp sessions),已加速的 tcp 连接数(accelerated sessions)以及活动的 tcp 连接数(active
tcp sessions);被 ShortRtt 功能忽略的包的个数(short rtt bypassed
packets);流量统计包括流入(in)流量统计和流出(out)流量统计,单位均为kbit/s;一般情况下,所有引擎的总连接数及流量即为服务器的互联网连接数及流量;
renewLic:当有新的 License 文件可用时,联网更新 License 文件并重启ServerSpeeder;
update:当有新的 ServerSpeeder 版本可用时,联网更新 ServerSpeeder 并重启 ServerSpeeder;
uninstall:卸载本机上的 ServerSpeeder;

注:

运行 ServerSpeeder 前请务必确认加速接口的 tso (tcp segmentation
offload)、gso (generic segmentation offload)、gro(generic receive
offload)、lro(large receive offload)和sg(scatter gather)功能是否处于关闭状态!!!如果在
tso、gso、gro、lro 或 sg 其中之一处于开启状态而 ServerSpeeder 中未开启该功能,此时运行
ServerSpeeder,会关闭这些功能。如果在 ServerSpeeder
运行过程中有其他软件等开启这些功能,会导致加速模块无法取到数据包,进而导致网络中断。您可通过 ethtool –k eth* 来查看加速接口的
tso、gso、gro、lro 和 sg 的当前状态。

如果您的加速接口的 tso、gso、gro、lro 和 sg 功能是关闭的,对于 bonding 性质的接口,需组成该接口的所有 eth 口的 tso、gso、gro、lro 和 sg 功能是关闭的,那么您无需更改 ServerSpeeder 的配置。

如果您的加速接口的 tso、gso、gro、lro 和 sg 功能其中之一是打开的,可以通过打开 ServerSpeeder 的 gso
功能(gso=”1″),将 ServerSpeeder 转换为支持 tso、gso 和 sg的形式,打开 ServerSpeeder 的 rsc
功能(rsc=”1″),则将 ServerSpeeder 转换为支持gro 和 lro 的形式,修改 ServerSpeeder 中的 gso
和 rsc 功能后,需要 serverSpeeder.shrestart 让配置生效。

centos/debian添加swap

cd /var/

dd if=/dev/zero of=swapfile bs=1024 count=1038336     (生成1g)

dd if=/dev/zero of=swapfile bs=1024 count=512000   (512m)

创建SWAP文件

/sbin/mkswap swapfile

激活SWAP文件

/sbin/swapon swapfile

添加到fstab文件中让系统引导时自动启动

echo “/var/swapfile swap swap defaults 0 0” >>/etc/fstab

dd if=/dev/zero of=/swapfile bs=1024 count=1024k  (debian 1G)
mkswap /swapfile
swapon /swapfile   (开启SWAP分区)

echo “/swapfile none swap sw 0 0” >>/etc/fstab (设置开机自启动)

chown root:root /swapfile (修改权限)
chmod 0600 /swapfile
swapon -s 查看


centos 最小化安装配置网络

ifconfig后发现没有外网配置

用VI编辑器编辑/etc/sysconfig/network-scripts/ifcfg-eth0  (一般是eth0)

先按I开始编辑

BOOTPROTO=dhcp

ONBOOT=yes

然后先按ESC退出编辑模式,输入:wq保存退出

service network restart重启网络

OK了

centos一键FTP

# Version      : 1.0
# Author       : 果子
# Date         : 2013-12-14 14:34:12
# Description  : 只需要三步即可完成安装
#                chmod a+x install_vsftpd.sh
#                ./install_vsftpd install_server 安装相关服务
#                ./install_vsftpd add_user   配置用户信息
#                ./install_vsftpd start   启动服务
# Usage        : 在浏览器或计算机地址中输入:ftp://192.168.0.1 即可访问,192.168.0.1为主机地址。
# More         : 后续将增加一些安全性控制和批量创建用户
#
#
#!/bin/bash
#set -x #调试用
allow=YES
deny=NO
Sname=vsftpd
VFconf="/etc/vsftpd/vsftpd.conf"
VFstart="/etc/init.d/vsftpd"
VUser="/etc/vsftpd/vuser"
VUCdirectory="/etc/vsftpd/vuconf"
VFpam="/etc/pam.d/vsftpdd"
VFDirectory="/var/www/html"
DB4=db4
DB4UTILS="db4-utils"
DB4DEVEL="db4-devel"
sys_tem="/lib64"
http=apache
#----------主配置文件--------------
main_config()
{
    if [ -d $sys_tem ];then
    echo "Your system is 64bit"
    systems=$sys_tem
    else
    echo "Your system is 32bit"
    systems=/lib
    fi
    #     touch $VFpam
    sed -i 's/anonymous_enable=YES/anonymous_enable=NO/g' $VFconf
    sed -i 's/#chown_uploads=YES/chown_uploads=NO/g' $VFconf
    sed -i 's/#xferlog_file/xferlog_file/g' $VFconf
    sed -i 's/#async_abor_enable=YES/async_abor_enable=YES/g' $VFconf
    sed -i 's/#ascii_upload_enable=YES/ascii_upload_enable=YES/g' $VFconf
    sed -i 's/#ascii_download_enable=YES/ascii_download_enable=YES/g' $VFconf
    sed -i 's/#chroot_local_user=YES/chroot_local_user=YES/g' $VFconf
    sed -i 's/pam_service_name=vsftpd/pam_service_name=vsftpdd/g' $VFconf
    {
    echo "guest_enable=$allow"
    echo "guest_username=$http"
    echo "user_config_dir=$VUCdirectory"
    echo "virtual_use_local_privs=$allow"
    } >> $VFconf
    touch $VFpam
    {
    echo "auth sufficient $systems/security/pam_userdb.so db=$VUser"
    echo "account sufficient $systems/security/pam_userdb.so db=$VUser"
    } > $VFpam
}
#------------用户配置-----------------------
user_config ()
{
    Uname=$1
    userhome="local_root="
    userworld="anon_world_readable_only="
    userupload="anon_upload_enable="
    usermkdir="anon_mkdir_write_enable="
    userothen="anon_mkdir_write_enable="
    userwrite="write_enable="
    echo -e "\033[31;40m ===Now configure the config file=== \033[0m"
    if [ -d $VUCdirectory ];then
    echo "The directory $VUCdirectory exsits."
    else
    mkdir $VUCdirectory
    fi
    echo "Your want to configure user is :$Uname"
    read -p "Please input user home directory(default $VFDirectory)" home_dir
    if [ "x$home_dir" != "x" ]
    then
    VFDirectory=$home_dir
    fi
    echo "Your home directory is: $VFDirectory"
    touch "$VUCdirectory/$Uname"  && echo -e "\033[31;40mSuccess to configure file=== \033[0m"
    {
    echo "$userhome$VFDirectory"
    echo "$userwrite$allow"
    echo "$userworld$deny"
    echo "$userupload$allow"
    echo "$usermkdir$allow"
    echo "$userothen$allow"
    } > $VUCdirectory/$Uname
    chown -R $http:$http $VFDirectory
    chmod -R 755 $VFDirectory
}
#----------------增加用户---------------------
add_user()
{
    echo "start add user..."
    while [ 1 ]
    do
    isok=y
    echo -n "Do you want to add user?"
    read -p "[Y/N]:" ok
    if [ "x$ok" = "x" ]
    then
        continue
    elif [ "x$ok" = "xN" ]
    then
        echo "=============Finish add user============="
        break
    fi
    isok=$ok
    if [ "x$isok" != "xY" ]
    then
        echo "Error input! please input Y/N "
        continue
    else
        read -p "Input username: " username
        read -p "Input userpasswd: " userpasswd
        echo "Your username is: $username"
        echo "Your userpasswd is: $userpasswd"
        {
        echo "$username"
        echo "$userpasswd"
        } >> $VUser
        user_config $username
    fi
    done
    db_load -T -t hash -f  $VUser $VUser.db
}
#-----------------安装服务---------------------
install_server()
{
    rpm -q $Sname
    if [ $? -eq 0 ];then
    echo "vsftpd service has installed. "
    else
    yum install -y $Sname
    fi
    yum -y install "db4*"
}
#------------------------------------------------
case $1 in
    install_server)
    echo "start install $Sname:"
    install_server
    main_config
    ;;
    add_user)
    add_user
    ;;
    restart)
    $VFstart restart
    ;;
    start)
    $VFstart start
    ;;
    stop)
    $VFstart stop
    ;;
    *)
    echo "Usage: $0 install_server|add_user|restart|start|stop"
    exit 1
esac
exit 0

debian安装transmission记

首先需要更改ssh端口

然后设置一个复杂的密码

以上两部保证VPS安全

更新debian到最新 然后安装transmission

apt-get install transmission-daemon

安装好用的web

wget https://transmission-control.googlecode.com/files/tr-control-easy-install.sh
sh tr-control-easy-install.sh

到/etc/transmission-daemon/目录进行配置 先关闭transmission

service transmission-daemon stop

或者

killall transmission-daemon

配置目录也可以

/var/lib/transmission-daemon/info/settings.json

修改rpc-password和rpc-username

关闭rpc-whitelist-enabled

ok配置完成可以开启transmission

service transmission-daemon start