Ich baue mir meine Firewall - getreu den Angaben in Manfred Barth, "Das Firewall Buch" aus dem SuSE-Verlag. Mein Squid ist richtig konfiguriert -- an anderer Stelle tut's mit ipchains mit derselben Squid-Konfiguration. Hier die interessanten Firewall-Auszüge: ----------------------------------- schnipp --------------------------------- IF=(ppp0 $eth1) echo "0" > /proc/sys/net/ipv4/ip_forward # erstmal abschalten echo "1" > /proc/sys/net/ipv4/tcp_syncookies echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses for iface in $IF;do echo "1" > /proc/sys/net/ipv4/conf/$iface/rp_filter echo "0" > /proc/sys/net/ipv4/conf/$iface/accept_redirects echo "0" > /proc/sys/net/ipv4/conf/$iface/accept_source_route echo "0" > /proc/sys/net/ipv4/conf/$iface/bootp_relay echo "1" > /proc/sys/net/ipv4/conf/$iface/log_martians done $IPTABLES -P INPUT DROP $IPTABLES -P FORWARD DROP $IPTABLES -P OUTPUT DROP $IPTABLES -F $IPTABLES -t nat -F $IPTABLES -X $IPTABLES -t mangle -F # INT = inneres Netzwerk INT=eth1 # EXT = DSL-Schnittstelle EXT=ppp0 # ----------------------------------------------------------# MASQUERADING $IPTABLES -t nat -A POSTROUTING -o $EXT -j MASQUERADE echo "1" > /proc/sys/net/ipv4/ip_forward # wieder einschalten echo "1" > /proc/sys/net/ipv4/ip_dynaddr # ----------------------------------------------------------# # Normale HTTP-Anfragen vom Firewall-Rechner zulassen. $IPTABLES -A OUTPUT -o $EXT -p TCP --sport $p_high --dport http \ -m state --state NEW -j ACCEPT # ----------------------------------------------------------# # Lokale Anfrage von Port 80 auf Port 3128 (SQUID) umleiten. # Squid liegt auf Firewall-Rechner $IPTABLES -t nat -A PREROUTING -i $INT -p tcp --dport 80 \ -j REDIRECT --to-port 3128 ----------------------------------- schnapp --------------------------------- Eigentlich müsste das doch klappen. Oder? Meine Logs sagen: DROP-TCP IN=eth1 OUT= MAC=00:01:02:a2:53:84:10:11:34:f1:e1:c6:21:10 SRC=10.21.208.67 DST=10.21.208.75 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=11757 DF PROTO=TCP SPT=32801 DPT=3128 WINDOW=5840 RES=0x00 SYN URGP Gruß! Hermann Flacke hermann.flacke@t-online.de
hi, versuch mal ein IPTABELS -A INPUT -i ! $EXT -p TCP -dport 3128 -m state --state NEW -j ACCEPT einzufuegen. ein -m state --state RELAETD,ESTABLISHED hast du auchim skript irgendwo stehen nehme ich an. ciao sascha -- Sascha Andres linux@programmers-world.com http://www.programmers-world.com
On Mon, Jan 14, 2002 at 10:50:06PM +0100, Sascha Andres wrote:
versuch mal ein IPTABELS -A INPUT -i ! $EXT -p TCP -dport 3128 -m state --state NEW -j ACCEPT einzufuegen. ein -m state --state RELAETD,ESTABLISHED hast du auchim skript irgendwo stehen nehme ich an. Ja.
Aber leider auch diese Variante führt zur gleichen Fehlermeldung. Ich glaube, ich muss das ganze nochmals Schritt für Schritt durchgehen. Danke! Hermann Flacke hermann.flacke@t-online.de
On Mon, Jan 14, 2002 at 10:50:06PM +0100, Sascha Andres wrote:
hi, versuch mal ein IPTABELS -A INPUT -i ! $EXT -p TCP -dport 3128 -m state --state NEW -j ACCEPT einzufuegen. ein -m state --state RELAETD,ESTABLISHED hast du auchim skript irgendwo stehen nehme ich an.
hab's herausgefunden: # ---------------------------------------------------------- # SQUID REDIRECTION # VOR! dem Eintreffen an der INPUT-Chain wird die der Zielport # umgeschrieben $IPTABLES -t nat -A PREROUTING -i $INT -p TCP --dport http \ -j REDIRECT --to-port 3128 # NACH dem Umschreiben "steht" das Paket mit der umgewandelten # Zieladresse vor der INPUT-Chain, also mit dem umgeschriebenen # Port hereinlassen $IPTABLES -A INPUT -i $INT -p TCP --dport 3128 --sport $p_high \ -j ACCEPT Gruß! Hermann Flacke hermann.flacke@t-online.de
participants (2)
-
Hermann Flacke
-
Sascha Andres