使用 pppd 在两个系统之间进行通信

使用 pppd 在两个系统之间进行通信

我有两台运行 Oracle VM Box 的虚拟机(桥接网络的一部分)(均为 Ubuntu 64 位)。

我可以使用 netcat 在两台机器之间进行通信。我已经在两台机器上安装了 ppp 守护进程。机器的名称和 IP 地址如下所示。

nas 192.168.129.153(充当服务器) home_user 192.168.129.152(充当)

我分别从服务器和客户端运行以下命令

@服务器(nas)sudo pppd 192.168.129.153:192.168.129.152 nodetach pty“nc -l 3333 pppd”

@客户端 (home_user) sudo pppd 192.168.129.152:192.168.129.153 nodetach pty “nc 129.168.129.153 3333”

我分别从服务器和客户端收到以下消息。

@服务器


sudo pppd 192.168.129.152:192.168.129.153 nodetach pty "nc 192.168.129.153 3333" 
Using interface ppp0 
Connect: ppp0 <--> /dev/pts/2 
CCP: timeout sending Config-Requests 
IPCP: timeout sending Config-Requests 
Connection terminated. 
Modem hangup Child process nc
192.168.129.153 3333 (pid 2298) terminated with signal 15

@客户


sudo pppd 192.168.129.153:192.168.129.152 nodetach pty "nc -l 3333"
Using interface ppp0
Connect: ppp0 <--> /dev/pts/1
Deflate (15) compression enabled
local  IP address 192.168.129.153
remote IP address 192.168.129.152
No response to 4 echo-requests
Serial link appears to be disconnected.
Connect time 2.5 minutes.
Sent 1060 bytes, received 0 bytes.
Connection terminated.
Modem hangup.

我的最终目标是禁用身份验证并让 NAS(服务器)端向家庭用户端提供固定 IP 地址和默认路由。

任何帮助都将非常感激。

答案1

首先:哇,这太酷了 :) 我已经很久没看到有人用 PPP 做一些聪明的事情了。

第二:确实不清楚为什么。您已经在两个主机之间建立了基于 IP 的通信,这并没有给您带来太多的隐私(实际上可能什么都没有)......?

现在,让我们来看看实际情况:

pppd 参数中指定的 IP 地址似乎不正确,原因有二:

  1. 它们似乎与两台机器在不同(非 PPP)接口上的 IP 地址相同。我想不出这种情况是否正确。在我看来,这就是导致您出现问题的原因。您正在尝试 ping 位于两个接口另一端的 IP 地址,而该 IP 地址本身应该有两个具有该 IP 地址的接口。

  2. 您在客户端和服务器上都指定了 IP 地址。从技术上讲,这没问题,但由于此处指定过多可能会导致协商失败,因此我会从客户端中删除 IP 地址,而是在那里设置 noipdefault。

我建议为 PPP 协商选择一对 IP 地址,这两个地址不在有效的公共网络上(您已经这样做了),并且不与您的两台计算机已经可以访问的网络相关联。例如 10.1.1.1:10.1.1.2

通过环回接口完成时看起来如下所示:

服务器:

$ sudo pppd 10.1.1.1:10.1.1.2 nodetach pty "nc -l 3333"
Using interface ppp0
Connect: ppp0 <--> /dev/pts/4
Deflate (15) compression enabled
local  IP address 10.1.1.1
remote IP address 10.1.1.2

客户:

jnisbet2@decimate:~$ sudo pppd noipdefault nodetach pty "nc 127.0.0.1 3333"
Using interface ppp1
Connect: ppp1 <--> /dev/pts/6
Deflate (15) compression enabled
local  IP address 10.1.1.2
remote IP address 10.1.1.1

此过程的唯一实际效果是向您提供与远程主机通信的不同 IP 地址,并且这实际上只能从两个端点主机内部看到,所以我不确定您为什么对这个项目感兴趣,但是耸肩哦,服务器还有超时限制;如果一两分钟内没有连接,服务器就会退出:

LCP: timeout sending Config-Requests
Connection terminated.
Modem hangup
Child process nc -l 3333 (pid ####) terminated with signal 15

相关内容