Newsgroup: it.comp.os.linux.sys
Titolo: iptables regola con più ip

ciao  a tutti ,
potete aiutarmi , devo fare una regola tipo :
/usr/sbin/iptables -t nat -A PREROUTING -s ! 192.168.0.1 -d ! 
192.168.0.1 -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 81
solo che vorrei aggiungere anche 192.168.0.2 nella regola e farla 
divenire tipo
/usr/sbin/iptables -t nat -A PREROUTING -s ! 192.168.0.1 && 192.168.0.2 
-d ! 192.168.0.1 && 192.168.0.2 -i eth1 -p tcp -m tcp --dport 80 -j 
REDIRECT --to-ports 81
Grazie

 divenire tipo
Quindi tu vuoi 192.168.0.1 netmask 255.255.255.252. Che problema c'e'?
(ipcalc: questo sconosciuto).
Davide
-- 
"A copy of Windows 95 and 4x4 MB of SIMMs, please."

stoico wrote:

Puoi usare 
192.168.0.0/30
.
Luca
-- 
<<>><<>><<>><<>><<>><<>><<<>><<>><<>><<
Luca Paredi
Computing technical supporter              
Universita' degli Studi dell'Insubria  
<<>><<>><<>><<>><<>><<>><<<>><<>><<>><<

 Luca
Pardon ti avevano gia' risposto.


 No no ... devo fare la regola che accetta tutti tranne i 2 host ( ! 
Si appunto... ! 
192.168.0.1/30
Davide
-- 
The only truly safe "embedded system" is the system that has
an axe embedded in it...  --Tanuki


No no ... devo fare la regola che accetta tutti tranne i 2 host ( ! 
192.168.0.1 and 192.168.0.2)

 Quindi tu vuoi 192.168.0.1 netmask 255.255.255.252. Che problema c'e'?
Che una mask /30 include quattro indirizzi, ad esempio.

 REDIRECT --to-ports 81
Modulo iprange da pacth-o-matic, ad esempio.
man page per la sintassi, una volta pachati kernel ed iptables:
   iprange
       This matches on a given arbitrary range of IPv4 addresses
       [!]--src-range ip-ip
              Match source IP in the specified range.
       [!]--dst-range ip-ip
              Match destination IP in the specified range.

 Puoi usare 
192.168.0.0/30
.
Che però include anche il .0 ed il .3

whiplash wrote:

Vero!


 (ipcalc: questo sconosciuto).
Forse che la scrittura 
192.168.0.1/255.255.255.252
 non descrive una subnet 
valida? Ma rusty e' buono e te la fa convertire al volo dal suo giocattolo
quando cerchi di usarla. Rimane, quindi, solo che cosi' escluderesti anche
il 192.168.0.3.
(ip: questo sconosciuto)
Fabio

 il 192.168.0.3.
Anche lo zero, a rigore, visto che non è detto che si stia parlando
di una /24. ;-)

 il 192.168.0.3.  (ip: questo sconosciuto)
Be', questo e' inevitabile, dato che 1 e 2 sono 01 e 10, quindi devi prendere
dentro per forza anche 00 e 11. Ma se vuoi farlo con un solo comando non mi
pare che tu abbia molte speranze.


 si stia parlando di una /24. ;-)
Beh... immaginavo che lui avesse indirizzi rfc 1918. 
Vuoi dire che sta usando una /12? :-P
Fabio



Oh, beh, dopo aver visto cosa fa fastwebbe, non mi stupirei
più di nulla...;-P

whiplash wrote:

Scusate se rispondo ora , ma ho creato il panico facendo l'esmpio 
sbagliato. Ok sono d'accordo con voi se i 2 ip erano contigui e quindi 
192.168.0.2 e 192.168.0.1... ma non lo sono , e quì ho sbagliato io 
facendo questo esempio del menga :) . I 2 ip sono 192.168.0.4 e 
192.168.0.233 ... ho risolto così :
iptables -t nat -N PIPPO
iptables -t nat -A PREROUTING -s 
192.168.0.0/24
 -i eth1 -j PIPPO
iptables -t nat -A PIPPO -s 192.168.0.4 -j RETURN
iptables -t nat -A PIPPO -s ! 192.168.0.233 -d ! 192.168.99.233 -p tcp 
-m tcp --dport 81 -j REDIRECT --to 81
in questo caso tutto il traffico della lan entrato in prerouting in 
pippo. Se la regola matcha con 192.168.0.4 esce e continuna 
normalemente, altrimenti tutto il traffico diverso dall'altro ip 
(192.168.0.233) subisce il redirect .
Forse è un pochino grossolana come soluzione ... ma funge !! Cmq grazie 
ancora per gli aiuti

 I 2 ip sono 192.168.0.4 e 192.168.0.233 ... ho risolto così :
Soluzione assolutamente corretta.
Ti ho proposto quella dell'iprange perchè, con indirizzi consecutivi, era
molto più sintetica e "diretta".

A questo punto senza aprire un altro 3d vorrei porvi un'altra richiesta :
è possibile far matchare da iptables un regola basata invece che su ip , 
su user e passoword o meglio solo su user ?



Potresti essere più preciso?
Mi viene in mente qualcosa tipo authpf, che funziona con pf, il firewall
di openbsd (ed ora anche di freebsd, dalla release 5), ma non sono certo
di aver colto il tuo pensiero.


Qualcosa del genere?
iptables -t nat -N PIPPO
iptables -t nat -A PIPPO -s 192.168.0.1 -j RETURN
iptables -t nat -A PIPPO -s 192.168.0.2 -j RETURN
iptables -t nat -A PIPPO -d 192.168.0.1 -j RETURN
iptables -t nat -A PIPPO -d 192.168.0.2 -j RETURN
iptables -t nat -A PIPPO -j REDIRECT --to-ports 81
...
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j PIPPO
...

 ....
sei arrivato tardi :) si cmq ho risolto cosě !