PPP撥號連接建立虛擬網卡,並可以進行路由設置。幾乎所有其他的連接服務都建立在其之上,PPPoE,PPTP,L2TP等等。
而其中一個最基本的話題可能被忽略了,PPP是如何工作的,如何使用PPP建立最簡易的連接。
PPP協議實際上非常簡單,握手信號之後即進行數據交換,由於原來的PPP連接的使用都是基於電話MODEM的點對點通信,不考慮過於複雜的加密並保證傳輸效率,所以PPP的缺省設置是基於tty設備的,如果使用串口就是ttyS0-ttyS?
當然,使用pppd應用於附加服務並不必須使用tty設備,代之以pty使用子進程的標準輸入輸出,stdio
建立本機的局域聯接,命令如下
pppd noauth nodetach passive pty '/usr/sbin/pppd noauth notty' 192.168.2.123:192.168.2.254
解析
pppd | 服務端命令行,應該指明路徑,/usr/sbin/pppd |
noauth | 不進行用戶驗證 |
nodetach | 不作後臺運行,用於調試目的,可以換作updetach,或不用此選項即作爲後臺 |
passive | 等待連接,可以認爲服務模式 |
pty | 取代tty的輸入輸出爲命令行的標準輸入輸出 |
notty | 客戶端命令行中notty將pppd通信直接用於標準輸入輸出 |
<local ip> : <remote ip> | 點對點的地址分配 |
局域網內的撥號連接
實際上沒有太多的應用意義,但即使僅僅作爲撥號和虛擬網絡測試也可以加以研究
服務端
pppd noauth nodetach passive pty 'nc -l -p 22334' 192.168.3.123:192.168.3.254
客戶端
pppd noauth nodetach pty 'nc <ip> 22334'
使用ssh建立***連接
ssh需要保證已經設置好的自認證連接
客戶端
pppd nodetach noauth passive pty "ssh <ip> -l <user> 'sudo /usr/sbin/pppd notty noauth'" 192.168.4.2:192.168.4.254