Linux Rechner als Proxy(Squid)....!

m0e

Enthusiast
Thread Starter
Mitglied seit
24.02.2004
Beiträge
2.014
Ort
Fulda
Hi:wink:

also ich hab nun auf einen alten rechner Linux 9.0 laufen und Squid als Proxy eingerichtet...der Proxy funzt soweit auch! Doch nun weiß ich nicht wie ich zum Beispiel IRC, CS, EMule, usw zum laufen bekommen soll???

Kann mir einer weiter helfen???:cinfused:

mfg m0e
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Squid ist ja in erster Linie ein Webproxy der Webpages cached und eventuell gewisse Seitenaufrufe unterbindet PortForwarding findet woanders statt nämlich im NETFILTER des Kernels mittels eines frontends wie IPTables.

Erklär mal genauer deine Netzstruktur
 
Zuletzt bearbeitet:
D€NNIS schrieb:
Squid ist ja in erster Linie ein Webproxy der Webpages cached und eventuell gewisse Seitenaufrufe unterbindet PortForwarding findet woanders statt nämlich im NETFILTER des Kernels mittels eines frontends wie IPTables.

Erklär mal genauer deine Netzstruktur

jo womit könnte ich das denn besser lösen???

Also mein Netz is so aufgebaut das der Linux Rechner 2 Netzwerkkarten hat eine für DSL und eine in mein Heimnetz... und mit meinem PC (Winxp) bin ich auch im Heimnetz und gehe nun über den Proxy ins Netz...... es werden noch 2 weiter Rechner später dazu kommen.

mfg m0e
 
bei google finde ich wenn ich nach meinem Prob suche das ich IP Weiterleitung machen muss doch wie mache ich das bei Linux??:(

Edit: Hab eine HowTo gefunden... das werde ich nun mal genauso alles einstellen:)
 
Zuletzt bearbeitet:
In etwa so (für eMule):

Code:
iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 4661 -j DNAT --to-destination 192.168.1.55:4661
iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 4662 -j DNAT --to-destination 192.168.1.55:4662
iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 4665 -j DNAT --to-destination 192.168.1.55:4665

So werden dann alle drei eMule Ports auf den Rechner mit der IP 192.168.1.55 weitergeleitet.

'cuda
 
[QUOTE='cuda]In etwa so (für eMule):

Code:
iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 4661 -j DNAT --to-destination 192.168.1.55:4661
iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 4662 -j DNAT --to-destination 192.168.1.55:4662
iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 4665 -j DNAT --to-destination 192.168.1.55:4665

So werden dann alle drei eMule Ports auf den Rechner mit der IP 192.168.1.55 weitergeleitet.

'cuda[/QUOTE]


ok und wo muss das rein??
 
Du brauchst einen Script, der Dir die Firewallregeln setzt. Und das sind nur npaar Zeilen aus dem Script. In diesem Script wird festgelegt was und wohin darf oder nicht darf, was weitergeleitet werden muss.

Achja, vergessen, $EXTIF ist die IP-Adresse, die Du vom Provider bekommst.

'cuda
 
Das ist so nicht ganz richtig.

Zunächst mal musst du IP Forwarding aktivieren wenn IP Datagramme zwischen Interfaces hin und hergeschoben werden sollen das machst du mit

echo 1 > /proc/sys/net/ipv4/ip_forward

Wenn du nun Ports forwarden möchtest müsste man zunächst mal wissen ob die Ports an die LocalBox also den Rechner der offensichtlich auch als ICS Gateway fungiert geforwarded werden sollen oder an ein Segment "hinter" der Linux Box.

Wenn also beispielsweise mldonkey als emule Pendant auf deiner Linux Box zum Einsatz kommt geschieht PortForwarding in der INPUt Chain und nicht in der PREROUTING Chain.

Wenn allerdings auf einem dedizierten System Filesharingtools laufen sollen dann ist die PREROUTING Chain zwar richtig aber das alleine reicht nicht denn wenn die Linux Box als Router fungiert müssen die Datagramme zwischen 2 Interfaces hin und hergeschoben werden das heisst in der Forward Chain muss das PortForwarding auch stattfinden da die meisten FirewallScripts statefull sind und nur established,related Verbindungen Forwarden.

Also zu der Preroutingchain beispielsweise:

$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -p tcp --dport 80 -m state \
--state NEW,ESTABLISHED,RELATED -j ACCEPT

Wobei $EXTIF eben nicht für die vom ISP zugewiesene IP steht da diese sich oftmals ändert und nicht statisch ist sondern eben für das Interface zum Beispiel ppp0.

Wenn du dich genauer damit befassen willst empfehle ich die Tutos auf www.netfilter.org und das IP MAsquerading HowTo http://www.tldp.org/HOWTO/IP-Masquerade-HOWTO/
 
@Dennis und cuda.... sry so ein linux fachman bin ich leider nicht.... also ich hab es nun genau nach der oben genannten Anleitung gemacht... also Linux rechner is nun im Inet .... Beide Pcs können sich anpingen aber ich komm mit dem Client pc nicht ins Inet....

HowTo


3. Verbinde den ersten Client-PCs mit dem Linux-Router über Crossover-Netzwerkkabel oder Hub/Switch
- gib der Karte im Client-PC die Adresse 192.168.2.2 Subnetz 255.255.255.0
- stelle auf dem Client-PC den Linux-Router (192.168.2.1) als Standardgateway ein
- stelle auf dem Client-PC als DNS-Server die IP-Adresse eines DNS-Servers Deines Internet-Providers ein

Routing (IP-Weiterleitung) und default gateway (Standardgateway) kann man im Menu yast2 - Netzwerkdienste - Routing einstellen.

so was soll ich denn da bei Routing bitte einstellen???
 
m0e schrieb:
Hi:wink:

also ich hab nun auf einen alten rechner Linux 9.0 laufen und Squid als Proxy eingerichtet...der Proxy funzt soweit auch! Doch nun weiß ich nicht wie ich zum Beispiel IRC, CS, EMule, usw zum laufen bekommen soll???

Kann mir einer weiter helfen???:cinfused:

mfg m0e

wasn bitte linux9.0 8-|
 
@m0e

Leider ist das nicht ganz so einfach
Man müsste dein IPTables Script genauer analysieren um zu sehen wo der Fehler letztendlich liegt.

Ich persönlich empfehle dir die HowTos und die Tutos unter www.netfilter.org sowie das bereits erwähnte Masquerading HowTo zu studieren falls es dich wirklich interessiert.

Wenn nicht dann mach es dir einfacher und weiche auf Projekte wie Fli4l oder ClarkConnect aus.
 
oder ipcop.... oder debian mit folgendem script:

#/bin/bash
# Global variables

EXTDEV=ppp0 # External device pointing to the internet
INTDEV=eth0 # Internal device pointing to the local net
INTLAN=192.168.1.0/24
IPTABLES=`which iptables`

test -f $IPTABLES || exit 0

case "$1" in

start)
## Load modules
# modprobe iptable_nat
# modprobe iptable_filter
# modprobe ip_conntrack
# modprobe ip_conntrack_ftp ports=7771,21
# modprobe ip_nat_ftp
# modprobe ip_tables
# modprobe ipt_MASQUERADE
# modprobe ipt_REJECT

## Enable Paketforwarding and set dynamic IP
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_dynaddr

## Flush tables and set default policy
$IPTABLES -t filter -F INPUT
$IPTABLES -t filter -F OUTPUT
$IPTABLES -t filter -F FORWARD
$IPTABLES -t filter -P INPUT ACCEPT
$IPTABLES -t filter -P OUTPUT ACCEPT
$IPTABLES -t filter -P FORWARD ACCEPT

## Masquerading
$IPTABLES -t nat -F POSTROUTING
$IPTABLES -t nat -A POSTROUTING -o $EXTDEV -s $INTLAN -j MASQUERADE

## Allow all on localhost
$IPTABLES -t filter -A INPUT -i lo -s 0/0 -d 0/0 -j ACCEPT

## Define ports that should be open
## Für Dienste die auf dem Linux Router laufen und von aussen erreichbar sein sollen ansonsten auskommentieren
$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp --dport 21 --syn -j ACCEPT
$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp --dport 113 --syn -j ACCEPT
$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp --dport 7771 --syn -j ACCEPT
$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp --dport 443 --syn -j ACCEPT
$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp --dport 80 --syn -j ACCEPT
$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp --dport 22 --syn -j ACCEPT
$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp --dport 31337 --syn -j ACCEPT
$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp --dport 27960 --syn -j ACCEPT
$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp --dport 14484 --syn -j ACCEPT
$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp --dport 8000 --syn -j ACCEPT
$IPTABLES -t filter -A INPUT -i $EXTDEV -p udp --dport 47624 -j ACCEPT

## Close all other ports
$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp -s 0/0 -d 0/0 --dport 1:1024 --syn -j REJECT
$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp -s 0/0 -d 0/0 --dport 901 --syn -j REJECT
$IPTABLES -t filter -A INPUT -i $EXTDEV -p tcp -s 0/0 -d 0/0 --dport 139 --syn -j REJECT

## Portforwarding
# Edonkey/Overnet:
iptables -t nat -A PREROUTING -i $EXTDEV -p tcp --dport 4662 -j DNAT --to-dest 192.168.1.14
# quake3
iptables -t nat -A PREROUTING -i $EXTDEV -p udp --dport 27960 -j DNAT --to-dest 192.168.1.14
# FTP
iptables -t nat -A PREROUTING -i $EXTDEV -p tcp --dport 21 -j DNAT --to-dest 192.168.1.14
;;

restart)
$0 stop && $0 start
;;
esac
 
Ich empfehle für nicht so erfahrene IPTables User dringend eine DENY DefaultPolicy.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh