Связь между двумя системами с использованием pppd

2779
liv2hak

У меня есть две Vritual Machines (часть мостовой сети) (обе Ubuntu 64-битные) под управлением Oracle VM Box.

Я могу общаться между двумя компьютерами, используя netcat. Я установил ppp демон на обеих машинах. Имя и IP-адрес машин приведены ниже.

nas 192.168.129.153 (Действует как сервер) home_user 192.168.129.152 (Действует как)

Я запускаю следующие команды с сервера и клиента соответственно

@Server (nas) sudo pppd 192.168.129.153:192.168.129.152 nodetach pty "nc -l 3333 pppd"

@Client (home_user) sudo pppd 192.168.129.152:192.168.129.153 nodetach pty «nc 129.168.129.153 3333»

Я получаю следующие сообщения от сервера и клиента соответственно.

@server


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 

@Client


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-адрес и маршрут по умолчанию к конечной точке домашнего пользователя.

Любая помощь будет высоко оценен.

2

1 ответ на вопрос

2
Slartibartfast

Во-первых: О, это круто :) Я давно видел, как кто-то делает что-то умное с PPP.

Второе: действительно не понятно, почему . У вас уже есть связь на основе IP между двумя хостами, это не дает вам много в плане конфиденциальности (вероятно, ничего, на самом деле) ...?

Теперь медные гвозди:

IP-адреса, указанные в аргументах pppd, кажутся неправильными по двум причинам:

  1. Похоже, они совпадают с IP-адресами двух машин на разных (не PPP) интерфейсах. Я не могу придумать ситуацию, когда это правильно. На мой взгляд, это является причиной вашей проблемы. Вы пытаетесь пропинговать IP-адрес, который существует на другом конце двух интерфейсов, и который сам по себе должен иметь два интерфейса с этим IP-адресом.

  2. Вы указываете IP-адреса как на клиенте, так и на сервере. С технической точки зрения это нормально, но поскольку чрезмерное указание здесь может привести к невозможности согласования, я бы удалил IP-адреса с клиента и вместо этого установил там noipdefault.

Я бы предложил выбрать пару IP-адресов для согласования PPP, которые НЕ находятся в действующей общедоступной сети (вы сделали это), и которые НЕ связаны с сетью, которая уже доступна для ваших двух компьютеров. Например, 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 
Не знаю, почему OP этого хочет, но я использую его для превращения односторонних соединений в двусторонние соединения через брандмауэры и т. П. Или для туннелирования прямого соединения через несколько переходов. Perkins 5 лет назад 0