Une duas interfaces de rede usando a mesma porta

0

Eu tenho 2 hosts

  • um com duas interfaces de rede: 10.0.0.1 e 172.0.0.1
  • segundo com uma interface de rede: 172.0.0.2

os dois hosts estão conectados entre si usando o 172.0.0.0

O primeiro host expõe uma porta por meio da interface 10.0.0.1 , digamos 8088

Eu quero que o segundo host se conecte a essa porta sem usar roteamento ou encaminhamento de ip, digamos que quando eu faço 172.0.0.1:8088 automaticamente recebo o 10.0.0.1:8088 .

Como posso fazer isso?

o 10.0.0.1:8088 é um protocolo http.

Obrigado.

Atualizar

Eu sinto muito, talvez eu não tenha explicado bem o meu problema.

Eu tenho um serviço HTTP escutando somente em 10.0.0.1:8088 (interface de rede), então quando eu faço localhost:8088 ou 172.0.0.1:8088 ele não funciona.

agora quero abrir uma nova porta na interface 172.0.0.1 que exponha o mesmo conteúdo que 10.0.0.1:8088 sem alterar a configuração do serviço HTTP.

a idéia por trás disso é poder usar 172.0.0.1:8088 como 10.0.0.1:8088 sem alterar a configuração do servidor HTTP.

ifconfig

eth0      Link encap:Ethernet  HWaddr 02:42:0a:00:00:02  
          inet addr:10.0.0.1  Bcast:0.0.0.0  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1450  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

eth1      Link encap:Ethernet  HWaddr 02:42:ac:12:00:02  
          inet addr:172.0.0.1  Bcast:0.0.0.0  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:187 errors:0 dropped:0 overruns:0 frame:0
          TX packets:137 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:193840 (193.8 KB)  TX bytes:11435 (11.4 KB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:2 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:192 (192.0 B)  TX bytes:192 (192.0 B)

netstat -tulpn

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:50070           0.0.0.0:*               LISTEN      197/java        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      30/sshd         
tcp        0      0 10.0.0.1:8088           0.0.0.0:*               LISTEN      598/java        
tcp        0      0 10.0.0.1:8030           0.0.0.0:*               LISTEN      598/java        
tcp        0      0 10.0.0.1:8031           0.0.0.0:*               LISTEN      598/java        
tcp        0      0 10.0.0.1:8032           0.0.0.0:*               LISTEN      598/java        
tcp        0      0 10.0.0.1:8033           0.0.0.0:*               LISTEN      598/java        
tcp        0      0 127.0.0.11:43077        0.0.0.0:*               LISTEN      -               
tcp        0      0 10.0.0.1:9000           0.0.0.0:*               LISTEN      197/java        
tcp        0      0 0.0.0.0:50090           0.0.0.0:*               LISTEN      414/java        
tcp6       0      0 :::22                   :::*                    LISTEN      30/sshd         
udp        0      0 127.0.0.11:35495        0.0.0.0:*                           -     
    
por Mohamed Amine Ouali 23.03.2018 / 18:13

1 resposta

0

Especificamente para o serviço que você está discutindo aqui ouvindo na porta 8080, ele fala HTTP. Além disso, ele está sendo executado apenas em 10.0.0.1:8088 .

Podemos configurar nginx , que é um software de servidor da Web, para trabalhar com o IP e a ligação de porta de 172.0.0.1:8088 .

Primeiro, instale nginx : sudo apt-get install nginx

Uma vez instalado, encerre o serviço NGINX executando: sudo systemctl stop nginx ou sudo service nginx stop .

Remova o arquivo de configuração padrão da configuração de inicialização do NGINX:

sudo rm /etc/nginx/sites-enabled/default

Crie um arquivo de configuração em /etc/nginx/sites-available chamado "8088_reverse_proxy" ou qualquer outro nome que você queira dar a este arquivo de configuração, para que você saiba o que ele faz. Depois de criar o arquivo, coloque o seguinte texto no arquivo de configuração:

server {
    listen 172.0.0.1:8088;

    server_name 172.0.0.1;

    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://10.0.0.1:8088;
        proxy_intercept_errors on;
    }
}

Salve o arquivo depois de inserir isso.

Em seguida, crie um link simbólico para esse arquivo de configuração em /etc/nginx/sites-enabled :

sudo ln -s /etc/nginx/sites-available/[FILENAME] /etc/nginx/sites-enabled/

... certificando-se de substituir [FILENAME] pelo nome exato que você escolheu para o arquivo de configuração.

Em seguida, inicie o serviço nginx quando isso for feito com sudo service nginx start ou sudo systemctl start nginx .

Você deve então, de qualquer outro computador na sub-rede 172.0.0.X, ou em qualquer lugar se este for um endereço de Internet, poder acessar o serviço em 172.0.0.1:8088 digitando http://172.0.0.1:8088 na barra de endereços. para o outro sistema.

    
por Thomas Ward 23.03.2018 / 19:37