View Full Version : iptables & cicli CPU
Supponiamo che io dovessi fare una regola di nat per nattare gli indirizzi 192.168.x.x su 172.16.x.x ad uno ad uno...
for n in `(seq 0 254)`; do
for i in `(seq 1 254)`; do
iptables -t nat -A POSTROUTING -i eth1 -s 192.168.$n.$i -j SNAT --to-source 172.16.$n.$i
iptables -t nat -A PREROUTING -d 172.16.$n.$i -j DNAT --to-destination 192.168.$n.$i
done
done
avrei quasi 65.000 * 2 = 130.000 :sbavvv: regole di nat...
una cosa del genere quanto mi rallenterebbe la mia cpu ?
stefanoxjx
20-10-2004, 15:18
Potresti provare a lanciare lo script e poi dirci quanto rallenta.
Secondo me, na montagna!!!!!
130.000 regole da controllare, non sono proprio pochine :(
Originariamente inviato da stefanoxjx
Potresti provare a lanciare lo script e poi dirci quanto rallenta.
Secondo me, na montagna!!!!!
130.000 regole da controllare, non sono proprio pochine :(
Bravo!!! se glielo lancio qui sul server e mi si pianta mi tagliano le @@
LOL :D :D :D :D
#!/bin/sh
20-10-2004, 16:48
ma perchè devi fare una roba simile?
Non puoi usare le network mask?
Con iptables sono ancora alle prime armi ma ho trovato qui (http://www.netfilter.org/documentation/HOWTO/NAT-HOWTO-6.html) che è possibile.
Esempio:
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 \
-j SNAT --to 1.2.3.0/24
tnx ma purtroppo nn ci ho capito molto.. la parte a cui tu fai riferimento è questa ?: Multiple Mappings, Overlap and Clashes
se qualcuno ha possibilità di provare fatemi sapere... io proverò non appena ho una macchina disponibile... o altrimenti sta sera a casa :)
tnx_
Sì è quella.
Ho notato che anche l'help di iptables specifica (address[/mask]) la possibilità di usare network mask.
La tua regola dovrebbe diventare:
iptables -t nat -A POSTROUTING -i eth1 -s 192.168.0.0/16 -j SNAT --to 172.16.0.0/16
iptables -t nat -A PREROUTING -d 172.16.0.0/16 -j DNAT --to 192.168.0.0/16
Ho guardato la guida di iptables (man iptables) e ho visto che --to-source è --to-destination accettano solo singoli indirizzi IP. Con -to credo che funzioni ma non dovrebbe cambiare l'IP di sorgente (destinazione) del pacchetto come un vero NAT dovrebbe fare.
ho provato a inserire la regola tipo :
iptables -t nat -A POSTROUTING -i eth1 -s 192.168.0.0/16 -j SNAT --to 172.16.0.0/16
ma pare che a iptables nn piaccia il -j SNAT --to 172.16.0.0/16
in quanto l'indicazione della subnetmask nn gli va bene..
ora volevo creare un "ambiente di test" ( :sofico: )
e provare come scritto su NAT HOWTO questa regola :
iptables -t nat -A POSTROUTING -i eth1 -s 192.168.0.0/24 -j SNAT --to 172.16.0.0-172.16.0.254
http://www.valtellinux.it/howto/netfilter-nat/NAT-HOWTO-6.html#ss6.3
:( mi sa che nn fa quello che volevo io..
Prova a guardare questo:
http://www.netfilter.org/documentation/HOWTO/NAT-HOWTO.html
è la versione inglese ma è sul sito ufficiale di iptables, non saprei dove cercare di meglio.
In particolare guarda http://www.netfilter.org/documentation/HOWTO/NAT-HOWTO-9.html.
Se ho capito bene vuoi mappare un set di indirizzi in una rete locale via NAT, invece di mapparli direttamente.
Se non sei sicuro di aver capito bene come funziona il NAT (è abbastanza incasinato) prova qui:
http://www.netfilter.org/documentation/HOWTO/it/netfilter-hacking-HOWTO-4.html#ss4.3
Non conosco iptables abbastanza bene da dirti quale potrebbe essere la soluzione. La regola che ho postato era una modifica ingenua della tua :p
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.