GNU/Linux >> Linux Esercitazione >  >> Linux

Posso associare un (grande) blocco di indirizzi a un'interfaccia?

Soluzione 1:

Linux 2.6.37 e versioni successive lo supportano tramite una funzionalità chiamata AnyIP. Per esempio se corro

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

su una macchina Ubuntu 11.04 accetterà connessioni su qualsiasi indirizzo nella rete 2001:db8::/32.

Soluzione 2:

Sì, Linux supporta l'associazione di un blocco di indirizzi di rete a un'interfaccia di rete... ma solo sull'interfaccia di loopback. Quindi puoi fare questo:

ip addr add 192.168.5.0/24 dev lo

E poi fai questo:

$ 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

Con i percorsi appropriati in atto, questo farà ciò che desideri ... per gli indirizzi IPv4. Hai chiesto informazioni su IPv6 e io non ho alcuna esperienza con IPv6, ma ci sono buone possibilità che funzioni allo stesso modo.

Inizialmente ne avevo letto qui (verso la fine dell'articolo). Tieni presente che questo articolo discute anche su come assegnare esplicitamente più indirizzi a un'interfaccia utilizzando funzionalità CentOS/Red Hat che non conoscevo in precedenza.

Soluzione 3:

Quindi vedo alcune opzioni qui:

  1. usa uno script per associare tutti gli indirizzi all'interfaccia individualmente

  2. instrada il blocco che desideri al singolo indirizzo della tua macchina, quindi fai in modo che quella macchina utilizzi l'interfaccia pcap per intercettare tutto il traffico per detto blocco (come se fosse un router) e gestirlo.

  3. Potresti plausibilmente giocare brutti scherzi con le regole NAT per poi riscrivere un blocco di Ips che sono stati indirizzati a una macchina in un singolo IP interno su quella macchina ... ma finirai comunque con un IP interno per IP che vuoi davvero pagare attenzione a, che ti riporta alla soluzione 1.

Se fossi in te, scriverei semplicemente il piccolo script nell'opzione 1. Oppure userei quello da qui:

#!/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

Soluzione 4:

Come altri hanno già detto, puoi utilizzare il meccanismo AnyIP per instradare i pacchetti in arrivo per un'intera sottorete all'interfaccia localhost, ma tieni presente che dovrai anche far sì che il tuo router upstream instradi tutti i pacchetti desiderati a questa macchina in il primo posto. Questo può essere fatto semplicemente con le voci della tabella di routing sul router o tramite BGP. L'ARP non è realmente appropriato dato che la tua macchina dovrebbe eseguire l'ARP individualmente per ogni IP.


Linux
  1. Come bloccare gli indirizzi falsificati locali utilizzando il firewall Linux

  2. Il tema del colore può legarsi a un buffer?

  3. Blocca indirizzi IP e Paesi utilizzando .htaccess

  4. Come bloccare gli indirizzi IP tramite l'interfaccia cPanel

  5. CentOS / RHEL 6:come aggiungere/rimuovere indirizzi IP aggiuntivi su un'interfaccia di rete

Ottenere gli indirizzi dell'interfaccia di rete locale utilizzando solo proc?

Ottenere 2 indirizzi IP su una scheda di rete, utilizzando DHCP

Può ',,' essere alias di '..'?

Come posso riservare un blocco di memoria dal kernel Linux?

Come posso modificare gli indirizzi IP e gateway in modo permanente?

Impossibile avviare Bind aperto:/etc/named.conf:permesso negato