Squid プロキシ サーバー (または iptables) では、ユーザーがメールを送受信できません。

Squid プロキシ サーバー (または iptables) では、ユーザーがメールを送受信できません。

私はかつて Squid 透過プロキシとして構成された Ubuntu 10.04 ボックスを持っています。ナビゲーションは完璧で、Windows クライアントに問題はありませんでした。

私が抱えていた問題は、ユーザーが Outlook (および Outlook Express) を使用してメールを送受信できないことでした。そこで、あちこち Google で検索して、解決策を見つけました。

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

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

すべてうまくいきました。

今、Squid 認証 (テキスト ファイルを使用する単純なもの) を有効にしたところ、Outlook と Outlook Express が再び動作しなくなりました。Squid は SMTP や POP をプロキシしないので、問題は実際には Squid に関連していないと読みましたが... それでも解決する必要があります。NAT ですか? ポート転送ですか?

どのようなコマンドを使用すればよいですか?

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

具体的に何を達成しようとしているのかはわかりません。私が理解している限りでは、次のシナリオで、Squid を搭載したマシンをルーター/ファイアウォールとして使用することになります。

  1. ウェブプロトコル(http/ftp)をsquid経由でのみ許可する
  2. NAT 経由で内部ネットワークから外部への smpt/pop3 へのアクセスを許可します。
  3. インターネットへのゲートウェイは 192.168.1.5 です

通常、NAT は 1 つのネットワーク (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 を削除し、ゲートウェイを設定して、すべてのクライアントからの送信 SMTP/POP3 トラフィックを受け入れて NAT し、192.168.1.210 からの送信 http(s)/ftp トラフィックのみを受け入れるようにすることができます。

私の意見では、192.168.1.210 と 192.168.1.5 間の 2 番目の NAT は問題を引き起こす可能性があり (同じネットワーク)、不要です。

192.168.1.210 で NAT を全般的に有効にするには、まず以下を試してください。

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

必要に応じて、eth0 をネットワーク インターフェイス名に変更します。

関連情報