[SPAM] [Tech] Iptables alias PREROUTING

Marco Ermini markoer@markoer.org
Sab 23 Set 2006 14:51:32 CEST


On 9/23/06, PINO <plinius@virgilio.it> wrote:
>
>
> Salve a tutti,
> sulla mia linux box ho impostato due indirizzi ip sulla rete esterna tramite
> il comando:
> iptables eth1:1 $indirizzo ip     netmask $maschera di rete.
>
> tutto ok, ma come faccio a gestire il prerouting con il dnat, se iptables
> non gestisce gli alias?
> mi spiego meglio se voglio che l'ip aggiuntivo assegnato alla scheda eth1:1
> faccia un dnat di questo tipo:
> iptables -t nat -A PREROUTING -i eth1:1 -p tcp --dport 25 -j
> DNAT --to-destination 10.0.0.1:25
> come faccio, visto che eth1:1 non è sintassi valida di iptables?

Per prima cosa, per favore non postare in HTML. Considerando che il
tuo servizio di posta è pure in SORBS (Telecom... *cough*!) finisci
direttamente nello spam...

Non si può fare, con Linux. iptables non supporta il virtual IP
aliasing. Non è un fatto di sintassi o di gestione degli alias - per
il kernel di Linux ed iptables, semplicemente eth0:0 ed eth0:1 sono la
stessa interfaccia.

Hai tre alternative:

1) Ti compri un'altra scheda di rete. Costano talmente poco... :-D

2) Installi OpenSolaris ;-) o un *BSD

3) Nonostante il fatto che per Linux siano la stessa interfaccia,
iptables funzionerà - semplicemente funziona per entrambi gli IP.
Quindi, qua puoi fare un trucco: esegui un NAT diverso a seconda
dell'indirizzo IP di source NAT (SNAT).

Quindi, devi:
A) usare l'indirizzo IP anziché l'interfaccia. Devi quindi essere
sicuro che gli IP non cambino o "parametrizzare" la regola.
B) usare POSTROUTING anziché PREROUTING
C) usare SNAT anziché DNAT

Cioè, anziché la tua sintassi non ammessa:

iptables -t nat -A PREROUTING -i eth1:1 -p tcp --dport 25 -j DNAT
--to-destination 10.0.0.1:25

Provi con qualcosa del genere - una regola per ogni IP
(mio.primo.indirizzo.ip=l'IP dell'interfaccia eth1:0,
mio.secondo.indirizzo.ip: l'IP dell'interfaccia eth1:1)

iptables -t nat -A POSTROUTING -p tcp --sport 25 -o eth1 -s 10.0.0.1
-j SNAT --to-source mio.secondo.indirizzo.ip

Più o meno eh... comunque se gugoli ne trovi, di spiegazioni - a bizzeffe.


Cordiali saluti (da un Marco che deve rinnovare la certificazione
RedHat ed odia questa *merda* che scimmiotta Cisco, ma se la deve
studiare :-/)
-- 
Marco Ermini
Dubium sapientiae initium. (Descartes)
root@human # mount -t life -o ro /dev/dna /genetic/research
http://www.markoer.org/ - https://www.linkedin.com/in/marcoermini



Maggiori informazioni sulla lista flug-tech