搭建自己专属的vpn——Centos搭建vpn的几种办法

2018/10 27 14:10

搭建自己专属的vpn——Centos搭建vpn的几种办法

版权声明:欢迎交流,菲宇运维! https://blog.csdn.net/bbwangj/article/details/78593281

方法一:搭建shadowsocks+serverspeeder(特别推荐)

操作系统:CentOS6

安装shadowsocks服务端(参考官方Shadowsocks 使用说明):

CentOS:

[plain]  view plain copy

  1. yum�0�2install�0�2python-setuptools�0�2&&�0�2easy_install�0�2pip�0�2�0�2
  2. pip�0�2install�0�2shadowsocks�0�2�0�2

�0�2

Debian / Ubuntu:

[plain]  view plain copy

  1. apt-get�0�2install�0�2python-pip�0�2�0�2
  2. pip�0�2install�0�2shadowsocks�0�2�0�2

编写配置(参考Configuration via Config File):

vi新建配置

[plain]  view plain copy

  1. vi�0�2/etc/shadowsocks.json�0�2�0�2

�0�2

内容如下:

[javascript]  view plain copy

  1. {�0�2�0�2
  2. �0�2�0�2�0�2�0�2"server":"0.0.0.0",�0�2�0�2
  3. �0�2�0�2�0�2�0�2"server_port":8388,�0�2�0�2
  4. �0�2�0�2�0�2�0�2"local_address":�0�2"127.0.0.1",�0�2�0�2
  5. �0�2�0�2�0�2�0�2"local_port":1080,�0�2�0�2
  6. �0�2�0�2�0�2�0�2"password":"mypassword",�0�2�0�2
  7. �0�2�0�2�0�2�0�2"timeout":300,�0�2�0�2
  8. �0�2�0�2�0�2�0�2"method":"aes-256-cfb",�0�2�0�2
  9. �0�2�0�2�0�2�0�2"fast_open":�0�2false�0�2�0�2
  10. }�0�2�0�2

或(多个SS账号)

[plain]  view plain copy

  1. {�0�2�0�2
  2. �0�2�0�2�0�2�0�2"server":"0.0.0.0",�0�2�0�2
  3. �0�2�0�2�0�2�0�2"port_password":{�0�2�0�2
  4. �0�2�0�2�0�2�0�2�0�2"8381":"xxxxxxx",�0�2�0�2
  5. �0�2�0�2�0�2�0�2�0�2"8382":"xxxxxxx",�0�2�0�2
  6. �0�2�0�2�0�2�0�2�0�2"8383":"xxxxxxx",�0�2�0�2
  7. �0�2�0�2�0�2�0�2�0�2"8384":"xxxxxxx"�0�2�0�2
  8. �0�2�0�2�0�2�0�2�0�2},�0�2�0�2
  9. �0�2�0�2�0�2�0�2"timeout":300,�0�2�0�2
  10. �0�2�0�2�0�2�0�2"method":"aes-256-cfb",�0�2�0�2
  11. �0�2�0�2�0�2�0�2"fast_open":�0�2false�0�2�0�2
  12. }�0�2�0�2

�0�2

配置说明:

字段 说明
server ss服务监听地址
server_port ss服务监听端口
local_address 本地的监听地址
local_port 本地的监听端口
password 密码
timeout 超时时间,单位秒
method 加密方法,默认是aes-256-cfb
fast_open 使用TCP_FASTOPEN, true / false
workers workers数,只支持Unix/Linux系统

启动:

前台启动

[plain]  view plain copy

  1. ssserver�0�2-c�0�2/etc/shadowsocks.json�0�2�0�2

后台启动与停止

[plain]  view plain copy

  1. ssserver�0�2-c�0�2/etc/shadowsocks.json�0�2-d�0�2start�0�2�0�2
  2. ssserver�0�2-c�0�2/etc/shadowsocks.json�0�2-d�0�2stop�0�2�0�2

�0�2

如需开机启动

打开rc.local

[plain]  view plain copy

  1. vi�0�2/etc/rc.local�0�2�0�2

输入

[plain]  view plain copy

  1. ssserver�0�2-c�0�2/etc/shadowsocks.json�0�2-d�0�2start�0�2�0�2

shadowsocks 的日志保存在 /var/log/shadowsocks.log

�0�2

安装shadowsocks客户端

下载地址:

[plain]  view plain copy

  1. Windows�0�2�0�2�0�2
  2. https://github.com/shadowsocks/shadowsocks-windows/releases�0�2�0�2�0�2
  3. �0�2�0�2
  4. Mac�0�2OS�0�2X�0�2�0�2�0�2
  5. https://github.com/shadowsocks/ShadowsocksX-NG/releases�0�2�0�2

[plain]  view plain copy

  1. linux�0�2�0�2�0�2
  2. https://github.com/shadowsocks/shadowsocks-qt5/wiki/Installation�0�2�0�2�0�2
  3. https://github.com/shadowsocks/shadowsocks-qt5/releases�0�2�0�2

[plain]  view plain copy

  1. iOS�0�2�0�2�0�2
  2. https://itunes.apple.com/app/apple-store/id1070901416?pt=2305194&ct=shadowsocks.org&mt=8�0�2�0�2�0�2
  3. https://github.com/shadowsocks/shadowsocks-iOS/releases�0�2�0�2

[plain]  view plain copy

  1. Android�0�2�0�2�0�2
  2. https://play.google.com/store/apps/details?id=com.github.shadowsocks�0�2�0�2�0�2
  3. https://github.com/shadowsocks/shadowsocks-android/releases�0�2�0�2

�0�2

安装serverspeeder加速(可选,但强烈推荐)

加速前

�0�2

加速后

�0�2

下行速度瞬间提升,是不是觉得有点小激动?

一键安装serverspeeder(参照serverspeeder锐速一键破解安装版

[plain]  view plain copy

  1. wget�0�2-N�0�2--no-check-certificate�0�2https://github.com/91yun/serverspeeder/raw/master/serverspeeder.sh�0�2&&�0�2bash�0�2serverspeeder.sh�0�2�0�2

如果报内核不支持,可以更换系统内核

[plain]  view plain copy

  1. 下载内核安装包�0�2�0�2
  2. wget�0�2http://ftp.scientificlinux.org/linux/scientific/6.6/x86_64/updates/security/kernel-2.6.32-504.3.3.el6.x86_64.rpm�0�2�0�2
  3. �0�2�0�2
  4. 更换内核�0�2�0�2
  5. rpm�0�2-ivh�0�2kernel-2.6.32-504.3.3.el6.x86_64.rpm�0�2--force�0�2�0�2
  6. �0�2�0�2
  7. 重启�0�2�0�2
  8. reboot�0�2�0�2
  9. �0�2�0�2
  10. 查看内核版本是否替换成功�0�2�0�2
  11. cat�0�2/proc/version�0�2�0�2

如果系统内核已更新,再次执行一键安装serverspeeder方法即可。至此serverspeeder安装完毕,快去试试速度是不提升了。

�0�2

卸载serverspeeder的方法

[plain]  view plain copy

  1. chattr�0�2-i�0�2/serverspeeder/etc/apx*�0�2&&�0�2/serverspeeder/bin/serverSpeeder.sh�0�2uninstall�0�2-f�0�2�0�2

�0�2

�0�2

方法二:搭建l2tp vpn(推荐)

�0�2

操作系统:CentOS6

参考DearTanker's Blog的一键安装方法:

�0�2

[html]  view plain copy

  1. wget�0�2--no-check-certificate�0�2https://raw.githubusercontent.com/teddysun/across/master/l2tp.sh�0�2�0�2
  2. chmod�0�2+x�0�2l2tp.sh�0�2�0�2
  3. ./l2tp.sh�0�2�0�2

基本上,按交互式命令的提示按回车或者自定义自己的选择即可,然后再次验证ipsec(L2TP)并重启相关服务,否则提示服务器无相应

�0�2

[html]  view plain copy

  1. service�0�2ipsec�0�2restart�0�2�0�2
  2. service�0�2xl2tpd�0�2restart�0�2�0�2
  3. ipsec�0�2verify�0�2�0�2

如果需要修改或者增加账号密码,可以修改/etc/ppp/chap-secrets

[html]  view plain copy

  1. 账户�0�2�0�2�0�2�0�2l2tpd�0�2�0�2�0�2�0�2密码�0�2�0�2�0�2�0�2�0�2�0�2�0�2*�0�2�0�2

�0�2

测试成功使用的客户端有,win7+win10自带vpn客户端,andriod自带vpn客户端。

�0�2

测试成功使用的网络环境有,电信+联通宽带,移动4g无法连接成功,如果哪位朋友在移动网络下有成功的经验,麻烦分享一下。

不使用vpn时,使用speedtest的测速结果(我自己使用的是10M联通宽带):

下面是成功连接vpn后,使用speedtest的测速结果,虽然不是非常快,但基本够用。

�0�2

方法三:搭建openvpn(不建议)

�0�2

操作系统:CentOS6

vultr面板提供一键安装openvpn的办法,方法是在新建一个vps实例时选择默认安装一个应用程序:

具体安装办法参考官方的一键安装openvpn说明。openvpn是使用操作系统的登录账号登录的,所以搭建完openvpn后,你可以参考linux新建用户的办法新建一个用户及修改用户密码,然后使用opevpn提供的客户端或者网页(一般情况下是https://your_vps_ip:943/)登录即可。

之所以不建议使用openvpn,原因是测速发现比较慢,下载带宽不到1M,而且openvpn貌似不支持移动端登录。

�0�2

方法四:搭建pptpd vpn(不建议)

�0�2

注:之所以不建议使用pptpd,一方面是pptpd经常被墙,二是容易出问题。

操作系统:CentOS6

一、安装

�0�2

[html]  view plain copy

  1. yum�0�2install�0�2ppp�0�2iptables�0�2pptpd�0�2�0�2

二、配置

1. 编辑pptpd.conf

�0�2

[html]  view plain copy

  1. vi�0�2/etc/pptpd.conf�0�2�0�2

2.�0�2搜索localip,去掉下面字段前面的#,然后保存退出

[html]  view plain copy

  1. localip�0�2192.168.0.1�0�2�0�2
  2. remoteip�0�2192.168.0.234-238,192.168.0.245�0�2�0�2

注意,pptpd默认支持最大100个连接,每个remoteip分配一个连接,如果remoteip数不够100个,那么默认连接数就会变成remoteip数。如果默认连接数不够的话,就会出现自动断开的情况,比如手机上的vpn连上了,PC端的vpn就会断开。

3.�0�2编辑options.pptpd,搜索ms-dns,去掉搜索到的两行ms-dns前面的#,并修改为下面的字段

�0�2

[html]  view plain copy

  1. ms-dns�0�28.8.8.8�0�2�0�2
  2. ms-dns�0�28.8.4.4�0�2�0�2

4.�0�2编辑/etc/ppp/chap-secrets设置VPN的帐号密码,注意,用户名与密码是区分大小写的

�0�2

[html]  view plain copy

  1. 用户名�0�2pptpd�0�2密码�0�2*�0�2�0�2

5. 编辑/etc/sysctl.conf,修改内核参数,在末尾添加下面的代码,使内核支持转发

�0�2

[html]  view plain copy

  1. net.ipv4.ip_forward=1�0�2�0�2

6.�0�2运行下面的命令使内核修改生效

�0�2

[html]  view plain copy

  1. sysctl�0�2-p�0�2�0�2

7.�0�2添加下面的iptables转发规则(直接在SSH运行下面命令即可)

�0�2

[html]  view plain copy

  1. iptables�0�2-t�0�2nat�0�2-A�0�2POSTROUTING�0�2-s�0�2192.168.0.0/24�0�2-o�0�2eth0�0�2-j�0�2MASQUERADE�0�2�0�2

8.�0�2添加转发规则后重启就会失效,Centos 6系统可以使用service iptables save保存配置,而Centos7则可以修改/etc/rc.d/rc.local保存上面的命令,这样开机会自动执行上面的命令。

�0�2

�0�2

三、启动

�0�2

�0�2

1.�0�2用下面的命令使pptpd开机自动启动

�0�2

[html]  view plain copy

  1. chkconfig�0�2pptpd�0�2on�0�2�0�2

2. 启动pptpd

�0�2

[html]  view plain copy

  1. service�0�2pptpd�0�2start�0�2�0�2

�0�2

四、使用

使用你的vpn客户端连接即可,如果配置没问题的话,就可以连接成功。
测试成功连接的vpn客户端有,win7+win10自带vpn客户端,andriod自带vpn客户端。但只在宽带网络上连接成功,4g网络连接不成功。

�0�2

五、排错

1. 如果你的vpn连接不成功,有可能是iptable防火墙的问题,你可以使用下面命令

�0�2

[html]  view plain copy

  1. iptables�0�2-A�0�2INPUT�0�2-p�0�2tcp�0�2--dport�0�21723�0�2-j�0�2ACCEPT�0�2�0�2
  2. 或者�0�2�0�2
  3. iptables�0�2-F�0�2�0�2

然后在你的其他电脑使用telnet your_ip 1723测试是否连通。
2. 如果你遇到访问网站偶尔连接上又断的问题,可能是MTU太大导致,可以

�0�2

[html]  view plain copy

  1. 执行�0�2�0�2
  2. iptables�0�2-I�0�2FORWARD�0�2-p�0�2tcp�0�2--syn�0�2-i�0�2ppp+�0�2-j�0�2TCPMSS�0�2--set-mss�0�21356�0�2�0�2
  3. 或者修改/etc/ppp/options.pptpd,在文件最后添加�0�2�0�2
  4. mtu�0�21356�0�2�0�2

3. 更多问题,可以打开pptpd的debug日志,根据debug日志的输出上网搜索一步步解决

[html]  view plain copy

  1. 修改/etc/ppp/options.pptpd�0�2�0�2
  2. 取消下面的注释�0�2�0�2
  3. debug�0�2�0�2
  4. dump�0�2�0�2
  5. logfile�0�2/var/log/pptpd.log(没有则手工修改)�0�2

--转载请注明: http://91o.cc/%e6%90%ad%e5%bb%ba%e8%87%aa%e5%b7%b1%e4%b8%93%e5%b1%9e%e7%9a%84vpn-centos%e6%90%ad%e5%bb%bavpn%e7%9a%84%e5%87%a0%e7%a7%8d%e5%8a%9e%e6%b3%95/

作者 - 分类 未分类

发表回复

(必填)