1. 程式人生 > >Ubuntu搭建PPTP服務器

Ubuntu搭建PPTP服務器

末尾 本機 客戶 sta image address accep sysctl 6.0

  • 測試環境: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

    創建一個×××連接,連接信息如下圖
    技術分享圖片
    連接成功之後查看一下獲取到的IP地址

    技術分享圖片

    Ubuntu搭建PPTP服務器