Ubuntu搭建PPTP服务器

  • 测试环境:Ubuntu 16.04 x64

    1. PPTPD的安装及配置

  • 安装pptpd
    sudo apt-get install -y pptpd
  • 配置pptpd
    修改/etc/pptpd.conf文件
    sudo vim /etc/pptpd.conf
    将文件末尾中的下面语句取消注释
    #localip 192.168.0.234-238,192.168.0.245
    #remoteip 192.168.1.234-238,192.168.1.245
    变成
    localip PPTP服务器地址/本机地址,如10.1.1.104
    remoteip 1.1.1.1-10,分配给远程连接的客户端的IP地址

2. 添加客户端用户

  • 修改/etc/ppp/chap-secrets,在文件末尾添加用户
    client:连接用户名
    server:连接的服务
    secret:连接密码
    IP addresses:可连接的IP,*表示所有
    # Secrets for authentication using CHAP
    # client        server  secret                  IP addresses
    admin  pptpd  admin123  *

3. 修改远程连接用户的DNS

  • 修改/etc/ppp/pptpd-options文件
    ms-dns 119.29.29.29
    ms-dns 223.5.5.5

4. 开启网络转发功能

  • 修改/etc/sysctl.conf,找到#net.ipv4.ip_forward=1,将注释去掉
    net.ipv4.ip_forward=1
    sudo sysctl -p (立即生效)

5. 配置iptables

  • 配置iptables允许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转发
    此处的eth0不一定一致,按照自己机器的网卡名配置即可
    sudo iptables -t nat -A POSTROUTING -s 1.1.1.0/24 -o eth0 -j MASQUERADE
  • 防止上网慢
    sudo iptables -I FORWARD -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1356
  • 保存iptables规则
    sudo iptables-save > /etc/iptables-rules
  • 打开网卡配置/etc/network/interfaces,在文件末尾添加如下内容
    sudo vim /etc/network/interfaces/
    pre-up iptables-restore < /etc/iptables-rules

6. 重启服务并测试

sudo service pptpd restart

创建一个×××连接,连接信息如下图
Ubuntu搭建PPTP服务器
连接成功之后查看一下获取到的IP地址

Ubuntu搭建PPTP服务器

猜你喜欢

转载自blog.51cto.com/14284354/2380419