阿里云Centos7.4安装vpn(pptp)服务器

前言

vpn服务器搭建,由于调用的一些接口服务加入了白名单,本地ip是每天变化的,所以在服务器搭建了vpn服务器用于请求接口服务。以下记录下搭建流程。

安装前检查

1
2
3
4
5
6
7
8
9
# 先看看你的主机是否支持pptp,返回结果为yes就表示通过
[root@izwz94664y88uf68wjzri0z ~]# modprobe ppp-compress-18 && echo yes
yes
# 是否开启了TUN,有的虚拟机主机需要开启,返回结果为cat: /dev/net/tun: File descriptor in bad state。就表示通过。
[root@izwz94664y88uf68wjzri0z ~]# cat /dev/net/tun
cat: /dev/net/tun: File descriptor in bad state
# 应该输出:success
[root@izwz94664y88uf68wjzri0z ~]# modprobe ppp-compress-18 && echo success
success

安装必要包

1
2
3
4
# 首先安装epel源
[root@izwz94664y88uf68wjzri0z ~]# yum install epel-release
# 安装pptp相关包
[root@izwz94664y88uf68wjzri0z ~]# yum install ppp pptpd

修改配置文件

  • 配置pptpd.conf

    1
    2
    3
    4
    5
    6
    7
    8
    [root@izwz94664y88uf68wjzri0z ~]# vim /etc/pptpd.conf 
    # 找到localip,去掉开始的那个 # 符号 如下
    # (Recommended)
    localip 192.168.0.1
    remoteip 192.168.0.234-238,192.168.0.245
    # or
    #localip 192.168.0.234-238,192.168.0.245
    #remoteip 192.168.1.234-238,192.168.1.245
  • 配置options.pptpd dsn

    1
    2
    3
    4
    [root@izwz94664y88uf68wjzri0z ~]# vim /etc/ppp/options.pptpd
    # 在文件末尾添加如下dns
    ms-dns 8.8.8.8
    ms-dns 8.8.4.4
  • 配置连接VPN客户端要用到的帐号密码==》用户名密码最好加双引号“”

    1
    2
    3
    4
    5
    6
    7
    8
    [root@izwz94664y88uf68wjzri0z ~]# vim /etc/ppp/chap-secrets
    # 内容如下
    # 账号:test 密码:123456
    [root@izwz94664y88uf68wjzri0z ~]# vim /etc/ppp/chap-secrets
    # Secrets for authentication using CHAP
    # client server secret IP addresses
    #
    "test" pptpd "123456" *
  • 配置sysctl.conf

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    [root@izwz94664y88uf68wjzri0z ~]# vim /etc/sysctl.conf

    # 添加以下内容到文件末尾
    net.ipv4.ip_forward = 1

    # 注释以下这一行(解决不能上网问题)
    # net.ipv4.tcp_syncookies = 1

    # 执行以下命令使它生效
    [root@izwz94664y88uf68wjzri0z ~]# sysctl -p
    net.ipv6.conf.all.disable_ipv6 = 1
    net.ipv6.conf.default.disable_ipv6 = 1
    net.ipv6.conf.lo.disable_ipv6 = 1
    vm.swappiness = 0
    net.ipv4.neigh.default.gc_stale_time = 120
    net.ipv4.conf.all.rp_filter = 0
    net.ipv4.conf.default.rp_filter = 0
    net.ipv4.conf.default.arp_announce = 2
    net.ipv4.conf.lo.arp_announce = 2
    net.ipv4.conf.all.arp_announce = 2
    net.ipv4.tcp_max_tw_buckets = 5000
    net.ipv4.tcp_max_syn_backlog = 1024
    net.ipv4.tcp_synack_retries = 2
    kernel.sysrq = 1
    net.ipv4.ip_forward = 1
  • 阿里云安全组端口开放

    阿里云只需要关闭这个打开这个端口安全组即可,如果是其他Linux服务器,关闭防火墙即可。网上很多打开什么端口,都是没有必要的针对阿里云

启动pptpd服务

1
2
3
4
5
6
[root@izwz94664y88uf68wjzri0z ~]# systemctl restart pptpd
[root@izwz94664y88uf68wjzri0z ~]# ps aux|grep pptpd
root 14532 0.0 0.0 10684 864 ? Ss 22:33 0:00 /usr/sbin/pptpd -f
root 14534 0.0 0.0 112660 964 pts/0 R+ 22:33 0:00 grep --color=auto pptpd
[root@izwz94664y88uf68wjzri0z ~]# netstat -ntlp|grep pptpd
tcp 0 0 0.0.0.0:1723 0.0.0.0:* LISTEN 14532/pptpd

Window连接vpn网络

  • 打开网络和共享中心

  • 使用vpn连接

  • 输入服务器ip连接

  • 输入用户名密码一直下一步连接即可

安装遇到的问题汇总

  • vpn pptp 连接 619错误(以下方式都可以尝试)

    解决办法1:

    1
    2
    # logwtmp冲突 不兼容导致(公司电脑解决方案)
    # 解决:编辑 /etc/pptpd.conf,找到logwtmp用#注释掉

    解决办法2:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    # 查看系统日志 把用户名密码加上双引号解决了(家里电脑是这么解决的)
    [root@izwz94664y88uf68wjzri0z ~]# tail -f /var/log/messages
    Nov 23 22:51:27 izwz94664y88uf68wjzri0z pppd[14807]: LCP: timeout sending Config-Requests
    Nov 23 22:51:27 izwz94664y88uf68wjzri0z pppd[14807]: Connection terminated.
    Nov 23 22:51:27 izwz94664y88uf68wjzri0z pppd[14807]: Modem hangup
    Nov 23 22:51:27 izwz94664y88uf68wjzri0z pppd[14807]: Exit.
    Nov 23 22:51:27 izwz94664y88uf68wjzri0z pptpd[14806]: GRE: read(fd=6,buffer=55f7ed389480,len=8196) from PTY failed: status = -1 error = Input/output error, usually caused by unexpected termination of pppd, check option syntax and pppd logs
    Nov 23 22:51:27 izwz94664y88uf68wjzri0z pptpd[14806]: CTRL: PTY read or GRE write failed (pty,gre)=(6,7)
    Nov 23 22:51:27 izwz94664y88uf68wjzri0z pptpd[14806]: CTRL: Client 220.112.15.251 control connection finished
  • vpn pptp 解决不能上网问题

    1
    2
    3
    [root@izwz94664y88uf68wjzri0z ~]# vim /etc/sysctl.conf
    # 注释以下内容
    # net.ipv4.tcp_syncookies = 1

参考

https://blog.csdn.net/Dreamweav2004/article/details/82458398

https://www.centos.bz/2018/03/centos-7%E4%B8%8B%E5%AE%89%E8%A3%85pptp%E6%9C%8D%E5%8A%A1%E7%AB%AF%E6%89%8B%E8%AE%B0/

https://blog.csdn.net/wyvbboy/article/details/62037878

https://www.landui.com/help/show-4437.html

https://www.itency.com/topic/show.do?id=291380

分享到 评论