ファイアウォールを介したiptablesルーティング

ファイアウォールを介したiptablesルーティング

サーバーでhttpdサービスを実行しています。

ファイアウォールがあります。

デスクトップコンピュータのインターネットブラウザ。

サーバーには、ファイアウォールのみがサーバーにアクセスできるという規則があります。

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -s firewall -j ACCEPT

デスクトップのブラウザがファイアウォールに接続し、ファイアウォールがデスクトップサーバーに接続してhttpページを取得し、そのページをデスクトップに戻すには、ファイアウォールにどのようなルールを設定する必要がありますか?つまり、ファイアウォールを介してサーバーからページを取得するブラウザをデスクトップで開きたいと思います。

   server    <->   firewall    <->   desktop

次のステップはファイアウォールです。すべてのコンピュータが同じネットワーク上にある場合は動作しますが、これが最善のアプローチであるかどうかはわかりません。

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination server
iptables -t nat -A POSTROUTING  -s desktop -j MASQUERADE

どんな提案がありますか?また、さまざまな種類のシナリオについても疑問に思います。すべてのコンピュータは同じネットワーク上にあり、デスクトップは別のネットワーク上にあります。非常にありがとう

ベストアンサー1

DNATとSNATは、影響を受けるシステムのアドレスに関係なく機能します。 DNATtingシステムがそのサブネットのルーターであり、DNAT宛先がサブネットの外部にある場合、応答パケットはシステムに到達するため、SNATは必要ありません。しかし、状況を無視する方が簡単です。

コードが変です。

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination server
iptables -t nat -A POSTROUTING  -s desktop -j MASQUERADE

問題は、SNAT(MASQUERADE)はソースdesktopに制限されていますが、DNATはそうではないということです。むしろそうしたいのですが:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination server
iptables -t nat -A POSTROUTING -m conntrack --ctstate DNAT -j MASQUERADE

おすすめ記事