OpenWrt プロキシのファイアウォール経路: INPUT、OUTPUT、FORWARD
ルーターのプロキシリスナーへのクライアントアクセスと、プロキシ自身の外向き通信およびクライアントの直接転送を分けて考える。
ルーター自身が Web プロキシを実行する場合、プロキシ経由のリクエストは 2 つの TCP 接続を使う。クライアントの接続がそのままルーターを通って転送されるだけではない。
| 通信 | ルーター上のファイアウォール経路 |
|---|---|
| クライアントからルーターのプロキシリスナーへ | INPUT |
| プロキシプロセスから Web サイトへ | OUTPUT |
| クライアントからインターネットの宛先へ直接 | FORWARD |
明示的なプロキシ経路を必須にするには、想定したクライアントがリスナーに到達できるようにし、プロキシに必要な外向き接続を許可する。不要な LAN から WAN への直接転送は別途制限する。
ルーターの INPUT ポリシーだけを変更しても、直接転送の経路は説明できない。逆に、FORWARD でリスナーのポートを許可しても、ルーター上で終端するサービスへのアクセスが必ず許可されるわけではない。
ネットワークが依然として必要とするローカルサービス(選択した DNS やアドレス設定など)は維持する。ポリシーは実際に使用しているアドレスファミリーに適用する。HTTP プロキシは対応する Web 操作やトンネル操作を提供するが、ファイアウォールが任意の UDP や ICMP をそのプロトコルに変換するわけではない。