文章目录
  1. 1. 环境
  2. 2. 具体步骤
    1. 2.1. 检查系统是否开启TUN/TAP支持
    2. 2.2. 安装ppp , pptpd 和 iptables
    3. 2.3. 配置PPTP服务器
    4. 2.4. 配置iptables
    5. 2.5. Done
  3. 3. 最新方案
  4. 4. 参考

前段时间买了VPS,然后最近就利用这个搭建了个VPN玩玩,下面就将整个搭建流程纪录一下。

环境

我买的是Linode的VPS,安装的是Centos7系统。

具体步骤

检查系统是否开启TUN/TAP支持

cat /dev/net/tun

如果这条指令显示结果为下面的文本,则表明通过

cat: /dev/net/tun: 文件描述符处于错误状态

安装ppp , pptpd 和 iptables

yum install update
yum -y install ppp pptpd
yum install iptables

配置PPTP服务器

  1. 配置pptpd.conf

    vi /etc/pptpd.conf    #找到localip,去掉开始的那个#符号
    localip 192.168.0.1
    remoteip 192.168.0.234-238,192.168.0.245
    #这些是默认的,一般不需要去修改,分配给客户端的ip就是234238之间,你也可以往大了写,看你的客户端有多少。
    
  2. 配置options.pptpd

    vi /etc/ppp/options.pptpd      #在末尾添加dns
    ms-dns  8.8.8.8       #这是谷歌的,你也可以改成阿里巴巴的或者其它
    ms-dns  8.8.4.4
    
  3. 添加PPTP VPN用户

    vi /etc/ppp/chap-secrets    #格式很通俗易懂。
    #   client为帐号,server是pptpd服务,secret是密码,*表示是分配任意的ip
    # Secrets for authentication using CHAP
    # client        server     secret                  IP addresses
      xfhnever      pptpd      771297972            *
    
  4. 配置sysctl.conf

    vi /etc/sysctl.conf
    #添加一行    net.ipv4.ip_forward = 1    到末尾即可,然后保存
    sysctl -p    #运行这个命令会输出上面添加的那一行信息,意思是使内核修改生效
    

配置iptables

  1. 开启iptables转发

    iptables -t nat -A POSTROUTING -s 192.168.217.0/24 -o eth0 -j MASQUERADE
    iptables-save > /etc/iptables.pptp
    
  2. 创建iptables文件

    在/etc/network/if-up.d/目录下创建iptables文件,内容如下:

    #!/bin/sh
    iptables-restore < /etc/iptables.pptp
    
  3. 给脚本添加执行权限

    chmod +x /etc/network/if-up.d/iptables
    

Done

VPN搭建完成。

最新方案

用了一段时间之后,vpn不稳定,基本连接不上,重新使用了一种新的搭建方案,详见 使用Linode搭建一个Shadowsocks,实现智能和谐上网

参考

  1. Mac 搭建Linode的 Vps pptp Vpn 服务
  2. Centos7搭建VPN服务器
文章目录
  1. 1. 环境
  2. 2. 具体步骤
    1. 2.1. 检查系统是否开启TUN/TAP支持
    2. 2.2. 安装ppp , pptpd 和 iptables
    3. 2.3. 配置PPTP服务器
    4. 2.4. 配置iptables
    5. 2.5. Done
  3. 3. 最新方案
  4. 4. 参考