iptables: LAN 接続で入力または出力を使用するのはいつですか?

iptables: LAN 接続で入力または出力を使用するのはいつですか?

SSH サーバー/ファイアウォール (192.168.2.3) の背後に LAN (たとえば 192.168.2.1/30) がある場合、192.168.2.1/30 ネットワークの内部マシンによる接続試行は、ファイアウォールによって着信接続として解釈されるのでしょうか、それとも発信接続として解釈されるのでしょうか。

これらが着信または発信として読み取られる場合、宛先または送信元のアドレス ブロック (192.168.2.1/30) を指定する必要がありますか? または、-d オプションまたは -s オプションはいつ必要になりますか?

私の理解では、内部のマシンに外部の世界への新しい接続を作成させたい場合、ルールは次のようになります。

iptables -A OUTPUT -s 192.168.2.8/30 -m state --state NEW -j ACCEPT

SSHサーバーが外部に新しいSSH接続を確立したい場合、ルールは次のようになります。

iptables -A OUTPUT -p tcp --sport 22 -m state --state NEW -j ACCEPT

この場合、SSH サーバーの IP アドレスを省略するか、ルールに含める必要がありますか?

どうもありがとう。

答え1

INPUTOUTPUT実行されているシステムに関してのみ定義されます。iptables言い換えると、iptablesインターフェイスにどのような種類のシステムが存在するかは関係ありません。インターフェイスが信頼できる LAN に接続するか、DMZ に接続するか、ラップトップを備えたサメの水槽に接続するかは関係ありません。

INPUT常に交通量を指す入る外部からのインターフェースで、ローカルで終了することを目的 OUTPUTとしている。ローカルで発生し、離れるインターフェース経由。1 FORWARDつのインターフェースを通過して別のインターフェースに直接出力されるトラフィックを指します。

上で引用した最初のものは、1 つのインターフェース上の LAN からのトラフィックを仲介し192.168.2.0/30、別のインターフェース上の外部世界へのトラフィックを仲介するので、両方ともFORWARDチェーン内にあるはずです。2 番目はファイアウォールから外部へのトラフィックを仲介するので、現状のままで問題ありません。

ついでに言っておきますが、これは LAN としては大したものではありません。ファイアウォールのアドレスは LAN のコンテキストでは無効です (ブロードキャスト アドレスであり、単一のホストに割り当てるべきではありません)。詳しくは、IPv4サブネットに関する有名な標準的な質問さらなる議論のため。

関連情報