iptables natがsctpで動作しない

iptables natがsctpで動作しない

内部ネットワークにサーバーがありますが、外部から接続したいです。

ネットワークは次のとおりです。サーバーA(132.196.28.229)は外部ネットワークにあります。サーバーB(10.35.202.24)は両方のWebサーバーにアクセスできます。 C(192.168.10.99)は内部ネットワークにあります。

したがって、サーバーAからサーバーCにすべてのトラフィックを転送するようにサーバーBにiptablesを構成します。

iptables -t nat -A PREROUTING -d 10.35.202.24 -j DNAT --to-destination 192.168.10.99

それからpingでテストしましたが、うまくいきました。サーバーBのTcpdumpでは、サーバーAのpingを見ることができ、ターゲットは次のようになります。10.35.202.24:

15:34:36.366034 IP 132.196.28.229 > 10.35.202.24: ICMP echo request, id 24510, seq 1, length 64
15:34:37.366321 IP 132.196.28.229 > 10.35.202.24: ICMP echo request, id 24510, seq 2, length 64
15:34:38.374983 IP 132.196.28.229 > 10.35.202.24: ICMP echo request, id 24510, seq 3, length 64
15:34:39.374849 IP 132.196.28.229 > 10.35.202.24: ICMP echo request, id 24510, seq 4, length

サーバーCのTcpdump。これで、宛先アドレスが次に変更されます。192.168.10.99:

15:34:35.741802 IP 132.196.28.229 > 192.168.10.99: ICMP echo request, id 24510, seq 1, length 64
15:34:36.742018 IP 132.196.28.229 > 192.168.10.99: ICMP echo request, id 24510, seq 2, length 64
15:34:37.750633 IP 132.196.28.229 > 192.168.10.99: ICMP echo request, id 24510, seq 3, length 64
15:34:38.750499 IP 132.196.28.229 > 192.168.10.99: ICMP echo request, id 24510, seq 4, length 64

ただし、SCTP メッセージには同じ転送は適用されません。以下は、サーバーAでトリガーされるINITメッセージです。

15:39:18.787145 IP 132.196.28.229.32763 > 10.35.202.24.36412: sctp (1) [INIT] [init tag: 495530240] [rwnd: 62464] [OS: 64] [MIS: 64] [init TSN: 322647100] 
15:39:18.787189 IP 10.35.202.24 > 132.196.28.229: ICMP 10.35.202.24 protocol 132 unreachable, length 76
15:39:21.786640 IP 132.196.28.229.32763 > 10.35.202.24.36412: sctp (1) [INIT] [init tag: 495530240] [rwnd: 62464] [OS: 64] [MIS: 64] [init TSN: 322647100] 
15:39:21.786687 IP 10.35.202.24 > 132.196.28.229: ICMP 10.35.202.24 protocol 132 unreachable, length 76

サーバーCのsctpから何もキャプチャできません。 sctpのNATが機能せず、サーバーBでsctpサービスが開いていないようです。したがって、サーバーBは接続できないと応答します。

sshもテストしてみました。伝達効果が非常に良いです。だからSCTPでは動作しないようです!!!!!

なぜこれが起こるのかを提案してください。 sctpの特別な設定がありませんか?

ベストアンサー1

Linuxカーネルにいくつかのモジュールがありません。この試み:

modprobe nf_conntrack_proto_sctp
modprobe nf_nat_proto_sctp 

おすすめ記事