Newsgroup: it.comp.os.linux.iniziare
Titolo: piccolo script iptables

Salve < tutti, non riesco a publicare un web server dietro un firewall sulla 
porta 80 ed 85.
qualcuno mi puo spiegare dove sbaglio?
ciao
#firewall policlinico, semplici rouls
eth0 esterna internet
eth1 interna lan
#SVUOTAMENTO ROULS
iptables -F
iptables -X
#REGOLE DI DEFAULT
iptables -P INPUT DROP
iptables -P FORWARD Accept
iptables -P OUTPUT ACCEPT
#ACCETTA CONNESSIONI DALLA CLESSE 192.0.0.0 E RIMANE IN ASCOKLTO SULLA PORTA 
22
iptables -A INPUT -i eth1 -s 
192.0.0.0/16
 -p TCP --dport 22 -j ACCEPT
iptables -A INPUT -i eth1 -s 
192.0.0.0/16
 -p UDP --dport 22 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#ACCETTA LE RICHIESTE O PROVE FATTE SULL'INTERFACCIA DI LOOPBACK
iptables -A INPUT -i lo -j ACCEPT
#ACCETTA I PING
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
#MASCHERAMENTO IP
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#REGOLA DI NAT PER publicare il web
iptables -t nat -A PREROUTING -i eth0 -p TCP --dport 80 -j DNAT --to 
192.0.5.2:80
iptables -t nat -A PREROUTING -i eth0 -p TCP --dport 85 -j DNAT --to 
192.0.5.2:80
#BLOCCA TUTTO IL RESTO DEL TRAFFICO
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth0 -p all -s 0/0 -j DROP
#ATTIVAZIONE REGOLA FORWARD TRA LE SCHEDE DI RETE
echo 1 > /proc/sys/net/ipv4/ip_forward

 iptables -A INPUT -i eth0 -p all -s 0/0 -j DROP
Se devi droppare usi la policy DROP. Non serve esplicitare.
Devi anche aggiungere la regola di abilitazione del forward in uscita e
in ingresso:
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp --dport 80 -d 192.0.5.2 -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp --dport 85 -d 192.0.5.2 -j ACCEPT
Comunque è meglio che ti leggi bene il man di iptables.
Flavio Visentin

eccolo lo script modificato, ma succede questo, quando dgt 
http://ip_eth0
: 
oppure 
http://ip_eth0:85
 vengo dirottato sul server in oggetto, ma si apre 
una semi paggina che non mi visualizza tutta la home page del webserver, e 
nella barra degli indirizzi mi compare l'ip interno 192.0.31.11 e poi la 
pagina web diventa inaccessibile, quindi c'e' un parziale accesso...
ciao e grazie!!
# Impostazione delle policy di default
iptables -P OUTPUT  ACCEPT
iptables -P INPUT   DROP
iptables -P FORWARD DROP
#ACCETTA CONNESSIONI DALLA CLESSE 192.0.0.0 E RIMANE IN ASCOKLTO SULLA PORTA
iptables -A INPUT -i eth1 -s 
192.0.0.0/16
 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i eth1 -s 
192.0.0.0/16
 -p udp --dport 22 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
#accetta i ping
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
#masqueratde della rete interna
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#REGOLA DI NAT PER publicare il web
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j 
DNAT --to-destination 
192.0.31.11:80
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 85 -j 
DNAT --to-destination 
192.0.31.11:80
#Devi anche aggiungere la regola di abilitazione del forward in uscita e in 
ingresso:
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp --dport 80 -d 192.0.31.11 -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp --dport 85 -d 192.0.31.11 -j ACCEPT
#scambio di pacchetti tra le schede di rete
echo 1 > /proc/sys/net/ipv4/ip_forward 

 iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
Sei sicuro di voler lasciare aperta al mondo la 22? Meglio cambiare
porta. Attiva sshd su una porta alta e collegati a quella.

 reindirizzamenti relativi o accedi per nome.
bene, sei stato gentilissimo, ma che cosa s'intende per reindirizzamento 
relativo? e per nome?
se volessi modificare il file di configurazione di apache quale direttiva 
cambiare?
ciao e grazie!!!

 cambiare?
Potresti iniziare leggendo il manuale di apache (
http://www.apache.org
).
Flavio