私はかつて 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 を搭載したマシンをルーター/ファイアウォールとして使用することになります。
- ウェブプロトコル(http/ftp)をsquid経由でのみ許可する
- NAT 経由で内部ネットワークから外部への smpt/pop3 へのアクセスを許可します。
- インターネットへのゲートウェイは 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 をネットワーク インターフェイス名に変更します。