ubuntu 16.04 pptp搭建服务端和客户端

本文主要是记录ubuntu 16.04安装pptp 服务端以及客户端的过程

这是服务端

1. 安装pptp
sudo apt-get install pptpd
2. 修改pptpd.conf中的配置信息
sudo vim /etc/pptpd.conf

在末尾增加下面两行,或者打开的内容里面找到这两行,取消掉注释

localip  192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245

分别为创建pptp时的主机ip和连接pptp的其他主机使用的ip段,可以自行修改。
注意,这里的ip并不是指外网ip或者当前局域网ip,而是指创建(虚拟专用网络)会分配的ip地址。一般这个可以不用修改。

3. 修改chap-secrets配置

连接pptp 所需要的账号和密码,修改配置文件/etc/ppp/chap-secrets

sudo vim /etc/ppp/chap-secrets

在末尾添加以下内容

#用户名 pptpd 密码 *
neo  pptpd  123456  *

末尾的表示可以使用任意IP连入,如果你要设置指定IP才能连接,可以将替换成对应的IP。支持添加多个账号。

4. 设置ms-dns

配置使用的dns,修改配置文件

sudo vim /etc/ppp/pptpd-options

在末尾增加下面两行,或者打开的内容里面找到这两行,取消掉注释

# 这是谷歌的DNS 可以根据实际填写
ms-dns 8.8.8.8
ms-dns 8.8.4.4
5. 开启转发

修改配置文件

sudo vim /etc/sysctl.conf

在末尾增加下面内容,或者打开的内容里面找到这一行,取消掉注释

net.ipv4.ip_forward=1

保存之后执行

sudo sysctl -p
6. 配置iptables

若未安装iptables 执行脚本安装

sudo apt-get install iptables

tips:若之前安装pptp失败的。执行以下脚本;如果是第一次安装可忽略以下内容(目的为了清除iptables里旧的规则)

 1. sudo iptables -F
 2. sudo iptables -X
 3. sudo iptables -t nat -F
 4. sudo iptables -t nat -X

然后,允许GRE协议以及1723端口、47端口:

sudo iptables -A INPUT -p gre -j ACCEPT 
sudo iptables -A INPUT -p tcp --dport 1723 -j ACCEPT 
sudo iptables -A INPUT -p tcp --dport 47 -j ACCEPT

下一步,开启NAT转发:

sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eno33 -j MASQUERADE

注意,上面的eno33是连接网络的网卡的名称,不同机器这个可能是不一样的。可以在终端输入ifconfig来查看。例如

neo@ubuntu:~$ ifconfig
ens33     Link encap:Ethernet  HWaddr 00:0c:29:37:79:85  
          inet addr:xxx.xxx.xxx.xxx  Bcast:xxx.xxx.xxx.xxx  Mask:255.255.255.0
          inet6 addr: xxxx::20c:29ff:fe37:xxxx/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:293 errors:0 dropped:0 overruns:0 frame:0
          TX packets:211 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:26801 (26.8 KB)  TX bytes:41763 (41.7 KB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:160 errors:0 dropped:0 overruns:0 frame:0
          TX packets:160 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:11840 (11.8 KB)  TX bytes:11840 (11.8 KB)

7. 重启pptp服务
sudo service pptpd restart



这是客户端

在另一个服务器(本文是用的是两个虚拟机)中执行以下内容

1. 安装pptp客户端
sudo apt-get install pptp-linux

2. 初始化一个连接通道:mypptp

使用服务端设置的账号密码neo/6yhn^YHN

sudo pptpsetup --create mypptp --server xxx.xxx.xxx.xxx --username neo --password 6yhn^YHN --encrypt --start

xxx.xxx.xxx.xxx是pptp mypptp服务端的ip地址 根据实际情况填写(以下示例)

root@ubuntu:~# sudo pptpsetup --create mypptp --server 172.31.1.112 --username neo --password 6yhn^YHN --encrypt --start
Using interface ppp0
Connect: ppp0 <--> /dev/pts/2

CHAP authentication succeeded
MPPE 128-bit stateless compression enabled
local  IP address 192.168.0.234
remote IP address 192.168.0.1
root@ubuntu:~# 

3. 查看连接是否成功
root@ubuntu:~# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:xx:86:5f brd ff:ff:ff:ff:ff:ff
    inet .31.1.113/24 brd xxx.31.1.2xxx5 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fxx0::20c:29ff:fxx3e:8xxf/64 scope link 
       valid_lft forever preferred_lft forever
8: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1496 qdisc pfifo_fast state UNKNOWN group default qlen 3
    link/ppp 
    inet 192.168.0.234 peer 192.168.0.1/32 scope global ppp0
       valid_lft forever preferred_lft forever
root@ubuntu:~# 

也可以在pptp 服务端查看

neo@ubuntu:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         xxx.xxx.1.1      0.0.0.0         UG    0      0        0 ens33
xxx.xxx.1.0      0.0.0.0         255.255.255.0   U     0      0        0 ens33
192.168.0.234   0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
neo@ubuntu:~$ 
4. 断开重启pptp客户端

断开连接

poff mypptp

重接mypptp

pon mypptp
5. 处理错误

LCP: timeout sending Config-Requests

执行:sudo modprobe nf_conntrack_pptp

  • 1
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值