Newsgroup: it.comp.os.linux.sys
Titolo: chi mi aiuta con iptables e nat?

Ciao la mia situazione è questa:
server con due schede di rete eth0 e eth1
su eth1 ci metto la connessione diretta all'hug fastweb
in dhcp tira su brillantemente la rete fastweb
su eth0 devo mettere il server dhcp che distribuisca gli indirizzi
192.168.0.100/255
lui deve prendere il 192.168.0.1
tutti i client collegati possono collegarsi alla rete e possono navigare.
io ho provato diversi tutorial su iptables e su NAT HOWTO ma devo dire che
non sono riuscito a far andare nulla.
poi ho guardato questi articoli e 
http://www.linuxdesktop.it/modules.php?name=News&file=article&sid=1575
http://www.linuxhelp.it/modules.php?name=Forums&file=viewtopic&t=449
nemmeno così ne sono uscito.
grazie a chi avrà voglia di aiutarmi.
ciao

 
dunque, ecco quello che ho trovato e che mi sembrava fosse perfetto:
file per il dhcp
# dhcpd.conf
#
# Configuration file for ISC dhcpd (see 'man dhcpd.conf')
#
#
ddns-update-style ad-hoc;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.149;
range 192.168.0.200 192.168.0.249;
default-lease-time 604800; # una settimana
max-lease-time 2592000; # 30 giorni
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
option domain-name-servers 213.156.54.80;
option domain-name "
fastwebnet.it
";
} 
##File per nat e firewall
#! /bin/bash
IP=192.168.0.1 
#o forse devo mettere l'ip che dà fastweb?
INT_RETE_ESTERNA=eth1
INT_RETE_INTERNA=eth0
LANIN=
192.168.0.0/24
################# SEZIONE GATEWAY #######################
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o $INT_RETE_ESTERNA -j MASQUERADE
ifconfig $INT_RETE_INTERNA 192.168.0.1 netmask 255.255.255.0 up
dhcpd $INT_RETE_INTERNA
################ SEZIONE FIREWALL FILTRANTE #############
echo 1 > /proc/sys/net/ipv4/tcp_syncookies #contro il syn flood
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter #contro Ip spoofing
iptables -F
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
#SEZIONE INPUT
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT
iptables -A INPUT -i $INT_RETE_INTERNA -j ACCEPT
iptables -A INPUT -i $INT_RETE_ESTERNA -p tcp -m state --state
ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i $INT_RETE_ESTERNA -p udp -m state --state
ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i $INT_RETE_ESTERNA -p icmp ! --icmp-type 15 -m state
--state ESTABLISHED -j ACCEPT # information request
iptables -A INPUT -i $INT_RETE_ESTERNA -p tcp -s 0/0 --dport 6680:6699 -j
ACCEPT
iptables -A INPUT -i $INT_RETE_ESTERNA -s 0/0 --dport 6257 -j ACCEPT
#SEZIONE FORWARD PER LA LAN
iptables -A FORWARD -i $INT_RETE_INTERNA -p all -s $LANIN -d $LANIN -j
ACCEPT
iptables -A FORWARD -s $LANIN -d 0/0 -j ACCEPT
iptables -A FORWARD -s 0/0 -d $LANIN -p tcp --syn -j DROP
iptables -A FORWARD -s 0/0 -d $LANIN -j ACCEPT
#SEZIONE OUTPUT
iptables -A OUTPUT -o $INT_RETE_INTERNA -s ! 
192.168.0.0/24
 -p icmp
--icmp-type 16 -j DROP
ho provato questa configurazione ma non mi è andata per niente bene.
più o meno ho capito cosa fanno queste regole, ma fino a un certo punto.
dove sto sbagliando? cosa devo capire?
Grazie
 
-- 
Che cosa volete che vi dica? Ero che convinto che il supporto 
dell'Hard disk fosse ottico e non magnetico. Se usa il laser un 
masterizzatore non vedevo proprio perchè non lo usasse un hard 
disk.
Sathia Musso isn't responsible for anything

 
beh, semplicemente non c'era broadcast dhcp e quando impostavo un client
manualmente pingavo il gateway ma non uscivo su unternet.
errori di iptables non ne ho visti.
ciao
-- 
Che cosa volete che vi dica? Ero che convinto che il supporto 
dell'Hard disk fosse ottico e non magnetico. Se usa il laser un 
masterizzatore non vedevo proprio perchč non lo usasse un hard 


 manualmente pingavo il gateway ma non uscivo su unternet.
Che distribuzione usi?
Prova a fare un passo per volta.
prima il DHCP controlla che errore ti da.
le iptables magari inizia con qualcosa di semplice:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
come test solitamente cerco di raggiungere via web il mio router.
poi piano piano aggiungi regole....
Ciao
Orso


masquerade ???? iptables -t nat -A POSTROUTING -o eth_attaccata_hug -j 
MASQUERADE ... ti serve da fare PAT non NAT 1 a 1 giusto ?
non fateci caso se la sitassi è proprio ESATTA , considerate che sto in 
un colleggio di preti a configurare un rete WI-FI e spiegare cosa è il 
WEP per non lasciagli la connessione in chiato ... :))))

 dove sto sbagliando? cosa devo capire?
Che devi nattare.
iptables -t nat -A POSTROUTING -s $LANIN -o eth1 -j MASQUERADE