Shorewall Portweiterleitung 80

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
steffen006
Beiträge: 126
Registriert: 01.01.2007 03:52:36
Wohnort: NDS
Kontaktdaten:

Shorewall Portweiterleitung 80

Beitrag von steffen006 » 28.11.2008 22:47:39

Guten Abend Debianer!

Ich veranstallte in ein paar Wochen eine Lan-Party. Wir haben die Räume von der Firma meines Vater bekommen. Nur eine kleine 15 Personen. Da wir gerne Internet haben wollen, aber nicht das Firmennetz sehen dürfen. Habe ich überlegt ich benötige eine Firewall. Ich stell mir das so vor: Ich habe an meinem Server zwei Netzwerkkarten (eth0,eth1). An dem Netzinterface eth0 ist die Firma die Interhat hat und auf dem Interface eth1 sind die Spielecomputer. Jetzt will ich mit shorewall (habe ich schon installiert) eine Verbindung der beiden Interfaces aufbauen, aber nur Anfragen mit dem Port 80 werden weitergeleitet. Also nur Internet. Jetzt frage ich mir nur, wie sehen dann die rules für shorewall aus? Könntet ihr mir behilfflichsein, denn ich steige gerade neu in shorewall ein.

Danke
Steffen

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Re: Shorewall Portweiterleitung 80

Beitrag von Duff » 29.11.2008 10:47:53

Zu shorewall kann ich dir leider nichts sagen, aber sowas könntest du auch leicht mit iptables erledigen. Eventuell noch eine Proxy, wie z.B. squid mit dazu nehmen und alles über POrt 80 automatisch über diesen laufen lassen.
Oh, yeah!

steffen006
Beiträge: 126
Registriert: 01.01.2007 03:52:36
Wohnort: NDS
Kontaktdaten:

Re: Shorewall Portweiterleitung 80

Beitrag von steffen006 » 29.11.2008 14:57:15

Einen Squid Server aufzusetzen habe ich keine Probleme, aber wie sehen die Iptables rules aus?

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Re: Shorewall Portweiterleitung 80

Beitrag von Duff » 01.12.2008 09:06:39

Vielleicht in etwa so (ungetestet):

Code: Alles auswählen

#
# Devices festlegen und IP-Adressen zuweisen
#
INET_IFACE=eth0         
LAN_IFACE=eth1        
LAN_NET="192.168.1.0/24"   

#
# Definiere einige Befehle
#
ECHO=$(which echo)
IPTABLES=$(which iptables)
SYSCTL=$(which sysctl)
MODPROBE=$(which modprobe)

#
# Verwerfe erstmal alles
#
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP   

#
# Leere die Ketten
#
$IPTABLES -F
$IPTABLES -t nat -F
#$IPTABLES -t mangel -F
$IPTABLES -X

#
# Module laden
#
$MODPROBE ip_conntrack
$MODPROBE ip_nat
$MODPROBE ipt_REDIRECT
$MODPROBE ipt_MASQUERADE
$MODPROBE ipt_LOG
$MODPROBE ipt_recent

#
# Kernelparameter setzen
#
$ECHO "1" > /proc/sys/net/ipv4/ip_forward
# Alternativ
# $SYSCTL -w net.ipv4.ip_forward=1

#
# Die Regeln
#

# Akzeptiere alle Pakete, die Teil einer aufgebauten Verbindung sind
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Akzeptiere Verbindungsaufbauten von innen
$IPTABLES -A FORWARD -i $LAN_IFACE -o $INET_IFACE -m state --state NEW -j ACCEPT

# Loopback erlauben
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT

# ICMP-Pakete (z.B. pingen) erlauben
$IPTABLES -A FORWARD -s $LAN_NET -p icmp -m state --state NEW -j ACCEPT

# Squid-Proxy benutzen (wenn Proxy benutzt werden soll)
#$IPTABLES -t nat -A PREROUTING -i $LAN_IFACE -p tcp --dport 80 -j REDIRECT --to-port 3128
#$IPTABLES -A INPUT -i $LAN_IFACE -p tcp -s $LAN_NET --dport 3128 -m state --state NEW -j ACCEPT
#$IPTABLES -A OUTPUT -o $INET_IFACE -m state --state NEW -j ACCEPT

# Maskiere alle Pakete bei der Weiterleitung nach außen
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE

# Alles vom LAN zum Server ($LAN_IFACE) erlauben und umgekehrt, was über Port 80 geht
$IPTABLES -A INPUT -i $LAN_IFACE -p tcp -s $LAN_NET --dport 80 -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN_IFACE -d $LAN_NET -j ACCEPT
Oh, yeah!

Benutzeravatar
minimike
Beiträge: 5616
Registriert: 26.03.2003 02:21:19
Lizenz eigener Beiträge: neue BSD Lizenz
Wohnort: Köln
Kontaktdaten:

Re: Shorewall Portweiterleitung 80

Beitrag von minimike » 02.12.2008 00:49:17

Oder mit Shorewall

Auszug aus /etc/shorewall/rules

Code: Alles auswählen

HTTP/ACCEPT     net            $FW
HTTP/ACCEPT     $FW            net
HTTPS/ACCEPT    net            $FW
HTTPS/ACCEPT    $FW            net
SSH/ACCEPT      loc            $FW
DNS/ACCEPT      loc            $FW
SMB/ACCEPT      loc            $FW
HTTP/ACCEPT     loc            $FW
SMBswat/ACCEPT  loc            $FW
DNAT            net            loc:10.0.0.2     tcp           6881:6889
DNAT            net            loc:10.0.0.2     udp           6881:6889
Hier im Beispiel leite ich 6881:6889 für Bittorrent weiter
"Lennart Poettering is one of those typical IT leaders..." "like Linus Torvalds and Theo de Raadt?" "more like Bozo the Clown" After all, now a good employee of Microsoft

Benutzeravatar
Simmel
Beiträge: 698
Registriert: 08.03.2004 14:43:43
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Düsseldorf
Kontaktdaten:

Re: Shorewall Portweiterleitung 80

Beitrag von Simmel » 02.12.2008 01:59:39

steffen006 hat geschrieben:Guten Abend Debianer!

Ich veranstallte in ein paar Wochen eine Lan-Party. Wir haben die Räume von der Firma meines Vater bekommen. Nur eine kleine 15 Personen. Da wir gerne Internet haben wollen, aber nicht das Firmennetz sehen dürfen. Habe ich überlegt ich benötige eine Firewall. Ich stell mir das so vor: Ich habe an meinem Server zwei Netzwerkkarten (eth0,eth1). An dem Netzinterface eth0 ist die Firma die Interhat hat und auf dem Interface eth1 sind die Spielecomputer. Jetzt will ich mit shorewall (habe ich schon installiert) eine Verbindung der beiden Interfaces aufbauen, aber nur Anfragen mit dem Port 80 werden weitergeleitet. Also nur Internet. Jetzt frage ich mir nur, wie sehen dann die rules für shorewall aus? Könntet ihr mir behilfflichsein, denn ich steige gerade neu in shorewall ein.

Danke
Steffen

Wenn dein Vater es erlaubt und du noch einen Rechner frei hast, würde ich eher das Firmennetz abtrennen und ipcop nehmen. So kann def. nichts passieren.

Ipcop ist einfach aufzusetzen und zu bedienen (Webinterface) und hat bereits Squid an Board. Ein Pentium I reicht da locker aus.

Das Ding kannst du einfach hinter den Router klemmen oder ggfs. vor ein DSL-Modem, je nachdem was du da hast. Ein Router würde es aber def. einfacher machen. Hinter den Cop dann einfach die Kisten per Switch, fertig.
you've got to know how far to go in going too far

perl -le'print+(split//,"schaeuble")[6,8,7,3,5,0..2,4]'

http://creativecommons.org/licenses/by-nc-sa/2.0/

Antworten