欢迎光临
我们一直在努力

Vultr手动筹建shadowsocks, ipsec/StrongSwan及优化(附ipsec/ikev1服务器无响应的解决)

Vultr手动筹建shadowsocks, ipsec/StrongSwan及优化(附ipsec/ikev1服务器无响应的解决)

Vultr手动搭建shadowsocks, ipsec/StrongSwan及优化(附ipsec/ikev1服务器无响应的解决)

背景:本文详细记录了手动安装shadowsocks,ipsec(用于ios)的过程,及ipsec搭建完后,服务器一直无响应的问题解决方案。

因为要做站,所以想在除了搬瓦工上买个性能好点的vps。最先考虑的是linode,用的frement机房,东京机房没货。但是linode速度实在不敢恭维,ping值在300ms多,真的连搬瓦工都不如。后来经过研究大家的评测文章,最终买的vultr的vps,5美元的那个,东京机房。ping值在150ms左右,快的话在60多毫秒,但是会有丢包。下面分shadowsocks,StrongSwan,及优化三个部分来介绍。

一,shadowsocks的安装

最初我用的此处python版的一键安装脚本,但是安装后发现有时能连上,速度特别快。但是往后就服务器无响应断开连接。后来果断卸载了,装的libev版,参考链接。安装完后修改/etc/shadowsocks-libev/config.json 将其改为如下:

{
“server”:”yourip”,
“server_port”:443,
“local_address”:”127.0.0.1″,
“local_port”:1080,
“password”:”yourpasswd”,
“timeout”:300,
“method”:”rc4-md5″
}

把yourip和yourpasswd改成自己的。

常用命令:

启动:service shadowsocks start

停止:service shadowsocks stop

重启:service shadowsocks restart

状态:service shadowsocks status

二,IPSEC/StrongSwan的安装

参考链接使用通过:wget https://raw.githubusercontent.com/quericy/one-key-ikev2-vpn/master/one-key-ikev2.sh获得安装脚本,执行完毕后,ios使用ikev1会发现无论怎么连都是服务器无响应。请按照以下步骤排查问题(请保证手机使用数据网,而非wifi进行测试):

1,关闭防火墙:/etc/init.d/iptables stop

然后看ios能否连上,如果能连上那就说明是防火墙的问题。

2,接上,此时虽然连上但是访问不了网络,原因是没有转发。执行:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

然后service iptables restart使之生效。之后ios应该能正常连上并访问网络了。

如果符合1,2特征的话,那说明就是防火墙的问题。杂家也是非常奇怪,同样的脚本在搬瓦工上就是ok的,

但是在vultr上就死活连不上,经过仔细对比vultr的 /etc/sysconfig/iptables文件发现了这么一句:

-A INPUT -j REJECT –reject-with icml-host-prohibited

(这句话的上面是:-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT,默认ssh是22端口登陆的,所以此处的作用很明显)

把这句话删掉就ok了,大爷的,就因为这句话浪费了我两天时间。改了之后记得service iptables restart使之生效。之后就ok了!

三,服务器的TCP优化

1,为tcp修改拥塞算法

sysctl net.ipv4.tcp_available_congestion_control 查看当前拥塞算法:

net.ipv4.tcp_available_congestion_control = cubic reno

然后运行如下命令启动hybla:
/sbin/modprobe tcp_hybla

运行lsmod |grep hybla查看hybla是否正常运行。

修改/etc/sysctl.conf在后面加入:

net.ipv4.tcp_congestion_control=hybla

修改后执行:sysctl -p 使修改生效。

为了让开机自动运行还需如下步骤:

在/etc/sysconfig/modules目录下添加一个hybla.modules文件,并且写入以下内容:
#!/bin/sh
/sbin/modprobe tcp_hybla
然后设置下可执行属性,以便于系统在开机时自动执行:
chmod +x hyla.modules

2,调整内核参数,参考链接

链接里的第一步修改内核,及改的那两个参数,本文未采用。原因是我自用的vps,不存在大量并发问题。修改/etc/sysctl.conf,在后面加入:

fs.file-max = 51200
#net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000
net.core.rmem_max = 67108864
net.core.wmem_max = 67108864
net.ipv4.tcp_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864
net.core.netdev_max_backlog = 250000
net.ipv4.tcp_mtu_probing=1

备注:因为net.ipv4.tcp_syncookies系统默认为1了,所以我将其注释掉了。修改后执行:sysctl -p 使修改生效。

3,安装net-speeder

锐速效果好是好,但是现在已经全面禁止了,所以就不折腾了。考虑到实际网络丢包还是存在的,安装net-speeder还是很有必要的。

wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

rpm -ivh epel-release-6-8.noarch.rpm

yum install libnet libpcap libnet-devel libpcap-devel

wget http://net-speeder.googlecode.com/files/net_speeder-v0.1.tar.gz

tar xzf net_speeder-v0.1.tar.gz

cd net_speeder*

sh build.sh

./net_speeder eth0 "ip"

之后看到:

Device: eth0
Filter rule: ip
ethernet header len:[14](14:normal, 16:cooked)
init pcap
init linnet

也可以使用如下使之后台运行:

nohup ./net_speeder eth0 “ip” >/dev/null 2>&1 &

然后设置开机启动:

mkdir /usr/local/net_speeder/

cp net_speeder /usr/local/net_speeder/net_speeder

echo ‘nohup /usr/local/net_speeder/net_speeder eth0 “ip” >/dev/null 2>&1 &’ >> /etc/rc.local

如此,优化完毕!

 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

未经允许不得转载:顶好爱迪 » Vultr手动筹建shadowsocks, ipsec/StrongSwan及优化(附ipsec/ikev1服务器无响应的解决)

分享到: 更多 (0)
avatar

评论 抢沙发

  • QQ号
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

射线服务专业快捷

联系我们联系我们
切换注册

登录

忘记密码 ?

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活