Comunicação entre dois sistemas usando o pppd

2

Eu tenho duas máquinas Vritual (parte de uma rede em ponte) (ambas do Ubuntu 64-bit) rodando o Oracle VM Box.

Eu posso me comunicar entre as duas máquinas usando o netcat. Eu instalei o daemon ppp em ambas as máquinas. O nome e o endereço IP das máquinas são fornecidos abaixo.

nas 192.168.129.153 (funciona como servidor) home_user 192.168.129.152 (funciona como o)

Eu corro os seguintes comandos do servidor e do cliente respectivamente

@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”

Eu recebo as seguintes mensagens do servidor e do cliente, respectivamente.

@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.

Meu objetivo final é desabilitar a autenticação e fazer com que o NAS enderece um endereço IP fixo e uma rota padrão para o usuário final.

Qualquer ajuda seria muito apreciada.

    
por liv2hak 03.08.2012 / 05:06

1 resposta

2

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:

  1. 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.

  2. 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
    
por 03.08.2012 / 08:22

Tags