GNU/Linux >> Tutoriels Linux >  >> Linux

Puis-je lier un (grand) bloc d'adresses à une interface ?

Solution 1 :

Linux 2.6.37 et supérieur le prend en charge via une fonctionnalité appelée AnyIP. Par exemple si je cours

ip route add local 2001:db8::/32 dev lo

sur une machine Ubuntu 11.04, il acceptera les connexions sur n'importe quelle adresse du réseau 2001:db8::/32.

Solution 2 :

Oui, Linux prend en charge la liaison d'un bloc d'adresses réseau à une interface réseau... mais uniquement sur l'interface de bouclage. Vous pouvez donc faire ceci :

ip addr add 192.168.5.0/24 dev lo

Et puis faites ceci :

$ nmap -sP -oG - 192.168.5.0/24

# Nmap 5.21 scan initiated Tue Dec  7 11:38:28 2010 as: nmap -sP -oG - 192.168.5.0/24 
Host: 192.168.5.0 ()    Status: Up
Host: 192.168.5.1 ()    Status: Up
Host: 192.168.5.2 ()    Status: Up
[...]
Host: 192.168.5.254 ()  Status: Up
Host: 192.168.5.255 ()  Status: Up
# Nmap done at Tue Dec  7 11:38:46 2010 -- 256 IP addresses (256 hosts up) scanned in 0.11 seconds

Avec les routes appropriées en place, cela fera ce que vous voulez... pour les adresses IPv4. Vous avez posé des questions sur IPv6, et je n'ai aucune expérience avec IPv6, mais il y a de fortes chances que cela fonctionne de la même manière.

J'ai d'abord lu à ce sujet ici (vers le bas de l'article). Notez que cet article explique également comment attribuer explicitement plusieurs adresses à une interface à l'aide de fonctionnalités CentOS/Red Hat que je ne connaissais pas auparavant.

Solution 3 :

Je vois donc quelques options ici :

  1. utiliser un script pour lier toutes les adresses à l'interface individuellement

  2. acheminez le bloc que vous voulez vers l'adresse unique de votre machine, puis demandez à cette machine d'utiliser l'interface pcap pour intercepter tout le trafic pour ledit bloc (comme s'il s'agissait d'un routeur) et le gérer.

  3. Vous pourriez éventuellement jouer des tours avec les règles NAT pour ensuite réécrire un bloc d'Ips qui ont été acheminés vers une machine en une seule IP interne sur cette machine... mais vous vous retrouverez toujours avec une IP interne par IP que vous voulez vraiment payer attention, ce qui vous ramène à la solution 1.

Si j'étais vous, j'écrirais simplement le petit script de l'option 1. Ou utilisez celui d'ici :

#!/bin/sh
if [ "$#" -ne "4" ]; then
        echo Usage:
        echo " $0 interface ip range netmask"
        echo " examples:"
        echo "  1) Assuming you want to bind the IP range 192.168.0.1..192.168.0.254 to eth0 with netmask 255.255.255.0:"
        echo "  $0 eth0 192.168.0. 1..254 255.255.255.0"
        echo "  2) Assuming you want to bind the IPv6 range 2001:41d0:1:5000::1-2001:41d0:1:5000::254 to eth0 with netmask /56"
        echo "  $0 eth0 2001:41d0:1:5000:: 1..254 56"
else
        echo "Attempting to assign the IP range $2($3) to interface $1 with netmask $4"
        for ip in $(eval echo "{$3}"); do ifconfig -v $1 add $2$ip netmask $4; done
fi

Solution 4 :

Comme d'autres l'ont dit, vous pouvez utiliser le mécanisme AnyIP pour acheminer les paquets entrants d'un sous-réseau entier vers l'interface localhost, mais gardez à l'esprit que vous devrez également faire en sorte que votre routeur en amont route tous les paquets souhaités vers cette machine. la première place. Cela peut être fait simplement avec des entrées de table de routage sur le routeur ou via BGP. ARP n'est pas vraiment approprié étant donné que votre machine devrait ARP pour chaque IP individuellement.


Linux
  1. Comment bloquer les adresses usurpées locales à l'aide du pare-feu Linux

  2. Le thème de couleur peut-il se lier à un tampon ?

  3. Comment bloquer les adresses IP via l'interface cPanel

  4. CentOS / RHEL 6 :Comment ajouter/supprimer des adresses IP supplémentaires à une interface réseau

  5. Obtenir des adresses d'interface réseau local en utilisant uniquement proc ?

Puis-je limiter un utilisateur (et ses applications) à une seule interface réseau ?

Comment puis-je réserver un bloc de mémoire à partir du noyau Linux ?

Comment puis-je monter des systèmes de fichiers avec des tailles de bloc > 4 Ko ?

Comment puis-je créer un raccourci pour redimensionner les volets dans une fenêtre tmux ?

Comment puis-je monter un périphérique bloc d'un ordinateur à un autre via le réseau en tant que périphérique bloc ?

Pourquoi attribuer des adresses MAC et IP sur l'interface Bridge