[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Routing/NAT



Am Dienstag, 14. Dezember 2004 13:15 schrieb Andreas Kretschmer:
> am  14.12.2004, um 13:03:14 +0100 mailte Peter Baumgartner folgendes:
> > > Hä? Wo tut der Squid?
> >
> > Der soll die Anfragen aus dem LAN transparent mit Beschleunigung auf den
> > Router weiterleiten. Also: 192.168.0.254:8080 -> 192.168.178.1 ->
> > Internet, so besser ausgedrückt?
>
> Jo, schon klar. Man kann einen Proxy sowohl auf dem Router als auch im
> genatteten Netz betreiben. Ersteres hat den Nachteil, daß man bei der
> Konfig halt aufpassen muß, daß man ihn nicht im Internet prostituiert.
> Sauberer ist auf alle Fälle, das Teil ins LAN oder DMZ zu stellen.

In dem Fall ja DMZ, weil noch der Router dazwischensitzt.

>
> > > Zieh Dir mal in Ruhe http://netfilter rein,
> >
> > unable to determine IP-Address?
>
> kretschmer@tux:~$ dig www.netfilter.org | grep  -i "answer section"  -A 1
> ;; ANSWER SECTION:
> www.netfilter.org.      43141   IN      A       213.95.27.115
>
>
> PS.: sorry, hatte org vergessen.

Macht ja nix, ich habe es auch so gefunden - Tante Gugel weiß da so einiges.
Ich habe folgendes Script gefunden und ausprobiert:
------------------snip---------------------------------
 #! /bin/sh
 
 echo "1" > /proc/sys/net/ipv4/ip_forward # Initialisierung des Forwardings
 
 # Flushen, Löschen, Neuerstellung - nicht vergessen im Script! #
 ################################################################
 iptables -F
 iptables -F -t nat
 
 iptables -F sperre
 iptables -X sperre
 iptables -N sperre
 iptables -F sperre
 
 # first contact #
 #################
 iptables -A sperre -i eth1 -s ! 192.168.56.0/255.255.255.0 -j DROP # Alles 
aus dem lan ohne passende IP wegwerfen
 iptables -A sperre -i eth1 -j ACCEPT # Sonst alles von eth0 erlauben (Hier 
sollte man aufpassen, was man den Usern gewähren will und sich vor Trojanern 
schützen.)
 iptables -A sperre -i lo -s 127.0.0.1/255.0.0.0 -j ACCEPT # Für Loopback wir 
immer alles erlaubt ausser von nicht 127.0.0.1
 iptables -A sperre -i eth0 -s 192.168.56.0/255.255.255.0 -j DROP # Alles aus 
dem Inet mit meinen IPs werwerfen
 
 # acceptstuff #
 ###############
 iptables -A sperre -p tcp --dport 21 -j ACCEPT # ftp erlauben
 iptables -A sperre -p tcp --dport 4100:4115 -j ACCEPT # icq portrange 
erlauben
 
 # Antworten zulassen #
 ######################
 iptables -A sperre -m state --state ESTABLISHED,RELATED -j ACCEPT
 
 # Alles andere abweisen (RFC-konform) #
 # folgende Zeilen garantieren RFC-konforme Antworten. (Port geschlossen), 
aber Antworten sind Antworten. Jedes Paket kann Informationen beinhalten, 
also ist ein DROP an dieser Stelle sicherer, allerdings wird ein DROP von 
Portscannern als gefiltert erkannt und macht den rechner interessanter, 
REJECT, wie es unten angeführt ist, als geschlossen. Jeder möge selbst 
entscheiden..
 #######################################
 iptables -A sperre -p tcp -j REJECT --reject-with tcp-reset
 iptables -A sperre -p udp -j REJECT --reject-with icmp-port-unreachable
 
 # sperre aktivieren #
 #####################
 iptables -A INPUT -j sperre
 iptables -A FORWARD -j sperre
 iptables -P INPUT DROP
 iptables -P FORWARD DROP
 
 iptables -P OUTPUT ACCEPT # output immer annehmen (nochmal ein 
Trojanerhinweis...)  # ????????? was muß da hin??
 iptables -P OUTPUT ACCEPT -t nat
 
 # NAT #
 #######
 iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE # was rausgeht wird 
maskiert
# iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 4100:4115 -j DNAT --to 
192.168.56.2 # icq soll an einen anderen Rechner geleitet werden 
#               ???? Hm, wieso an einen?
# iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 21 -j DNAT --to 
192.168.0.2 # ftp genauso          # ????Hm, an meinen noch nicht 
aufgesetzten ftp-Server?
 
 echo "Firewall started"

----------------snap------------------

Das scheint, in einer shell gestartet, soweit zu funktionieren, wie iptables 
-L ausgibt. Die Frage ist, ob das schon reicht, so ganz kapiert habe ich das 
noch nicht. Bei Suse würde das dann von Yast nach rc.init.d kopiert, 
ausführbar gesetzt und in die Runlevel verlinkt. Wohin genau und an welche 
Position (etc/rc3.d ca 20, kurz vor exim?) das bei Debian muß, weiß ich auch 
nicht, aber das wird schon noch.
>
Gruß und danke soweit
Peter



Reply to: