Category: vps

  • centos7编译打包keepalived-2.2.8

    keepalived 虚拟机环境内存泄露

    centos7 自动的keepalived 版本是1.3.5 , 在虚拟机下运行时存在vrrp 导致的内存泄漏.

    Memory leak on raw vrrp socket ? #839

    下载编译打包 keepalived 2.2.8

     yum install rpm-build
     yum install wget
     yum install kernel-devel
     yum install rpm-build make gcc openssl-devel popt-devel kernel-devel ipvsadm
     yum install aclocal autoheader automake autoreconf
     yum install net-snmp-devel
     yum install net-snmp-devel -y
     yum install openssl-devel
     yum install kernel-headers
     yum install gcc rpm-build rpm-devel rpmlint make coreutils diffutils patch rpmdevtools
     yum install net-snmp-devel
     yum install libnl-devel
     yum install net-snmp net-snmp-utils net-snmp-libs
     yum install  kmod-devel  systemd-devel
    
    
    rpmdev-setuptree
    
    cp keepalived-2.2.8.tar.gz rpmbuild/SOURCES/
    
    #下载keepalived 2.2.8
    wget https://www.keepalived.org/software/keepalived-2.2.8.tar.gz  --no-check-certificate
    tar xf keepalived-2.2.8.tar.gz
    
    cd keepalived-2.2.8
    #configure
    ./autogen.sh
    ./configure  --enable-snmp
    #compile and create rpm
    rpmbuild -ba keepalived.spec
    

    keepalived-2.2.8-1.el7.x86_64.rpm 位置

    [root@d1918be059ac ~]# find rpmbuild/ |grep rpm$
    rpmbuild/RPMS/x86_64/keepalived-2.2.8-1.el7.x86_64.rpm
    rpmbuild/RPMS/x86_64/keepalived-debuginfo-2.2.8-1.el7.x86_64.rpm
    rpmbuild/SRPMS/keepalived-2.2.8-1.el7.src.rpm
    
    #安装
    yum install keepalived-2.2.8-1.el7.x86_64.rpm
    
  • outline accesskey format

    ss://base64(method:passwod)@server-address:port

  • 工具使用shadowsocks代理接口

    一般使用代理的时候,一个是为了资料,另一个是为了下载。

    用的系统是osx,经常会使用brew安装软件。但是很多软件的源或者它们的依赖库是被墙了。配置代理后,就方便了,不用到处去找替代源

    brew 下载软件是基于curl,vim的管理软件Vim Bundle下载是基于wget的。

    curl

    cat ~/.curlrc 
    
    socks5=127.0.0.1:1080 
    

    polipo

    #Via ~/.polipoc file:
    logSyslog = true
    logFile = ~/log/polipo/polipo.log
    
    socksParentProxy = "127.0.0.1:1080"
    socksProxyType = socks5
    
    proxyAddress = "127.0.0.1"
    proxyPort = 8123
    

    shadowsocks使用的是socket代理,可以使用polipo转化为http代理,方便一些没有办法直接配置socket代理的工具:wget

    wget

    Via ~/.wgetrc file:
    
    use_proxy=yes
    http_proxy=127.0.0.1:8123
    https_proxy=127.0.0.1:8123

    git

    #git use http proxy
    git config --global https.proxy http://127.0.0.1:1080
    #git use https proxy
    git config --global https.proxy https://127.0.0.1:1080
    
    #unset
    git config --global --unset http.proxy
    git config --global --unset https.proxy
    
    #git socks5 proxy
    git config --global http.proxy 'socks5://127.0.0.1:1080'
    git config --global https.proxy 'socks5://127.0.0.1:1080'
    

    npm

    npm config set proxy http://localhost:8080/
    npm config set https-proxy http://localhost:8080/
    npm config set strict-ssl false
    
    #Remove All NPM Proxy
    npm config delete http-proxy
    npm config delete https-proxy
    
    npm config rm proxy
    npm config rm https-proxy
    
    set HTTP_PROXY=null
    set HTTPS_PROXY=null

     

     

  • 如何搭梯子

    这里介绍一下搭梯子用到的网站

    centos7一监安装脚本:来自老高博客

    这个脚本配置了自动启动和自动重启。

    yum update -y
    
    yum install -y python-setuptools net-tools
    
    easy_install pip
    
    pip install --upgrade pip shadowsocks
    
    cat>/etc/systemd/system/shadowsocks-server.service<<EOF
    [Unit]
    Description=Shadowsocks Server
    After=network.target
    
    [Service]
    ExecStart=/usr/bin/ssserver -c /etc/ss-config.json
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    EOF
    
    num=$((30000 + RANDOM))
    pass=`date +%s | sha256sum | base64 | head -c 12`
    
    cat>/etc/ss-config.json<<EOF
    {
        "server_port":$num,
        "password":"$pass",
        "timeout":60,
        "method":"rc4-md5"
    }
    EOF
    
    
    systemctl daemon-reload
    systemctl enable shadowsocks-server
    systemctl restart shadowsocks-server
    systemctl status shadowsocks-server
    
    cat /etc/ss-config.json

    配置shadowsocks,包括服务点和客户端。来自archlinux

    我的server配置:

    cat /etc/ss-config.json
    {
        "method":"rc4-md5",
        "timeout":600,
        "port_password":
        {
          "50720":"password1",
          "50721":"password2"
        }
    }

    开了两个端口。相当于开了两个用户。自己用使用rc4-md5,加密就够了,简单一点,速度也可以快一些。

    如果想要开启kcptun,我也收集了一个centos7的一键脚本,这里是地址,这里是作者博客

    如果是centos7 想要开启bbr,需要内核4.9以上,具体操作可以参考这里

    开启TCP BBR拥塞控制算法

    一般开启选择使用开启bbr就没有必要kcptun,详情看这里:KCP可以和BBR一起用么?

    命令式安装教程:http://shadowsocks.org/en/download/servers.html

  • vps测试

    最方便,便宜是搬瓦工(bandwagonhost),就是速度不快,有时候连不上稳定性不够。平常查资料,用谷歌也还可以的。

    采用的方案是:搬瓦工 洛杉矶机房 openvz  年付费19.9vps ,Shadowsocks server +kcptun

    openvz vps bandwagonhost

    最近推出了kvm cn2的线路,买了一个测试了一下:Shadowsocks server +bbr 测试了一下感觉。也是和上面的速度差不多(同样是洛杉矶机房)。没有感觉到网上别人测试得到的成倍提升。可能分配vps的时候运气比较差。

     

    宇宙最快:Google云平台建的虚拟机。

    开启了bbr+shadowsocks速度是搬瓦工的十倍。机房选择的是asia-east1-a,网上说这是台湾机房。

    客户端测试延迟是25ms,上YouTube:

    google大法好

    就是Google收费太贵了,费用由vm和流量两部分构成:

    vm采用的按时收费,我选的最低配置:1共享vcpu +0.6GB内存+标准永久10GB磁盘:有效的每小时费率为 $0.007(每月 730 小时)

    网络流量计费:有效的每小时费率为 $0.023。(google 产品流量不计费,例如:上youtube的流量不计费)

    还好Google提供开户绑定信用卡免费试用一年,现在我就在用。