Questão Endereço IP que é o equivalente de / dev / null


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

Eu sei que posso sempre configurar um roteador com um endereço IP e, em seguida, apenas ignorar todos os pacotes enviados para ele, mas existe tal coisa para me salvar o problema?


86


origem


Existem alguns dispositivos (como roteadores e switches da San Francisco co.) que usam uma interface nula que poderia ser usada como um buraco negro para o tráfego malicioso. Deve-se apontar uma rota para essa interface Null, para que todo o tráfego para essa rota seja descartado. - Adriano P
Você pode estar interessado devnull-as-a-service.com - wchargin
Estou curioso, por que a pergunta é marcada como "prevenção de spam"? - Mike Pennington
@WChargin, espero que tenha sido uma piada - devnull-as-a-service.com não parece ter nada a ver com a rede e até mesmo parece uma porcaria. O que é isso: 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
@ Nikolay sim, foi uma piada, como é o site. Veja a sua README do Github: "É principalmente sobre a empresa, cloud, * -as-a-Service e críticas sobre isso."(ênfase minha) - wchargin


Respostas:


Há especificamente um prefixo blackhole em IPV6, conforme descrito em 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.)


78



O envio de dados para algo reservado para uso futuro é apenas uma boa ideia até que esse uso futuro seja realizado. - corsiKa
Muito bom ponto, embora eu duvido muito que o IP4 será expandido muito novamente. - Bandrami
Mas o roteador garante a queda dos pacotes? Porque se ele retornar ICMP "destination unreachable", não seria o que o OP pedia. - WGH


Existe uma coisa como rede Buraco negro.

Se não houver dispositivos na rede com o endereço IP 192.168.0.10, então este endereço IP é um tipo de buraco negro e irá "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 apenas 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 silenciosamente pacotes de queda (não rejeite) de determinados endereços (ou muitos).

Tanto quanto eu sei, não há tal endereço padrão de rede que fará buraco negro para você em TCP / IP versão 4 (Graças a 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 por lâmina ultrasaw).

nc -vv -l 25 > /dev/null vai ouvir as conexões de entrada na porta TCP 25 e canalizar os resultados para /dev/null. Mais exemplos Aqui.

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


40



Se você quiser 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, porém, não há um IP "blackhole" que faz isso automaticamente. - LawrenceC
Pelo menos não no IP4 - Bandrami
@Bandrami: E o IPv6, então? - user2357112
@ user2357112, basta olhar para o seu responda. Está logo abaixo do meu. - VL-80


Não há "endereço blackhole padrão" como tal, nem há realmente nenhum requisito para isso. Você não diz o que está realmente tentando alcançar, então não posso ajudá-lo, mas aqui estão algumas soluções erradas para o seu problema que responderiam à sua pergunta como você pediu:

  • Você pode usar um Endereço RFC1918 isso não está em uso em sua rede e confia em seu ISP para soltá-lo para você. Por exemplo, se você estiver usando apenas algumas partes do 192.168, o 10.255.255.1 seria roteado por nulo pelo seu ISP (que o obteria graças ao seu gateway padrão).
  • Você pode usar um endereço IP reservado para uso futuro (e provavelmente nunca será usado); essa é a velha "Classe E"range. Ele fará o mesmo que acima, mas funcionará mesmo se você usar todos os intervalos de endereços privados (com 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 se referirá (legalmente) a um dispositivo real.
  • Na máquina em que você precisa disso, você pode adicionar um destino somente para soltar; usando um endereço não utilizado, como o acima, por exemplo, iptables -I OUTPUT -d 254.0.0.0/8 -j DROPgarantirá que qualquer coisa enviada para essa "rede" seja descartada silenciosamente em vez de incomodar qualquer gateway ou até mesmo causar tráfego na interface de rede real.

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


16



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


Embora não seja um buraco negro, você também pode querer considerar os IPs reservado para fins de teste / exemplo, especialmente se o 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)

Operadores de rede devem adicionar esses blocos de endereços para a lista de espaços de endereços não-roteáveis, e se os filtros de pacotes são implantados, então este bloco de endereço deve ser adicionado aos filtros de pacotes.

Não há garantia que os pacotes para esses endereços serão bloqueados (depende do seu ISP, etc.), mas certamente ninguém deve usá-los.


14



Eles também podem ser REJEITADOS em vez de DROPADOS, então… - mirabilos
192.0.2.0 parece funcionar na minha primeira tentativa, não retornando nenhum pacote até o momento. Eu farei mais alguns testes. - Tyler Durden


Deixando de lado sua pergunta, que tal usar o "descartar protocolo"?


3





Intervalos 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

"Bogon" (Bogus / Fake) Ranges

Eu não tenho certeza onde dizer aqui, isso parece ser mais uma prática que um gateway de Internet forneceria, ao invés de uma maneira específica de implementar um pacote que é roteado em algum lugar que ele não deveria ser


Intervalos locais

Há também o 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, especificamente quaisquer serviços na máquina local, pelo menos você não irá interferir com nenhuma máquina na rede (a menos que você tenha serviços de rede suportados por outros serviços de rede, eu acho).

127.0.0.0/8


Intervalos de Destino Ilegal

Talvez o endereço ilegal 0.0.0.0 também pode ser usado, embora 0.0.0.0/8 seja reservado para "Usado para transmitir mensagens para o atual (" this ")" então há risco de divulgar isso.

0.0.0.0/8

A página da Wikipedia para Rota nula estados:

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


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


2



Eu, em geral, optei por usar localhost na porta mais alta 65535 embora, porque eu queria garantir que nenhum tráfego deixaria o host. - ThorSummoner
Se você especificar a porta, deverá especificar também cada protocolo: TCP, UDP, etc. e, ao fazer isso, algum tráfego poderá escapar de suas regras (por exemplo, ICMP). - Drakes


Uma coisa a considerar (que pode ou não ser um problema para 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 host pode tentar continuamente ARP para esse endereço, que poderia seja uma coisa ruim.

Se você configurar uma ligação ARP <-> IP estática para este endereço fantasma, o sistema sempre terá uma entrada ARP resolvida e colocará o pacote na rede com esse endereço ARP (que, supostamente, é falso) e o tráfego não vai realmente pousar em qualquer lugar.

Mais uma vez, isso pode muito bem não ser o que você realmente quer, mas vale a pena considerar.


1





Dependendo do que você está tentando, 127.0.0.1 é um buraco negro.

http://en.wikipedia.org/wiki/Loopback


-4



Desculpe, mas em questão diz: Is there an IP address that would result in any packet sent to be ignored. 127.0.0.1 não vou ignore os pacotes. - VL-80