去评论
海欣资源

Ubuntu pptp服务器搭建配置教程

perll
2022/05/30 01:06:57
一,关于pptp服务简单介绍
    点对点隧道协议(PPTP)是VPN服务的一种最简单的实现协议,其它常见的VPN类型还有:使用IPsec的第2层隧道协议(L2TP/IPsec)、安全套接字隧道协议(SSL VPN)。本文主要讲述基于Ubuntu的PPTP服务安装与配置。

二,本次用到的环境
    Windows11
    虚拟机与Ubuntu系统

三,开始配置
    使用apt命令来安装pptp服务
  1. sudo apt-get update
  2. sudo apt-get install pptpd
安装完成之后打开pptpd.conf配置文件进行编辑
  1. sudo vi /etc/pptpd.conf                                                        #打开配置文件

  2. #修改与下面对应的配置
  3. option /etc/ppp/pptpd-option                    #指定PPP选项文件的位置
  4. debug                                           #启用调试模式
  5. localip 192.168.0.1                             #VPN服务器的虚拟ip
  6. remoteip 192.168.0.200-238,192.168.0.245        #分配给VPN客户端的虚拟ip
编辑PPP选项配置文件
  1. sudo vi /etc/ppp/pptpd-options
  2. #修改与下面对应的配置
  3. name pptpd                      #pptpd服务的名称
  4. refuse-pap                      #拒绝pap身份认证模式
  5. refuse-chap                     #拒绝chap身份认证模式
  6. refuse-mschap                   #拒绝mschap身份认证模式
  7. require-mschap-v2               #允许mschap-v2身份认证模式
  8. require-mppe-128                #允许mppe 128位加密身份认证模式
  9. ms-dns 8.8.8.8                  #使用Google DNS
  10. ms-dns 8.8.4.4                  #使用Google DNS
  11. proxyarp                        #arp代理
  12. debug                           #调试模式
  13. dump                            #服务启动时打印出所有配置信息
  14. lock                            #锁定TTY设备
  15. nobsdcomp                       #禁用BSD压缩模式
  16. logfile /var/log/pptpd.log      #输出日志文件位置,配置文件日志有的用户没有,可以自行添加,出错方便查看
编辑用户配置文件来添加用户
  1. sudo vi /etc/ppp/chap-secrets

  2. #格式:用户名   服务类型   密码   分配的ip地址
  3.         username    *            1234            *
  4. #第一个*代表服务可以是PPTPD也可以是L2TPD,第二个*代表随机分配ip
  5. #有的Ubuntu会根据你系统默认的用户添加几个pptp服务用户,比如你的Ubuntu登录用户名是:test,密码是:1234,他会默认生成如下
  6. #但是本人建议不管有没有自动生成,你都给它添加一个测试用户
  7. test        pptp        1234        *
重启PPTPD服务
  1. sudo service pptpd restart                #重启pptp服务命令
配置网络和路由规则 设置ipv4转发
  1. sudo sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf
  2. sudo sysctl -p                #ipv4转发涉及到内核,所以一般用sysctl来设置或重新设置联网功能
设置iptables NAT转发
  1. #注意这里eth0代表你的外网网卡,请用ifconfig查看或者咨询网络管理员
  2. #如果不懂网卡知识,建议去了解一下,又不难
  3. sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
  4. #如果上面的命令报错,可以尝试以下的命令,其中xxx.xxx.xxx.xxx代表你的VPS外网(公网)ip地址
  5. #如果你是用虚拟机的话这里的xxx.xxx.xxx.xxx代表你用宿主机能ping通的虚拟机ip
  6. sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j SNAT --to-source xxx.xxx.xxx.xxx
设置MTU来确保过大的包不会被丢弃(这个可以不做,看字面意思就懂)
  1. sudo iptables -I FORWARD -s 192.168.0.0/24 -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1300
  1. ps -aux | grep pptpd

  2. #检查结果
  3. root      2711  0.0  0.0  10680   752 ?        Ss   07:50   0:00 /usr/sbin/pptpd
  4. ubuntu    2882  0.0  0.0  10460   936 pts/0    S+   08:20   0:00 grep --color=auto pptpd
  5. ubuntu@ip-172-31-26-143:~$ ps -aux | grep pptpd
  6. root      2711  0.0  0.0  10680   756 ?        Ss   07:50   0:00 /usr/sbin/pptpd
  7. root      2883  0.0  0.0  14884   892 ?        S    08:21   0:00 pptpd [221.194.176.15:12E3 - 0100]                                                                    
  8. root      2884  0.0  0.2  34840  2240 pts/4    Ss+  08:21   0:00 /usr/sbin/pppd local file /etc/ppp/pptpd-options 115200 172.31.26.143:172.31.26.100 ipparam 221.194.176.15 plugin /usr/lib/pptpd/pptpd-logwtmp.so pptpd-original-ip 221.194.176.15 remotenumber 221.194.176.15
  9. ubuntu    2895  0.0  0.0  10464   932 pts/0    S+   08:21   0:00 grep --color=auto pptpd
四,客户端连接操作
    打开WindowsVPN功能


添加连接信息

vpn供应商默认
连接名称随便起名
服务器名称或地址是你的公网ip,虚拟机的话是你宿主机能ping通的ip
vpn类型是点对点隧道协议(pptp), 重点
用户名和密码是在上面设置的那个