Bible Black
06.04.2010, 19:29
Ja, wie der Titel sagt habe ich ein Problem mit Iptables.
Es geht um einen Grenzrechner mit Squid + SquidGuard sowie Iptables - handelt sich um ein simples Firewall Projekt.
Squid und SquidGuard funktionieren top, nur sobald ich das Iptables Script starte, kriege ich nur noch ein "Netzwerk-Zeitüberschreitung" von Firefox (auf dem Rechner, der durch den Grenzrechner "geschützt" werden soll).
Hat vielleicht jemand eine Lösung für das Problem?
Hier mal das Script:
Zur Anmerkung 192.168.42.0 ist das Netz vom Rechner vor der Firewall, 192.168.178.0 ist mein Heimetz über das der Grenzrechner in's I-net geht.
#! /bin/sh
# Forwarding aktivieren #
#########################
echo "1" > /proc/sys/net/ipv4/ip_forward
# Ketten löschen, leeren und neu erstellen #
############################################
iptables -F #flush, alles leeren
iptables -F -t nat #flushen der Tabelle nat
iptables -F Own #flush, Kette leeren
iptables -X Own #leere Kette löschen
iptables -N Own #new, neue Kette erstellen
iptables -F Own #flush, Kette leeren
# LAN Einstellungen #
#####################
iptables -A Own -i eth1 -s ! 192.168.42.0/255.255.255.0 -j DROP # Alles verwerfen was keine LAN IP-Adresse hat
iptables -A Own -i eth1 -j ACCEPT # sonst alles erlauben was von eth1 kommt
iptables -A Own -i lo -s 127.0.0.1/255.0.0.0 -j ACCEPT # für Loopback wird nur 127.0.0.1 erlaubt
iptables -A Own -i eth0 -s 192.168.178.0/255.255.255.0 -j ACCEPT # Alles aus dem Ínternet verwerfen was die LAN IP hat
# Protokollports öffnen #
#########################
iptables -A Own -p tcp --dport 21 -j ACCEPT # ftp erlauben
iptables -A Own -p tcp --dport 25 -j ACCEPT # smtp erlauben
iptables -A Own -p tcp --dport 80 -j ACCEPT # http erlauben
iptables -A Own -p tcp --dport 110 -j ACCEPT # pop3 erlauben
iptables -A Own -p tcp --dport 143 -j ACCEPT # imap erlauben
iptables -A Own -p tcp --dport 443 -j ACCEPT # https erlauben
# Antworten zulassen #
######################
iptables -A Own -m state --state ESTABLISHED,RELATED -j ACCEPT
# ICQ Login Server sperren #
############################
iptables -A FORWARD -s 192.168.42.0/255.255.255.0 -d 255.188.0.0/255.255.0.0 -j DROP
iptables -A FORWARD -s 192.168.42.0/255.255.255.0 -d 64.12.0.0/255.255.0.0 -j DROP
iptables -A FORWARD -s 192.168.42.0/255.255.255.0 -d 85.16.0.0/255.255.0.0 -j DROP
iptables -A FORWARD -s 192.168.42.0/255.255.255.0 -d 209.85.0.0/255.255.0.0 -j DROP
# Own aktivieren #
##################
iptables -A INPUT -j Own
iptables -A FORWARD -j Own
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -P OUTPUT ACCEPT -t nat
# Squid Transparenter Proxy #
#############################
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
# NAT #
#######
iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE
echo "IPTABLES ausgeführt"
Es geht um einen Grenzrechner mit Squid + SquidGuard sowie Iptables - handelt sich um ein simples Firewall Projekt.
Squid und SquidGuard funktionieren top, nur sobald ich das Iptables Script starte, kriege ich nur noch ein "Netzwerk-Zeitüberschreitung" von Firefox (auf dem Rechner, der durch den Grenzrechner "geschützt" werden soll).
Hat vielleicht jemand eine Lösung für das Problem?
Hier mal das Script:
Zur Anmerkung 192.168.42.0 ist das Netz vom Rechner vor der Firewall, 192.168.178.0 ist mein Heimetz über das der Grenzrechner in's I-net geht.
#! /bin/sh
# Forwarding aktivieren #
#########################
echo "1" > /proc/sys/net/ipv4/ip_forward
# Ketten löschen, leeren und neu erstellen #
############################################
iptables -F #flush, alles leeren
iptables -F -t nat #flushen der Tabelle nat
iptables -F Own #flush, Kette leeren
iptables -X Own #leere Kette löschen
iptables -N Own #new, neue Kette erstellen
iptables -F Own #flush, Kette leeren
# LAN Einstellungen #
#####################
iptables -A Own -i eth1 -s ! 192.168.42.0/255.255.255.0 -j DROP # Alles verwerfen was keine LAN IP-Adresse hat
iptables -A Own -i eth1 -j ACCEPT # sonst alles erlauben was von eth1 kommt
iptables -A Own -i lo -s 127.0.0.1/255.0.0.0 -j ACCEPT # für Loopback wird nur 127.0.0.1 erlaubt
iptables -A Own -i eth0 -s 192.168.178.0/255.255.255.0 -j ACCEPT # Alles aus dem Ínternet verwerfen was die LAN IP hat
# Protokollports öffnen #
#########################
iptables -A Own -p tcp --dport 21 -j ACCEPT # ftp erlauben
iptables -A Own -p tcp --dport 25 -j ACCEPT # smtp erlauben
iptables -A Own -p tcp --dport 80 -j ACCEPT # http erlauben
iptables -A Own -p tcp --dport 110 -j ACCEPT # pop3 erlauben
iptables -A Own -p tcp --dport 143 -j ACCEPT # imap erlauben
iptables -A Own -p tcp --dport 443 -j ACCEPT # https erlauben
# Antworten zulassen #
######################
iptables -A Own -m state --state ESTABLISHED,RELATED -j ACCEPT
# ICQ Login Server sperren #
############################
iptables -A FORWARD -s 192.168.42.0/255.255.255.0 -d 255.188.0.0/255.255.0.0 -j DROP
iptables -A FORWARD -s 192.168.42.0/255.255.255.0 -d 64.12.0.0/255.255.0.0 -j DROP
iptables -A FORWARD -s 192.168.42.0/255.255.255.0 -d 85.16.0.0/255.255.0.0 -j DROP
iptables -A FORWARD -s 192.168.42.0/255.255.255.0 -d 209.85.0.0/255.255.0.0 -j DROP
# Own aktivieren #
##################
iptables -A INPUT -j Own
iptables -A FORWARD -j Own
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -P OUTPUT ACCEPT -t nat
# Squid Transparenter Proxy #
#############################
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
# NAT #
#######
iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE
echo "IPTABLES ausgeführt"