内部ネットワークにプロキシサーバーがあり、すべてのインターネットhttpリクエストをローカルネットワークのWebサーバーにリダイレクトしたいと思います。 「直接接続は利用できません。プロキシを設定するなど」と書かれたネットワークビルボードのようになります。例えば:
Checkpointファイアウォールでのアドレス変換に簡単なマニュアルNATルールを追加しましたが、単に機能しません。これが私のアドレス変換ルールです。
Source Destination Service T.Source T.Destination T.Service
MY_PC A_GOOGLE_IP ALL ORIGINAL INT_WEB_SRV ORIGINAL
次に、A_GOOGLE_IP
にpingを実行すると、予想どおり、INT_WEB_SRV
から応答が返されます。しかし、ブラウザからA_GOOGLE_IP
に接続しようとすると( http:// A_GOOGLE_IP )、SYN_SENTからの応答がなく、タイムアウトになります。 INT_WEB_SRV
のファイアウォールログを見ると、MY_PCからの着信接続要求が受け入れられ、拒否されていないことがわかります。ちなみに、ブラウザからINT_WEB_SRV
( http:// INT_WEB_SRV )を見るのは問題ありません。
私の理解では、チェックポイントNGXR60のNATルールにはリターンパケットが含まれていません。間違いなく助けが必要です。
NATの問題が発生した場合、私は常にいくつかのSSHセッションを開き、内部インターフェイスと外部インターフェイスの両方でtcpdumpを実行することから始めます。
何かのようなもの:
tcpdump -i eth0 proto ICMP
または
tcpdump -i eth0 Host A_GOOGLE_IP
そして、Nat'dIPアドレスが何であるかを確認してください。それは少なくともあなたにどこかから始めることを与えるはずです!
チェックポイントのリターントラフィックは、ナット化する必要があります。トラフィックはWebサーバーのサーバーログに表示されていますか?また、fw monitorを使用して、チェックポイントが正しくナッティングされていることを確認し、次のような方法でトラフィックを双方向に渡すことも価値があります。
fw monitor -e 'accept (src=<Host address> and dport=80) or (dst=<Host address> and sport=80);'
これにより、preおよびpost NATアドレスを含む、パケットごとに4行が表示されます。
内部サーバーがクライアントと同じサブネット内にある場合は、DNATだけでなくSNATも実行する必要があります。これは、次のように機能するためです。
iptables -t nat -A PREROUTING -i LAN_IFACE -d A_GOOGLE_IP -j DNAT --to-destination INT_WEB_SRV
SNATの場合、次のように機能します。
iptables -t nat -A PREROUTING -i LAN_IFACE -d A_GOOGLE_IP -j DNAT --to-destination INT_WEB_SRV
iptables -t nat -A POSTROUTING -s LAN_RANGE/mask -d INT_WEB_SRV -j SNAT --to-source ROUTER_IP
ただし、すべてのユーザーにプロキシの使用を強制するだけの場合は、プロキシサーバーへのすべての発信HTTP接続をDNATするだけで(いわゆる透過プロキシを取得できます)、クライアントはコンピューターの設定を変更する必要はありません。 。