用VPS主机搭建自己的VPN服务器

最近公司的网络老是出问题,很多国外的网站都上不去了,严重影响工作效率。今天花了点时间,在我们网站的VPS主机上搭建了一个VPN服务器供自己上网。一般的VPS提供的带宽都足够VPS下的网站使用了,有很多空闲的带宽就浪费了,而且VPS服务器的性能都比较好,网速也比较快,所以通过VPS上网是一个不错的选择。下面跟大家分享一下如何通过VPS服务器搭建自己的VPN服务器

1. 推荐windows下的同学使用PuTTY连接服务器。
2. 在Host Name处填写vps的ip地址,连接。
3. 用root跟你得到的root密码登录。
4. 安装PPTPD
apt-get install pptpd

5. 安装nano
apt-get install nano

6. 编辑pptpd.conf文件
nano /etc/pptpd.conf
使得非注释内容如下:
option /etc/ppp/pptpd-options
localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245

7. 添加登录用户
nano /etc/ppp/chap-secrets
添加一行,内容如下
你想要的用户名    pptpd    “你想要的密码”    *
密码用半角双引号括起来

8. 编辑pptpd-options
nano /etc/ppp/pptpd-options
找到ms-dns,取消掉注释,并修改dns地址(推荐Opendns或者Google dns:8.8.8.8)

9. 运行一个不知道什么作用的命令
echo 1 > /proc/sys/net/ipv4/ip_forward

10. 安装iptables并设置
apt-get install iptables
iptables -t nat -I POSTROUTING -j MASQUERADE

11. 启动服务
/etc/init.d/pptpd restart

13. VPN搭建完毕,可以尝试用客户端登录了
Windows创建vpn连接的方式:网上邻居–>右键属性–>创建一个新的连接–>下一步–>连接到我的工作场所–>使用拨号或vpn下一步–> 虚拟专用网络连接–>随便输入公司名字–>不拨初始连接–>输入vps主机名或IP地址–>下一步在桌面创建快捷方式–> 输入用户名密码登陆用户验证。

2017年4月17日 补充:

linux下pptp搭建vpn代理上网很慢的解决办法

linux平台用pptp搭建了vpn服务器,拨入后访问内网ftp,下载文件极慢;用其作网关上网,除了baidu外,大部分网站访问速度极慢,几乎无法访问。

解决办法:

在pptp所在的linux服务的iptables的*filter表中加入

-I FORWARD -p tcp –syn -i ppp+ -j TCPMSS –set-mss 1356

或者执行下面命令:

/sbin/iptables -I FORWARD -p tcp –syn -i ppp+ -j TCPMSS –set-mss 1356

原因分析:

=====在断开vpn链接的情况下:

在windowsXP下用ping -f -l XXXXXX 192.168.0.1一步一步测试(XXXXXXX为MTU大小,可以从1500开始,逐渐减小,知道可以ping通)

我们可以得到可以ping通的MTU最大为1426。

=====在连接vpn的前提下

在windowsXP下用ping -f -l XXXXXX 192.168.0.1一步一步测试(XXXXXXX为MTU大小,可以从1500开始,逐渐减小,知道可以ping通)

我们可以得到可以ping通的MTU最大为1372;

超过这个数则不能通。

====拨通vpn,在服务器上用netstat –i查看接口,得到:
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 102528561 0 0 0 194391413 0 0 0 BRU
eth1 1500 0 519820535 954 11553 924 208798037 0 0 0 BRU
lo 16436 0 151062 0 0 0 151062 0 0 0 LRU
ppp0 1396 0 19 0 0 0 8 0 0 0 OPRU

可知ppp的最大mtu为1396,当然,对应的mss应为(mtu-20字节的IP头部+20字节的TCP 头部=)1356

2023-4-11补充

  1. 在Linux VPS主机上安装OpenVPN

首先,在Linux VPS主机上安装OpenVPN。可以使用以下命令来安装:

sudo apt-get update
sudo apt-get install openvpn
  1. 创建OpenVPN配置文件

接下来,需要创建OpenVPN的配置文件。可以使用以下命令来创建:

sudo nano /etc/openvpn/server.conf

然后,将以下内容复制并粘贴到文件中:

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
tls-auth ta.key 0
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
  1. 生成证书和密钥

接下来,需要生成OpenVPN所需的证书和密钥。可以使用以下命令来生成:

sudo openvpn --genkey --secret ta.key
sudo openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr
sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
sudo openssl dhparam -out dh.pem 2048
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/ta.key /etc/openvpn/
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/ca.crt /etc/openvpn/
  1. 启动OpenVPN

接下来,需要启动OpenVPN服务。可以使用以下命令来启动:

sudo systemctl start openvpn@server
sudo systemctl status openvpn@server
  1. 在Windows电脑上安装OpenVPN客户端

接下来,需要在Windows电脑上安装OpenVPN客户端。可以从官方网站下载OpenVPN客户端并安装。

  1. 在Windows电脑上配置OpenVPN客户端

接下来,需要在Windows电脑上配置OpenVPN客户端。可以使用以下步骤:

  • 打开OpenVPN客户端
  • 点击“文件”->“导入文件”,然后选择之前在Linux VPS主机上生成的ca.crt、ta.key、client.crt、client.key文件
  • 在OpenVPN客户端中,右键单击OpenVPN图标,然后选择“连接”
  • 输入用户名和密码,然后点击“连接”

至此,就可以通过OpenVPN连接到Linux VPS主机上的VPN服务器了。

贾定强微信

微信扫一下,或点击链接添加好友