Newsgroup: it.comp.os.linux.sys
Titolo: Iptables alias PREROUTING

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?
grazie!!!

 iptables non gestisce gli alias?
Puoi discriminare in base all'indirizzo di destinazione (-d xx.xx.xx.xx).
eth1 e eth1:1 hanno IP diversi, no?
Legrandin


grazie si eth1 ed eth1:1 hanno ip diversi, ho prvato con ip di destinazione 
diverso, tipo
iptables -t nat -A PREROUTING -d $ip eth1:1 -p tcp --dport 25 -j 
DNAT --to-destination 
10.0.0.1:25
ma non funziona come devo risolvere?
grazie!!

 ma non funziona come devo risolvere?
Devi togliere il nome dell'interfaccia (eth1:1).
Legrandin


certo, hai ragione ma è gia compresa la tua modifica, $ip eth1:1 sta per 
indirizzo ip della scheda di rete eth1:1.
ma non funziona, tu hai mai provato questo tipo di configurazione ed ha 
funzionato?=
mi potresti scrivere la giusta stringa sencondo te?
ciao e grazie!!

 ma non funziona come devo risolvere?
Controlla anche le regole in FORWARD, tabella filter.

 Controlla anche le regole in FORWARD, tabella filter.
mi dispiace, ma nemmeno funziona,ho lasciato come parametro predefinito 
ACCEPT sulla catena di FORWARD.
ma possibile che non funzioni?
ma se metto un'altra scheda di rete risolvo alla grande secondo voi?

 come faccio, visto che eth1:1 non è sintassi valida di iptables?
Lo fai con l'ip come ti è stato detto.
Due domande:
Sei default gateway per la tua rete?
Hai abilitato l'ip forwarding?
-- 
Flavio Visentin
Membro del CICAP
Comitato Italiano per il Controllo delle Affermazioni di P4

 Hai abilitato l'ip forwarding?
in che senso?
ti posso dire che il redirect su ip della scheda DI RETE SENZA ALIAS 
funziona alla grande.
per la creazione dell'alias questo il comando:
ifconfig eth0:1 ipesterno netmask 255.255.255.248 up
cosa strana è che questo ip non risulta pingabile dall'esterno, ma solo 
dall'interno della rete.
questo è uno stralcio dello script che uso.
#eth1 LAN
#eth0 rete esterna
#eth0:1 alias rete esterna
#SVUOTAMENTO DELLE REGOLE IMPOSTATE DAL SISTEMA IN FASE DI AVVIO
iptables -F
iptables -F -t nat
iptables -F -t mangle
iptables -X
#CATENA DI DEFAULT PER LE REGOLE CHE NON TROVANO RISCONTRO
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_state
modprobe iptable_filter
modprobe ipt_MASQUERADE
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_tables
modprobe ip_conntrack_pptp
modprobe ip_nat_pptp
modprobe iptable_filter
modprobe ip_conntrack_tftp
modprobe ip_conntrack_amanda
modprobe ip_conntrack_irc
modprobe ip_queue
modprobe ipt_multiport
modprobe ipt_mac
modprobe ipt_REJECT
modprobe ipt_owner
modprobe ipt_limit
modprobe ip_nat_tftp
modprobe ip_nat_irc
modprobe ip_nat_snmp_basic
modprobe ip_nat_amanda
modprobe ipt_LOG
#ABILITIAMO IL PASSAGGIO DEI PACCHETTI DA UNA SCHEDA DI RETE ALL'ALTRA
echo 1 > /proc/sys/net/ipv4/ip_forward
#VALIDIAMO LE RICHIESTE DELLA NOSTRA LAN
iptables -A INPUT -i eth1 -s 
10.10.0.0/16
 -j ACCEPT
#Forward webserver
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j 
DNAT --to-destination 
10.10.1.2:80
#Forward mail Server
#iptables -A INPUT -d ipretealias -p tcp --dport 25 -j ACCEPT
#iptables -t nat -A PREROUTING -d ipretealis -p tcp --dport 25 -j 
DNAT --to-destination 
10.10.1.3:25
#REGOLA DI MASCHERAMENTO IP PER LA RETE INTERNA O NAT
iptables -t nat -A POSTROUTING -s 
10.10.0.0/16
 -o eth0 -j MASQUERADE
___________--
GRAZIE!!

 iptables -t nat -A POSTROUTING -s 
10.10.0.0/16
 -o eth0 -j MASQUERADE
Se vuoi fare un NAT uno a uno di un server è buona norma mantenere lo
stesso IP anche in uscita, quindi alla regola di cui sopra sarebbe
opportuno premettere questa:
iptables -t nat -A POSTROUTING -o eth0 -s 10.10.1.2 -j SNAT \
         --to-source $IPPUBBLICO



scusa Flavio, ma non č la stessa cosa se la catena predefinita permette il 
forward?
nel mio script all'inizio c'e':
#CATENA DI DEFAULT PER LE REGOLE CHE NON TROVANO RISCONTRO
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
grazie!!
scusa, ma se metto una terza scheda di rete risolvo?
ciao

 scusa, ma se metto una terza scheda di rete risolvo?
Non serve. Ne ho decine di firewall con due schede e più indirizzi IP,
quindi il problema è legato a qualcos'altro.
Comunque se vuoi semplificarti la vita ti consiglio di usare shorewall.
Con quattro righe ti risolvi il problema.



sul serio hai una decina di firewall con piu ip?
ma utilizzi anche il dnat su diversi ip?
comunque ho provato su più firewall, uno di test ed uno in produzione ma 
nulla.
ma dimmi dimmi forse è qualche modulo che non ho caricato o forse mi manca 
qualche rotta statica o non
creo in modo ottimale l'alias?
per la creazione del'alias va bene questo vero? ifconfig eth0:1 ipesterno 
netmask 255.255.255.248 up
ciao

 ifconfig eth0:1 ipesterno netmask 255.255.255.248 up
Sì. Ribadisco. Prova shorewall e vedrai che tutto è più semplice e tutto
funziona.


Ciao
Non se se può esserti di aiuto o se è il tuo caso.
Una volta ho avuto un problema simile ( è passato un pò di tempo
quindi i particolari non li ricordo).
Il problema stava nel modules.conf caricava le schede in maniera
invertita, avevo sbagliato gli alias.
Nel caso in cui volevo usare la eth1:1 iptables me la vedeva come
facente parte dell' eth0.
Invertiti gli alias sull modules.conf e tutto è andato.
ciao Cippa
PINO ha scritto:


GRAZIE A TUTTI HO RISOLTO.
CIAO