Primeiro: Uau, isso é muito legal :) Já faz um tempo desde que vi alguém fazer algo inteligente com o PPP.
Segundo: Realmente não está claro em por que . Você já tem comunicação baseada em IP entre os dois hosts, isso não lhe dá muito em termos de privacidade (provavelmente não é qualquer coisa, na verdade) ...?
Agora, as tachas de latão:
Os endereços IP especificados nos argumentos para o pppd parecem errados por dois motivos:
-
Eles parecem ser iguais aos endereços IP das duas máquinas em interfaces diferentes (não PPP). Não consigo pensar em uma situação em que isso esteja correto. Na minha opinião, esta é a causa do seu problema. Você está tentando executar ping em um endereço IP que existe na outra extremidade de duas interfaces e que, por si só, pretende ter duas interfaces com esse endereço IP.
-
Você está especificando os endereços IP no cliente e no servidor. Isso é tecnicamente correto, mas como a especificação excessiva aqui pode causar uma falha na negociação, eu removerei os endereços IP do cliente e, em vez disso, configurarei o noipdefault lá.
Sugiro escolher um par de endereços IP para negociação PPP que NÃO estejam em uma rede pública válida (você fez isso) e que NÃO estejam associados a uma rede que já esteja acessível para seus dois computadores. Por exemplo. 10.1.1.1:10.1.1.2
Parece o seguinte quando terminado na interface de loopback:
Servidor:
$ 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
Cliente:
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
O único efeito prático deste processo é dar a você um endereço IP diferente para se comunicar com o host remoto, e isso só é realmente visível de dentro dos dois hosts de endpoint, então não tenho certeza por que você está interessado em este projeto, mas shrug . Ah, e há um tempo limite para o servidor; se não houver conexão dentro de um minuto ou dois, o servidor é encerrado:
LCP: timeout sending Config-Requests
Connection terminated.
Modem hangup
Child process nc -l 3333 (pid ####) terminated with signal 15