Ich habe eine Ubuntu 10.04-Box, die einmal als Squid Transparent Proxy konfiguriert war. Die Navigation war perfekt: Meine Windows-Clients hatten keine Probleme.
Das Problem, das ich hatte, war, dass Benutzer mit Outlook (und Outlook Express) keine E-Mails senden oder empfangen konnten. Also habe ich hier und da gegoogelt und eine Lösung gefunden:
sudo iptables -t nat -A POSTROUTING -p TCP --dport 25 -j MASQUERADE
sudo iptables -t nat -A POSTROUTING -p TCP --dport 110 -j MASQUERADE
Alles hat super geklappt.
Jetzt habe ich die Squid-Authentifizierung aktiviert (die einfache mit einer Textdatei) und mein Outlook und Outlook Express funktionieren wieder nicht mehr. Ich habe gelesen, dass das Problem nicht wirklich mit Squid zusammenhängt, da es weder SMTP noch POP als Proxy verwendet ... Aber ich muss es trotzdem lösen. NAT? Portweiterleitung?
Welche Art von Befehlen sollte ich verwenden?
Der Squid-Server verfügt über eine einzelne Netzwerkkarte und kann problemlos auf das Internet zugreifen und Namen mithilfe von OpenDNS-Servern auflösen.
Konfiguration auf dem Server: IP 192.168.1.210 Subnetz 255.255.255.0 Tor 192.168.1.5
Auf den Clients verwende ich: ip 192.168.1.x Subnetz 255.255.255.0 Tor 192.168.1.210
Ich kann weitere Einzelheiten hinzufügen, also fragen Sie bitte, aber ich weiß nicht, was zur Lösung des Problems nötig sein könnte.
BEARBEITEN:
sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
fail2ban-ssh tcp -- anywhere anywhere multiport dports ssh
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain fail2ban-ssh (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere
sudo iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
REDIRECT tcp -- anywhere anywhere tcp dpt:www redir ports 3128
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE tcp -- anywhere anywhere tcp dpt:smtp
MASQUERADE tcp -- anywhere anywhere tcp dpt:pop3
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Antwort1
Ich bin mir nicht sicher, was Sie genau erreichen wollen. Soweit ich weiß, werden Sie die Maschine mit Squid als Router/Firewall für das folgende Szenario verwenden:
- Erlaube Webprotokolle (http/ftp) nur über Squid
- Erlauben Sie den Zugriff auf SMPT/POP3 von Ihrem internen Netzwerk nach außen über NAT.
- Ihr Gateway zum Internet ist 192.168.1.5
Normalerweise übersetzt NAT von einem Netzwerk (192.168.1.0/24) in ein anderes (z. B. 84.145.77.23/32) und umgekehrt. Sie müssen daher möglicherweise NAT-Regeln auf Ihrem Gateway-Computer 192.168.1.5 einrichten, damit es funktioniert.
Der ausgehende Pfad lautet also:
client -> 192.168.1.210 ->NAT-> 192.168.1.5 ->NAT-> mailserver
Und der eingehende Pfad für Antworten ist:
mailserver -> 192.168.1.5 ->NAT-> 192.168.1.210 ->NAT-> client
Wie hier zu sehen ist, könnte 192.168.1.210 eliminiert werden und das Gateway könnte so konfiguriert werden, dass es ausgehenden SMTP/POP3-Verkehr von allen Clients akzeptiert und NAT-fähig macht und nur ausgehenden HTTP(S)/FTP-Verkehr von 192.168.1.210 akzeptiert.
Meiner Meinung nach könnte das zweite NAT zwischen 192.168.1.210 und 192.168.1.5 Probleme verursachen (dasselbe Netzwerk) und ist unnötig.
Um NAT generell auf 192.168.1.210 zu aktivieren, versuchen Sie bitte zunächst Folgendes:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
ändern Sie eth0 bei Bedarf in den Namen Ihrer Netzwerkschnittstelle.