
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
INPUT
OUTPUT
実行されているシステムに関してのみ定義されます。iptables
言い換えると、iptables
インターフェイスにどのような種類のシステムが存在するかは関係ありません。インターフェイスが信頼できる LAN に接続するか、DMZ に接続するか、ラップトップを備えたサメの水槽に接続するかは関係ありません。
INPUT
常に交通量を指す入る外部からのインターフェースで、ローカルで終了することを目的 OUTPUT
としている。ローカルで発生し、離れるインターフェース経由。1 FORWARD
つのインターフェースを通過して別のインターフェースに直接出力されるトラフィックを指します。
上で引用した最初のものは、1 つのインターフェース上の LAN からのトラフィックを仲介し192.168.2.0/30
、別のインターフェース上の外部世界へのトラフィックを仲介するので、両方ともFORWARD
チェーン内にあるはずです。2 番目はファイアウォールから外部へのトラフィックを仲介するので、現状のままで問題ありません。
ついでに言っておきますが、これは LAN としては大したものではありません。ファイアウォールのアドレスは LAN のコンテキストでは無効です (ブロードキャスト アドレスであり、単一のホストに割り当てるべきではありません)。詳しくは、IPv4サブネットに関する有名な標準的な質問さらなる議論のため。