Squid 代理伺服器(或 iptables)不會讓我的使用者發送或接收郵件

Squid 代理伺服器(或 iptables)不會讓我的使用者發送或接收郵件

我有一個 Ubuntu 10.04 盒子,曾經配置為 Squid 透明代理。導航非常完美:我的 Windows 用戶端沒有任何問題。

我遇到的問題是使用者無法使用 Outlook(和 Outlook Express)傳送或接收郵件。所以我到處谷歌搜尋並找到了解決方案:

sudo iptables -t nat -A POSTROUTING -p TCP --dport 25 -j MASQUERADE

sudo iptables -t nat -A POSTROUTING -p TCP --dport 110 -j MASQUERADE

一切都很順利。

現在我已經啟用了魷魚身份驗證(使用文字檔案的簡單身份驗證),並且我的 Outlook 和 Outlook Express 再次停止工作。我讀到這個問題與魷魚無關,因為它不會代理 smtp 或 pop...但我仍然需要解決它。網路位址轉換?轉送連接埠?

我應該使用什麼樣的指令?

Squid 伺服器有一個 NIC,可以存取互聯網並使用 opendns 伺服器解決名稱,不會出現任何問題。

伺服器配置:ip 192.168.1.210 子網 255.255.255.0 閘道 192.168.1.5

在客戶端我使用:ip 192.168.1.x 子網 255.255.255.0 閘道 192.168.1.210

我可以添加更多詳細信息,因此請詢問,但我不知道解決問題需要什麼。

編輯:

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

答案1

我不確定你到底要達成什麼目標。據我了解,您將在以下場景中使用帶有魷魚的機器作為路由器/防火牆:

  1. 僅允許透過魷魚進行網路協定(http/ftp)
  2. 允許從內部網路透過 NAT 存取外部網路的 smpt/pop3。
  3. 您的網際網路閘道是 192.168.1.5

通常,NAT 從一個網路 (192.168.1.0/24) 轉換為另一個網路(即 84.145.77.23/32),反之亦然。因此,您可能需要在網關電腦 192.168.1.5 上設定 NAT 規則才能正常運作。

這樣出去的路徑就是:

client -> 192.168.1.210 ->NAT-> 192.168.1.5 ->NAT-> mailserver

回應的傳入路徑是:

mailserver -> 192.168.1.5 ->NAT-> 192.168.1.210 ->NAT-> client

如這裡所示,可以消除 192.168.1.210,並且可以將網關配置為接受和 NAT 來自所有客​​戶端的傳出 smtp/pop3 流量,並僅接受來自 192.168.1.210 的傳出 http(s)/ftp 流量。

恕我直言,192.168.1.210 和 192.168.1.5 之間的第二個 NAT 可能會導致問題(同一網路)並且是不必要的。

若要在 192.168.1.210 上啟用 NAT,請先嘗試以下操作:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

如有必要,將 eth0 變更為您的網路介面名稱。

相關內容