Endereço IP que é equivalente a / dev / null

92

Existe um endereço IP que resultaria em qualquer pacote enviado para ser ignorado (blackholed)?

Sei que sempre posso configurar um roteador com um endereço IP e depois fazer com que ele ignore todos os pacotes enviados a ele, mas existe algo para me salvar do problema?

Tyler Durden
fonte
2
Existem alguns dispositivos (como roteadores e comutadores da San Francisco Cisco ) que usam uma interface nula que pode ser usada como um buraco negro no tráfego malicioso. Deve-se apontar uma rota para essa interface nula, para que todo o tráfego para essa rota seja descartado.
Adriano P
12
você pode estar interessado em devnull-as-a-service.com
wchargin
2
Estou curioso, por que a pergunta está marcada com "prevenção de spam"?
Mike Pennington
@ WChargin, espero que tenha sido uma piada - devnull-as-a-service.comnão parece ter nada a ver com redes e até parece uma porcaria . O que é este : When we say "government" we mean NSA, CIA, FBI, TSA, Communist Party of China (CPC), Nestle, The Coca-Cola Company, the KGB, some of your coworkers and our friends (especially if there is something funny).?
VL-80
5
@ Nikolay sim, foi uma piada, como é o site. Veja seu README Github : "É principalmente sobre a empresa, nuvem, * -as-a-Service e crítica sobre ele. " (Grifo meu)
wchargin

Respostas:

84

Há especificamente um prefixo blackhole no IPV6, conforme descrito na RFC 6666 , é 100 :: / 64. O IP4 não possui um buraco negro explícito como esse, mas um host inexistente em um dos blocos reservados teria esse efeito. (por exemplo, 240.0.0.0/4 é "reservado para uso futuro" e não será roteado por nada.)

Bandrami
fonte
32
Enviar dados para algo reservado para uso futuro é apenas uma boa idéia até que esse uso futuro seja realizado.
corsiKa
5
Ponto muito bom, embora eu duvide muito que o IP4 seja expandido muito novamente.
Bandrami
8
Mas é garantido que o roteador descarte os pacotes? Como se ele retornar o "destino inacessível" para o ICMP, não seria o que o OP solicitou.
WGH 22/03/14
41

Existe um buraco negro na rede .

Se não houver dispositivos na rede com o endereço IP 192.168.0.10, esse endereço IP é uma espécie de buraco negro e "descartará" todo o tráfego para ele, simplesmente porque ele não existe.

Os protocolos que controlam o estado da conexão (TCP) podem detectar um host de destino ausente. Isso não acontecerá com o UDP e os pacotes simplesmente morrerão enquanto o host de envio não for informado sobre isso.

Você pode configurar o buraco negro com o firewall, configurando-o para descartar pacotes silenciosamente ( não rejeitar ) de endereços específicos (ou muitos).

Até onde eu sei, não existe um endereço padrão de rede que faça um buraco negro para você na versão 4 do TCP / IP (graças ao Bandrami ).

Então você tem duas opções:

  1. Um endereço IP que não foi atribuído a nenhum host;
  2. Host com firewall que silenciosamente descarta pacotes ou variações dele, por exemplo, usando netcat: (como sugerido pelo ultrasawblade ).

nc -vv -l 25 > /dev/nullescutará conexões de entrada na porta TCP 25 e canalizará os resultados /dev/null. Mais exemplos aqui .

A sub-rede inteira também pode ser um buraco negro ( rota nula ).

VL-80
fonte
4
Se você deseja algo que receba tráfego TCP, mas não faça nada com ele, algo rápido pode ser configurado com nc(ou netcat). Como o @Nikolay diz, no entanto, não há um IP "blackhole" que faça isso automaticamente.
LawrenceC
2
Pelo menos não no IP4
Bandrami
@ Bandrami: E o IPv6, então?
precisa saber é o seguinte
2
@ user2357112, basta olhar para a resposta dele . É logo abaixo do meu.
VL-80
19

Embora não seja um buraco negro, você também pode considerar os IPs reservados para fins de teste / exemplo (pela RFC 5737) , especialmente se seu objetivo for um valor "padrão que não funciona com segurança".

  • 192.0.2.0/24 (TEST-NET-1),
  • 198.51.100.0/24 (TEST-NET-2)
  • 203.0.113.0/24 (TEST-NET-3)

Os operadores de rede devem adicionar esses blocos de endereços à lista de espaços de endereços não roteáveis, e se os filtros de pacotes forem implantados, esse bloco de endereços DEVE ser adicionado aos filtros de pacotes.

Não há garantia de que os pacotes para esses endereços sejam bloqueados (isso depende do seu ISP, etc.), mas certamente ninguém deveria estar usando-os.

Darien
fonte
1
Eles também podem ser rejeitado em vez de cair, então ...
mirabilos
1
192.0.2.0 parece funcionar na minha primeira tentativa, não retornando nenhum pacote até o momento. Vou fazer mais alguns testes.
Tyler Durden
16

Não existe um "endereço padrão para buracos negros" como tal, nem existe realmente nenhum requisito para isso. Você não diz o que realmente está tentando alcançar, por isso não posso ajudá-lo, mas aqui estão algumas soluções erradas para o seu problema que responderiam à sua pergunta conforme a pergunta:

  • Você pode usar um endereço RFC1918 que não esteja em uso na sua rede e confiar no seu ISP para descartá-lo. Por exemplo, se você estiver usando apenas algumas partes de 192.168, 10.255.255.1 seria roteado nulo pelo seu ISP (o que seria obtido graças ao seu gateway padrão).
  • Você pode usar um endereço IP reservado para uso futuro (e provavelmente nunca será usado); esse é o antigo intervalo " Classe E ". Ele fará o mesmo que acima, mas funcionará mesmo se você já usar todos os intervalos de endereços privados (por possuir máscaras de rede muito mais amplas do que o necessário, duvido que você tenha milhões de dispositivos conectados). Por exemplo, 254.0.0.1 nunca (legalmente) se refere a um dispositivo real.
  • Na máquina em que você precisa disso, você pode adicionar um destino somente para descarte; o uso de um endereço não utilizado como o descrito acima, por exemplo, iptables -I OUTPUT -d 254.0.0.0/8 -j DROPgarantirá que tudo o que for enviado para essa "rede" seja eliminado silenciosamente, em vez de incomodar quaisquer gateways ou até causar tráfego na interface de rede real.

Novamente, você provavelmente não quer nada disso, mesmo que ache conveniente - não é, é confuso e não óbvio e não é uma boa solução para qualquer que seja o seu problema.

Gabe
fonte
254.0.0.1 não pacotes de buraco negro, recebo um erro de "falha de transmissão".
Tyler Durden
7
+1 para "você provavelmente não quer nada disso ..."
RBerteig
2

Faixas de teste

Eu provavelmente sugeriria um dos intervalos de endereços "TEST-NET", "para uso em documentação e exemplos. Não deve ser usado publicamente" .

192.0.2.0/24
198.51.100.0/24
203.0.113.0/24

Intervalos "Bogon" (Bogus / Fake)

Não sei ao certo onde dizer aqui, isso parece ser mais uma prática que um gateway da Internet forneceria, em vez de uma maneira específica de implementar um pacote que é roteado para algum lugar em que não deveria estar.


Intervalos Locais

Também existe um intervalo de endereços de loopback 127.0.0.0/8, por exemplo 127.0.0.255. Embora ainda seja possível que existam coisas lá, especificamente quaisquer serviços na máquina local, pelo menos você não interferirá em nenhuma máquina na rede (a menos que você tenha serviços de rede apoiados por outros serviços de rede, eu acho).

127.0.0.0/8


Faixas ilegais de destino

Talvez o endereço ilegal também 0.0.0.0possa ser usado, embora 0.0.0.0/8 esteja reservado para "Usado para transmitir mensagens para a corrente (" this ")", para que haja risco de transmissão de mensagens de status.

0.0.0.0/8

A página da Wikipedia para rota nula declara:

Rotas nulas geralmente são configuradas com um sinalizador de rota especial, mas também podem ser implementadas encaminhando pacotes para um endereço IP ilegal, como 0.0.0.0, ou o endereço de loopback.


Refs: https://en.wikipedia.org/wiki/Reserved_IP_addresses

ThorSummoner
fonte
No geral, optei por usar localhostna porta mais alta 65535, porque queria garantir que nenhum tráfego deixasse o host.
ThorSummoner
Se você especificar a porta, também precisará especificar cada protocolo: TCP, UDP, etc.
quer
1

Uma coisa a considerar (que pode ou não ser um problema para o seu cenário específico) é que, se você redirecionar o tráfego para um endereço IP que não existe, o roteador e / ou o host podem tentar ARP continuamente para esse endereço, o que poderia ser uma coisa ruim.

Se você configurar uma ligação IP ARP <-> estática para esse endereço fantasma, o sistema sempre terá uma entrada ARP resolvida e apenas colocará o pacote no fio com esse endereço ARP (que, supostamente, é falso) e o tráfego não chega a lugar algum.

Novamente, isso pode muito bem NÃO ser o que você realmente deseja, mas vale a pena considerar.

ljwobker
fonte