PDA

Visualizza la versione completa : Problema iptables


anna.elisa
21-09-2005, 21:45
Ciao a tutti,
sono giorni che tento di impostare il firewall per la mia rete locale.
Alla fine di tutto ho creato questo script.

#!/bin/bash

# Cancellazione delle regole esistenti
iptables -F
iptables -X
iptables -t nat -F

# Chiusura di tutti le porte
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# Accesso tramite ssh
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# Apertura porta DNS
iptables -A INPUT -p tcp --dport 53 -j ACCEPT

# Accesso da Rete locale al Firewall
iptables -A INPUT -i eth0 -j ACCEPT

# Controllo della contraffazione dell'IP (SPOOFING)
iptables -A INPUT -s 192.168.1.0/24 -i eth1 -j DROP
iptables -A FORWARD -s 192.168.1.0/24 -i eth1 -j DROP

# Scarto dei pacchetti derivanti dall'esterno con sorgente uguale a LO
iptables -A INPUT -s 127.0.0.0/3 -i eth1 -j DROP
iptables -A FORWARD -s 127.0.0.0/3 -i eth1 -j DROP

# Attivazione del traffico in ingresso su TCP e UDP
iptables -A INPUT -i eth1 -p tcp --dport 1024:65535 -j ACCEPT
iptables -A INPUT -i eth1 -p udp --dport 1024:65535 -j ACCEPT

# Attivazione del traffico passante per ICMP
iptables -A INPUT -i eth1 -p icmp -j ACCEPT

# Scarto dei pacchetti con flag SYN
iptables -A INPUT -i eth1 -p tcp --syn -j DROP

# Controllo sullo stato delle connessioni
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Attivazione del traffico attraverso il firewall
iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

# Mascheramento degli ip
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE


Il problema questo:
se faccio partire lo script lasciando il forward drop, il client non naviga, non accede a msn e a skype. Se metto forward ACCEPT il cllient riprende la connessione. :dh:

Premetto il mio server oltre che da firewall fa anche da server DHCP e la struttura della mia rete :

internet -- rooter -- eth1 -- server -- eth0 -- n. client

A logica penso che il problema sia nella comunicazione tra eth1 e eth0. :confused:

Qualcuno ha voglia di analizzarlo e spiegarmi perch non vuole funzionare come dovrebbe?????

Grazie mille a tutti
Ciao
Anna

U-bahn
21-09-2005, 22:06
iptables -A FORWARD -s 192.168.1.0/24 -i eth1 -j DROP
iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

suppongo che queste due regole non vadano d'accordo (ma ci sta benissimo che io stia prendendo una cantonata)...

anna.elisa
21-09-2005, 22:23
Grazie per il suggerimento ma non ha avuto esito positivo :bh:
ho provato a toglierne prima una regola alla volta, poi tutte e due insieme.
Con il primo tentativo non funzionava lo stesso. Toglientole entrambi, sembrava che funzionasse (riusciva a navigare) ma poi ha smesso nuovamente.

Non capisco anche questi comportamente di andare poi smettere... io penso che ho si connette a internet o no.

Altra domanda, ma se lascio FORWARD ACCEPT in questo script, la mia rete protetta?

Grazie mille
Anna

pilovis
21-09-2005, 22:32
echo 1 > /proc/sys/net/ipv4/ip_forward

anna.elisa
21-09-2005, 22:33
Grazie mille ma gi impostato a 1.

Grazie ancora Anna

pilovis
21-09-2005, 22:43
# Abilitare l'indirizzamento IP dinamico.
#
echo 7 > /proc/sys/net/ipv4/ip_dynaddr

anna.elisa
21-09-2005, 22:46
Provato... non funziona ugualmente :bh:

pilovis
21-09-2005, 22:46
# Keep state. Regole per mantenere la storia dei pacchetti.
#
iptables -A FORWARD -m state --state NEW -i eth0 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state NEW,INVALID -i eth1 -j DROP

pilovis
21-09-2005, 22:48
# accettare DHCP, in generale possiamo accettare ogni cosa dell'interno
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A OUTPUT -o eth0 -j ACCEPT

anna.elisa
21-09-2005, 22:56
Ok... ora lasciando FORWARD DROP e aggiungendo
iptables -A FORWARD -m state --state NEW -i eth0 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state NEW,INVALID -i eth1 -j DROP
naviga perfettamente... ma ora addirittura troppo

se chiudo la porta 80 sia sul forward che in output... naviga lo stesso.

Invece per quanto riguarda
iptables -A OUTPUT -o eth0 -j ACCEPT

Avendo OUTPUT ACCEPT non dovrebbe accettarlo di default????

Infatti provando dal client a rilasciare e riprendere l'IP dal DHCP non ha problemi.

Grazie
Anna

Loading