Во-первых: О, это круто :) Я давно видел, как кто-то делает что-то умное с PPP.
Второе: действительно не понятно, почему . У вас уже есть связь на основе IP между двумя хостами, это не дает вам много в плане конфиденциальности (вероятно, ничего, на самом деле) ...?
Теперь медные гвозди:
IP-адреса, указанные в аргументах pppd, кажутся неправильными по двум причинам:
Похоже, они совпадают с IP-адресами двух машин на разных (не PPP) интерфейсах. Я не могу придумать ситуацию, когда это правильно. На мой взгляд, это является причиной вашей проблемы. Вы пытаетесь пропинговать IP-адрес, который существует на другом конце двух интерфейсов, и который сам по себе должен иметь два интерфейса с этим IP-адресом.
Вы указываете 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