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建立vpn连接
ssh需要保证已经设置好的自认证连接
客户端
pppd nodetach noauth passive pty "ssh <ip> -l <user> ‘sudo /usr/sbin/pppd notty noauth‘" 192.168.4.2:192.168.4.254
原文:http://btvnlue.blog.51cto.com/9578271/1614571