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
Shorewall Portweiterleitung 80
-
- Beiträge: 126
- Registriert: 01.01.2007 03:52:36
- Wohnort: NDS
-
Kontaktdaten:
Re: Shorewall Portweiterleitung 80
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!
-
- Beiträge: 126
- Registriert: 01.01.2007 03:52:36
- Wohnort: NDS
-
Kontaktdaten:
Re: Shorewall Portweiterleitung 80
Einen Squid Server aufzusetzen habe ich keine Probleme, aber wie sehen die Iptables rules aus?
Re: Shorewall Portweiterleitung 80
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!
- 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
Oder mit Shorewall
Auszug aus /etc/shorewall/rules
Hier im Beispiel leite ich 6881:6889 für Bittorrent weiter
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
"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
- 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
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/
perl -le'print+(split//,"schaeuble")[6,8,7,3,5,0..2,4]'
http://creativecommons.org/licenses/by-nc-sa/2.0/