_VMware: 10.10.10.1
_、linux in VMware (Guest): 10.10.10.128
、_honeypot on Guest: 10.10.10.15
_、およびWindows (Host): 192.168.1.11
があります。 Host
からhoneypot
に直接FTP要求を送信でき、接続が確立されます。次に、FTPリクエストをGuest
に送信し、これらをhoneypot
に転送します。これらのルールをiptables
のGuest
に入れます。
_iptables -t nat -A PREROUTING -p tcp --dport 21 -j DNAT --to-destination 10.10.10.15:21
iptables -t nat -A POSTROUTING -p tcp -s 10.10.10.15 --sport 21 -j SNAT --to-source 10.10.10.128
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
_
しかし、私は望ましい結果を得ることができません。私に何ができる?
注:honeypot
が実行中の場合、ping
からHost
を取得できますが、ping
からGuest
を取得できません。結果は次のとおりです。
_Destination Host Unreachable
_
どこが悪いの?
FTP要求を転送する場合は、ポート21だけを転送することはできません。FTPは2つ以上の接続を使用します。
したがって、FTP接続を転送したい場合は、サーバー構成を調べて、FTPサーバーがクライアント接続を受け入れるために使用するポート範囲を確認する必要があります(クライアントがFTPサーバーに「パッシブモード」で接続していると想定)。
したがって、ポート21 +「パッシブポート」の範囲で定義されているすべてのポートを転送する必要があります。
しかし、これで十分ではありません。データ転送接続を開くために接続するIPをFTPクライアントに指示するのはFTPサーバーであり、通常これはサーバーIPです。
FTPサーバーは、接続の転送に使用しているサーバーを認識していません。
したがって、彼の「パブリックIP」はFTPサーバーのIPではなく、クライアントからのFTP接続を受け入れる(および転送する)サーバーのIPであることをFTPサーバーに伝える必要もあります。