Como impedir que a nova interface virtual isolada ouça 0.0.0.0:*

1

Estou criando uma nova interface virtual:

ifconfig eth0:0 123.123.22.22

O comando netstat -tlnp retorna algo assim:

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:50505         0.0.0.0:*               LISTEN      -               
tcp        0      0 127.0.0.1:7337          0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:3790            0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:6001            0.0.0.0:*               LISTEN      2450/Xvnc4      
tcp        0      0 0.0.0.0:6002            0.0.0.0:*               LISTEN      2626/Xvnc4      
tcp        0      0 192.168.2.77:22         0.0.0.0:*               LISTEN      -               
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      -               
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      -               
tcp        0      0 127.0.0.1:3001          0.0.0.0:*               LISTEN      -               
tcp        0      0 127.0.0.1:52698         0.0.0.0:*               LISTEN      3488/plugin_host
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      -               
tcp6       0      0 ::1:7337                :::*                    LISTEN      -               
tcp6       0      0 :::5901                 :::*                    LISTEN      2450/Xvnc4      
tcp6       0      0 :::5902                 :::*                    LISTEN      2626/Xvnc4      
tcp6       0      0 ::1:631                 :::*                    LISTEN      -               
tcp6       0      0 ::1:5432                :::*                    LISTEN      -               
tcp6       0      0 ::1:6010                :::*                    LISTEN      -  

Portanto, se eu fizer nmap para a interface virtual e física, o resultado será o mesmo (isso é explicado com o valor de "Local Address" em netstat ). Eu tentei fechar as portas (5901,5902,6001,6002) nesta nova interface virtual. O nmap para ambas as interfaces:

PORT     STATE SERVICE
5901/tcp open  vnc-1
5902/tcp open  vnc-2
6001/tcp open  X11:1
6002/tcp open  X11:2

Comando:

sudo iptables -A INPUT -i eth0:0 -p tcp --dport 5901 -j DROP

A porta estará inacessível, mas aberta (por nmap ). Existe alguma maneira de impedir que eth0:0 ouça o tráfego de 0.0.0.0 ?

If a host has two IP addresses, 192.168.1.1 and 10.1.2.1, and a server running on the host listens on 0.0.0.0, it will be reachable at both of those IPs. (wiki)

Objetivos:

  • Exponha novas interfaces na LAN e altere o endereço Mac (será semelhante a outra máquina)
  • Vincule os contêineres da janela de encaixe às novas Interfaces recentemente criadas, expondo serviços em determinadas portas.
por jcardosovtl 05.12.2017 / 16:25

1 resposta

0

Para simular uma segunda placa ethernet (virtual) com um MAC diferente sobre uma placa de rede existente e de um namespace diferente (por exemplo, um container), você precisa de uma interface macvlan .

Aqui estão instruções de como usá-los em um contêiner do Docker. p>

Você parece estar um pouco confuso sobre os princípios por trás de alguns dos recursos de rede que você tentou. Talvez o seguinte ajude:

  • eth0:0 é a maneira antiga usada pela ferramenta ifconfig para manipular um segundo endereço IP em alguma interface. Se você usar uma ferramenta mais nova como ip addr , ela mostrará apenas o segundo endereço IP em eth0 . Isso só se aplica ao nível 3 do OSI, portanto, não há endereço MAC diferente, ele não interage com namespaces de rede, como no Docker, e geralmente é difícil de usar, porque você deve certificar-se de que cada aplicativo se vincula corretamente a um dos endereços. E essa ligação é necessária para impedir que um aplicativo ouça em 0.0.0.0; não há como impedir genericamente " eth0:0 de ouvir o tráfego de 0.0.0.0 " (ignorando que a sentença desse formulário não faz sentido; interfaces não estão ouvindo, aplicativos estão ouvindo em determinados endereços IP e / ou certas interfaces por ligação).

  • iptables permite que você faça filtragem de pacotes, firewall, NAT, etc. não permite alterar endereços MAC, controlar quais aplicativos atendem em qual endereço etc. .

  • "Eu já usei modprobe " também não faz sentido: modprobe é uma maneira de carregar módulos do kernel, se você não pode dizer qual módulo do kernel você quer usar, com que propósito e por quê não é carregado automaticamente em primeiro lugar, esta frase não transmite nenhuma informação.

Além disso, leia o problema XY : quando quiser para fazer X, e acho que você pode precisar fazer Y para chegar ao X, sempre perguntar sobre X . Então mencione que você tentou Y. Em muitos casos (como aqui), Y está totalmente errado.

    
por 06.12.2017 / 12:06