ファイアウォールの背後にあるどのコンピュータがパケットを送信しているかを確認したいと思います。
ファイアウォールの後ろに2台のPCがあり、NATを実行する前に(私のアルゴリズム)に基づいてファイアウォールレベルで決定を下したいとしましょう。デフォルトでは、パケットを傍受して決定を下します。どうすればいいですか?
そのためにカスタムCコードを書くにはどのツールを使うべきですか?
答え1
実際には、パケット内のデータに対して操作を実行したいのか、単にデータを送信するコンピュータに応じてデータをルーティングするのかはわかりません。
iptables
ルーティングは可能ですが、非常に複雑です。皮肉なことに、これは「テーブル」であることを利用しているため、データがさまざまな「テーブル」を通過するときにデータを調べてパスを変更できます。
詳しくはこのチュートリアルをご覧ください。http://wiki.centos.org/HowTos/Network/IPTables。
3つの基本テーブルがありますが、プラグイン/モジュールを介してさらに追加でき、カスタムテーブルを開発できます。
基本:
- 入力する
- 今後
- 出力
したがって、パケットがボックスに入ると、実行できる「入力」テーブルを通過します。パケットがボックスから流れ出ると、「出力」テーブルを通って流れます。
詳しくはこのチュートリアルをご覧くださいiptables
。