Linux Pptpd

来源:https://www.cnblogs.com/purple910/archive/2019/12/09/12012445.html

準備環境 軟體安裝 pptpd.conf options.pptpd chap secrets 也就是我們一會在windows上登陸時用到的帳號和密碼 sysctl.conf 啟動服務並查看埠 防火牆 主機連接 ...


準備環境

1 主機ip:192.168.0.107  
2 VPN伺服器:  
    ens32:192.168.0.102  
    ens33:127.16.1.10

軟體安裝

[[email protected] ~]# yum install -y ppp pptpd
註意:若無法下載pptpd
    1 配置阿裡雲的yum源
    2 手動下載pptpd.rpm  http:##poptop.sourceforge.net/yum/stable/packages/

pptpd.conf

[[email protected] ~]# vim /etc/pptpd.conf         ##編輯pptpd的預設匹配文件
option /etc/ppp/options.pptpd
logwtmp
localip 192.168.0.102           ##這個ip為虛擬機的ip地址,也就是我們在linux中用ifconfig查詢出來的ip
remoteip 172.16.1.20-80     ##自動分配ip範圍,這裡不要包含虛擬機的ip,否則會發生衝突

##說明:localip 是本機的外網IP地址;remoteip 是為接入的VPN客戶端分配的IP地址範圍。

options.pptpd

[[email protected] ~]# vim /etc/ppp/options.pptpd
##有效行:如果此文件為空,添加這些行就可以
name pptpd    ##相當於身份驗證時的域,一定要和/etc/ppp/chap-secrets中的內容對應
refuse-pap                  ##拒絕pap身份驗證
refuse-chap                 ##拒絕chap身份驗證
refuse-mschap               ##拒絕mschap身份驗證
require-mschap-v2           ##採用mschap-v2身份驗證方式
require-mppe-128            ##在採用mschap-v2身份驗證方式時要使用MPPE進行加密
ms-dns 192.168.0.107            ##給客戶端分配DNS伺服器地址
ms-dns 8.8.8.8
proxyarp                    ##啟動ARP代理
debug                   ##開啟調試模式,相關信息同樣記錄在 /var/logs/message 中。
lock                        ##鎖定客戶端 PTY 設備文件。
nobsdcomp               ##禁用 BSD 壓縮模式。
novj                
novjccomp               ##禁用 Van Jacobson 壓縮模式。
nologfd                 ##禁止將錯誤信息記錄到標準錯誤輸出設備(stderr)

chap-secrets

也就是我們一會在windows上登陸時用到的帳號和密碼

[[email protected] ~]# vim /etc/ppp/chap-secrets 
# Secrets for authentication using CHAP
# client        server                  secret                  IP addresses
    zyc          pptpd                  123                           *
    root         *                      456                           *
    用戶名      服務類型(*代表所有)       密碼                          連入的ip(*代表任意地址)

sysctl.conf

[[email protected] ~]# vim /etc/sysctl.conf 
net.ipv4.ip_forward = 1                     ##數值改為“1”,沒有則追加
[[email protected] etc]# sysctl –p             ##啟用轉發功能
net.ipv4.ip_forward = 1

啟動服務並查看埠

[[email protected] ~]# service pptpd start     ##啟動服務
[[email protected] ~]# netstat -tnlp | grep pptpd              ##查看埠
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:1723            0.0.0.0:*               LISTEN      63854/pptpd

防火牆

systemctl stop firewalld
iptables -I INPUT -p tcp --dport 1723 -j ACCEPT     ##允許預設埠通過
iptables -I INPUT -p tcp --dport 47 -j ACCEPT
iptables -I INPUT -p gre -j ACCEPT
iptables -t nat -A POSTROUTING -s 172.16.1.10/24 -j SNAT --to 192.168.0.107             ##轉發從內網ip的數據到本機ip
iptables -t nat -A POSTROUTING -o ens33 -s 192.168.0.0/24  -j MASQUERADE    
iptables-save   

主機連接

設置-》網路與Internet-》VPN-》添加VPN連接
VPN提供商為Windows內置,連接名稱隨意,伺服器地址為192.168.0.107,VPN協議選點對點隧道協議,登錄類型選用戶與密碼
輸入用戶與密碼

您的分享是我們最大的動力!

更多相關文章
  • 項目框架介紹: 1:Application: 在service裡面事件具體業務,Dto相當於viewmodel實現了驗證 2:Core:實現了數據層Model 3:EntityFrameworkCore: 資料庫管理 對Model的改動使用 add-migration xxxx(這裡是你給這次遷移文 ...
  • abp依賴註入的原理剖析 請先移步參考 "[Abp vNext 源碼分析] 3. 依賴註入與攔截器" 本文此篇文章的補充和完善。 abp的依賴註入最後是通過IConventionalRegister介面的AddType方法實現的。先看下該介面: 該介面定義了三個方法,支持傳入程式集、類型數組、具體類 ...
  • 使用abp模板進行項目開發: 1:準備工作:我使用v2.x版本,所以會依賴.net core 2.2 查看並更新本地環境: 更新.net core版本:cmd 運行 dotnet --version查看本機版本(我的是core 2.1) 通過下載安裝sdk更新core版本:https://dotne ...
  • 下麵是針對 nfs 所有的版本,我們可以通過不同的RFC 進行詳細看其RFC的細節來進行對比: 下麵是備忘一些NFS RFC 的鏈接: https://datatracker.ietf.org/doc/search?name=nfs&sort=&rfcs=on&activedrafts=on nfs ...
  • 關鍵詞:top、perf、sar、ksar、mpstat、uptime、vmstat、pidstat、time、cpustat、munin、htop、glances、atop、nmon、pcp-gui、collectl。 1. top top是最常用的查看系統資源使用情況的工具,包括CPU、記憶體等等 ...
  • * * * * * (下麵的字體對應) 分 時 日 月 周 星號(*):代表所有可能的值,例如month欄位如果是星號,則表示在滿足其它欄位的制約條件後每月都執行該命令操作。 逗號(,):可以用逗號隔開的值指定一個列表範圍,例如,“1,2,5,7,8,9” 中杠(-):可以用整數之間的中杠表示一個整 ...
  • 準備環境 軟體安裝 服務端基本配置文件 創建一個新的 PKI 和 CA 生成服務端證書 簽約服務端證書 創建 Diffie Hellman 客戶端基本配置 生成客戶端證書 最後簽約客戶端證書 證書整理 服務端 客戶端 server.conf 密碼驗證腳本 !/bin/sh PASSFILE="/et ...
  • 準備環境 環境測試 軟體安裝 xl2tpd.conf options.xl2tpd ipsec.conf l2tp ipsec.conf chap secrets 也就是我們一會在windows上登陸時用到的帳號和密碼 default secrets sysctl.conf 檢查配置 防火牆 開啟服 ...
一周排行
  • " 返回《C 併發編程》" "1. 概念介紹" "2. 非同步編程" "2.1. async運行過程" "2.2. async運行中同步上下文簡介" "2.3. 創建Task實例" "2.4. 捕獲非同步異常類型" "3. 並行編程" "3.1. Parallel" "3.2. 異常處理" "3.3. ...
  • 我們先看看兩個特效,感受一下,有沒有學習的動力? 核心API:Texture2D.SetPixel(int x, int y, Color color),Texture2D.Apply() 實現原理:對象池 思路: 第一幀繪製前:遍歷瓦片上所有活著的粒子對象並且進行數據操作(或運動,死亡),發生運動 ...
  • 原來的導出方式比較適用於比較簡單的導出,每一條數據在一行,數據列雖然自定義程度比較高,如果要一條數據對應多行就做不到了,於是就想支持根據模板導出,在 1.8.0 版本中引入了根據模板導出的功能 ...
  • 創建一個bat腳本, 裡面寫上: reg delete HKEY_CURRENT_USER\Software\JetBrains\dotMemory /freg delete HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Ex ...
  • Linux下有vsyscall來優化一些例如time(NULL), gettimeofday這種調用的消耗; 但是Windows下, 沒有類似的東西, 但是思路還是有的 1. 程式啟動的時候, 獲取一下準確的時間戳 2. 然後每次需要獲取時間的時候, 獲取一下流逝的時間, 可以通過獲取CPU的tic ...
  • 當用戶按下鍵盤上的一個鍵時,就會發生一系列事件。下表根據他們的發生順序列出了這些事件: 表 所有元素的鍵盤事件(按順序) 鍵盤處理永遠不會像上面看到的這麼簡單。一些控制項可能會掛起這些事件中的某些事件,從而可執行自己更特殊的鍵盤處理。最明顯的例子是TextBox控制項,它掛起了TextInput事件。對 ...
  • static void LocalMethod() { Cube(100); void Cube(int x) => Console.WriteLine($"The cube of {x} is {x * x * x}"); } static void GoToDemo() { int i = 1; ...
  • 滑鼠事件執行幾個關聯的任務。當滑鼠移到某個元素上時,可通過最基本的滑鼠事件進行響應。這些事件是MouseEnter(當滑鼠指針移到元素上時引發該事件)和MouseLeave(當滑鼠指針離開元素時引發該事件)。這兩個事件都是直接事件,這意味著他們不使用冒泡和隧道過程,而是源自一個元素並且只被該元素引發 ...
  • 反射這個詞聽起來就很牛逼是吧? 嗯的確,反射是比較高級的特性,只有語言基礎很扎實的Dev們才應該使用它。 搞點反射,可以提高程式的靈活性、可擴展性、耦合度。 反射這東西,是為了動態地運行時載入,相比於靜態代碼。編譯的時候就是板上釘釘了。 就是說,如果你的程式需要在運行時搞一些晚綁定,動態載入或檢查對 ...
  • 眾所周知,微服務架構是由一眾微服務組成,項目中調用其他微服務介面更是常見的操作。為了便於調用外部介面,我們的常用思路一般都是封裝一個外部介面的客戶端,使用時候直接調用相應的方法。webservice或WCF的做法就是引用服務,自動生成客戶端。在webapi2.0里,我們都會手動封裝一個靜態類。那麼在 ...
x