ubuntu 20.04.1驗證PPtP


PPTP(點對點隧道協議):控制包和數據包分開,控制包采用TCP控制,數據包部分封裝PPP協議然后封裝GREV2協議。由此可見PPTP建立連接前,要求有IP網絡。

Ubuntu 20.04.1 上搭建PPtP Server和Client

Server端

  1. 安裝ppp

    sudo apt install ppp
    
  2. 安裝pptpd

    sudo apt install pptpd
    
  3. 配置pptpd

    pptpd的配置文件為/etc/pptpd.conf,vim編輯它,一下為部分配置選項,詳情可閱讀配置文件里面的注釋。

    # ppp撥號程序路徑
    ppp    /usr/sbin/pppd
    
    # ppp配置文件
    option /etc/ppp/pptpd-options
    
    # 開啟debug,日志輸出到syslog
    debug
    
    # 連接控制的超時時間(秒)
    stimeout 10
    
    # 最大連接數
    connections 100
    
    # 本地端(server)IP
    localip 192.168.0.1
    
    # 遠程對端(client)分配IP范圍
    remoteip 192.168.0.234-238,192.168.0.245
    

    ​ 其他默認即可,這里主要修改localipremoteip。需要注意的是remoteip可以指定一個范圍,或者某一個ip,不同的區域用逗號隔開,中間不能有空格。

  4. 配置pptpd對應的ppp配置文件

    ​ pptpd對應的ppp文件文件在上面的/etc/pptpd.conf文件中已指定,為/etc/ppp/pptpd-options,安裝pptpd時也一並安裝了。

    ​ 此文件中主要修改ms-dns項,設置為你想要的dns

    #ms-dns 10.0.0.1
    #ms-dns 10.0.0.2
    ms-dns 114.114.114.114
    ms-dns 8.8.8.8
    

    ​ 除此之外,還需要留意這個文件里面對鑒權認證和數據加密相關的設置,默認的為:

    # 留意refuse(拒絕,禁用)選項
    refuse-pap
    refuse-chap
    refuse-mschap
    
    require-mschap-v2
    require-mppe-128
    

    ​ 鑒權大致分為chap和pap,chap又有一些不同分支版本,主要是對安全兼容等方面的加強。

  5. 設置ppp賬戶密碼

    ​ 賬號密碼配置的文件有2個,一個是/etc/ppp/chap-secrets,一個是/etc/ppp/pap-secrets。選用哪一個取決於上一個步驟使用何種驗證方式,因為這里禁用了:

    refuse-pap
    refuse-chap
    refuse-mschap
    

    而啟用了:

    require-mschap-v2
    

    所以這里需要在/etc/ppp/chap-secrets配置賬戶密碼

    # Secrets for authentication using CHAP
    # client        server  secret                  IP addresses
    test              *       test                    *
    admin             *       admin                   *
    
  6. 啟動服務

    sudo systemctl enable pptpd
    sudo systemctl start pptpd
    

    由於這里不驗證client端通過server端上網,所以沒討論如何設置轉發和防火牆的設置。

  7. 擴展,設置轉發和防火牆

    開啟轉發

    sudo vim /etc/sysctl.conf
    #找到對應參數,修改成如下:
    net.ipv4.ip_forward=1
    #保存,使配置生效
    sudo sysctl -p
    

    配置防火牆

    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轉發的這條信息根據自己之前的配置(localip,remoteip網段)修改,注意網卡名設置為你的wan口網卡名,Ubuntu高一點的版本一般是ens33
    sudo iptables -t nat -A POSTROUTING -s 192.168.0.1/24 -o ens33 -j MASQUERADE
    

    重啟服務

    sudo systemctl restart pptpd
    

    此時client端可以上外網了。

Client端

​ 首先使用另一台ubuntu驗證,安裝相關的軟件

sudo apt-get install network-manager-pptp
sudo apt-get install pptp-linux

通過UI界面配置

選擇PPTP插件

設置密碼時需要點一下那個問好,選擇第一個或者第二個,才可以輸入密碼。然后點擊Advance,設置高級配置。

高級配置里面,根據上面server鑒權和數據加密的配置來勾選,這里server鑒權配置為mschapv2,數據加密使用了mppe-128。保存,連接。

然后,使用另一個賬號密碼在openwrt上連接,需要注意的是,一個賬號對應一路連接,同一個賬號不能同時從多個client端連接。

在server端可以看到此時有2個ppp連接

如果嫌麻煩,也可以直接在win10上驗證

配置也是相當簡單


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM