Squid-Proxy funktioniert nicht, mit Ubuntu Server 10.04 und zwei Netzwerkkarten. Eine ist mit WAN und die andere mit LAN verbunden

Squid-Proxy funktioniert nicht, mit Ubuntu Server 10.04 und zwei Netzwerkkarten. Eine ist mit WAN und die andere mit LAN verbunden

Ich versuche, einen Proxy-Server einzurichten, aber es gelingt mir nicht. Hier sind die Details meiner Einrichtung

Ich habe einen Server (IBM X3800-Serie) und einen Desktop-PC. An den Server muss eine Netzwerkkarte angeschlossen sein. eth0 und eth1. eth0 ist über die globale IP der 202-Serie mit dem WAN verbunden und das Internet funktioniert auf dem Server einwandfrei, ich kann eine Verbindung zum Internet herstellen. eth1 ist mit dem Switch verbunden und unten ist die Konfiguration in eth1

IP: 192.168.2.2
Netmask: 255.255.255.0
Gateway: 192.168.2.1
Network: 192.1968.2.0
Broadcast: 192.168.2.255

Ich habe einfach den Squid-Proxy installiert apt-get install squid. Ich habe die Datei geändert

/etc/squid/squid.conf

und fügte die folgenden Details hinzu

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
acl lan src 192.168.2.0/24
http_access allow lan

und schließlich diese iptable-Regeln hinzugefügt

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to globalip:3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

wobei GlobalIP die IP von eth0 ist.

Jetzt ist der Desktop-PC über einen Switch mit dem Server verbunden und die IP-Konfiguration für den Desktop-PC ist diese

IP: 192.168.2.4
Netmaskapt-get install squid: 255.255.255.0
Gateway: 192.168.2.1
Network: 192.1968.2.0
Broadcast: 192.168.2.255

Ich kann problemlos vom Desktop zum Server und vom Server zum Desktop pingen. Aber mein Desktop-System kann nicht auf das Internet zugreifen. Ich vermute also, dass das Problem beim Squid liegt. Bitte helfen Sie mir, dieses Problem zu lösen. Wenn Sie weitere Informationen benötigen, lassen Sie es mich bitte wissen.

Danke

Antwort1

Haben Sie versucht, www.google.com anzupingen? Wenn Sie keine Antwort erhalten, liegt möglicherweise ein Problem mit Ihrem Squid-Setup oder Ihren iptables vor. Wenn Sie können, installieren Sie bind9 für DNS-Unterstützung. Hoffe, das hilft.

Antwort2

Ihr "Gateway" ist aufgeführt als192.168.2.1, aber Sie versuchen, einen transparenten Proxy zu erstellen auf192.168.2.2.

Ihr „Server“, der über echten Internetzugang über eth0 verfügt, sollte in der Konfiguration für eth1 kein Gateway auflisten, da dadurch zwei Standard-Gateways ausgegeben werden, von denen nicht klar ist, ob eines überhaupt funktionieren kann.

Entfernen Sie also dieses Standard-Gateway und stellen Sie das Standard-Gateway des Client-PCs auf ein 192.168.2.2.

Antwort3

Ich habe auch den gleichen Fehler erhalten, aber so habe ich ihn gelöst: Weisen Sie beiden Netzwerkkarten (NICs) unterschiedliche Netzwerke zu.

Angenommen, Sie weisen eine 192.168.1.Ip zueth0

dann müssen Sie 192.168.2.IP zuweisen aneth1

eth0Sie können 192.168.2.ip oder ein anderes Netzwerk als das mit 192.168.1.IP zugewiesene verwenden.

& angenommen, eth0es ist mit dem Router verbunden, es muss Gateway als Router-IP haben

& Angenommen, eth1es ist eine Verbindung zum Switch hergestellt, über den die Client-Rechner verbunden sind. Die IP des Proxys muss in der Proxy-Konfiguration im Browser eingegeben werden

& auch unkommentiertnet.ipv4.ip_forward=1

die in /etc/sysctl.confden Dateieinstellungen speichern und neu starten vorhanden ist, bestätigen Sie auf dem Server, dass der Ping empfangen wurde, indem Sie eingeben

ping www.google.comvom Squid-Server und prüfen Sie, ob das Internet funktioniert

Pingen Sie die IP der eth1Netzwerkkarte, die vom Switch mit dem Client-PC verbunden ist. Pingen Sie die IP des eth1Client-Terminals

Ihre IPs sind 2.2 und 2.4, die sich im selben Netzwerk befinden. Ändern Sie am besten die IP von eth1 in 192.168.3.ip oder ersetzen Sie die Nummer 3 durch eine beliebige Zahl außer 2. In eht1 muss kein Gateway eingegeben werden, aber die Broadcast-Adresse ändert sich auch. Angenommen, Sie haben 192.168.3.IP für eth1 ausgewählt, dann ist das Netzwerk 192.168.3.0 und die Broadcast-IP ist 192.168.3.255.

Unten ist meine Konfiguration

auto eth0  ( ON board Ethernet port & is connected to ROuter)

iface eth0 
inet static

address 192.168.2.8
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255
gateway 192.168.2.5
dns-nameservers 192.168.2.5 8.8.8.8
auto eth1

(LAN-Karte IST mit Switch verbunden und Clients sind mit Switch verbunden)

iface eth0
inet static

address 192.168.1.120
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.5
dns-nameservers 192.168.2.5 8.8.8.8
Clients have ip of 192.168.1.IP

verwandte Informationen