Windows system >> Windowsの知識 >  >> Windowsチュートリアル合成 >> Windowsの情報 >> マークを設定するLinuxのソケット必要性

マークを設定するLinuxのソケット必要性

  
マークは、一般Netfilterの、Linuxのルートおよび出力で行われるので、

LinuxのNetfilterのフックポイントの位置は、このような機械のパケットとしていくつかの奇妙な質問をもたらすことができる、ポリシーベースのルーティングのマークを使用して送信することができませんフックポイントに先立ち、ので、これは順序逆転の問題であるが、それを解決するためにどのように?だけマークマークルートの前に、我々は、外部の着信パケットのために、マークが外部着信パケットのためになるよう、PREROUTINGで行われていることを知っていますそれが発するまでPBRは、なぜもっと複雑にトランスポート層ため?トランスポート層でそれをしないで、そして第二に、多くはIP層のプロトコルに直接移動し、ルートが唯一ソケット層で、パッケージの不自由さOSPFなど、トランスポートプロトコルの多くに3は、ルーティングルックアップが必要のようなあなたが(言葉を結合しない場合)、送信元IPアドレスを決定するためのルートを見つけるために必要がある場合、TCPのような接続。

幸い、LinuxのソケットのサポートSO_MARKそのようなオプション、それが使いやすいです:= 100

マーク;

のsetsockopt(client_socket、SOL_SOCKET、SO_MARK、&マークはsizeof(商標))、TRACKの

1の効果

最初の生テーブルが通るデータパケットのテーブルであるが、全体の生SO_MARKの使用は、まだテーブルを機能させることができます点マークを行う前に、特定のソケットパケットはすべてNOTRACK送信されるように:生の-A OUTPUT -t

のiptablesの-mマーク--mark 100 -j NOTRACK

、その後、次のものが必要です。

はiptablesの-t生の-A OUTPUT [-s XXXX] [-d YYYY] [-p TCPを

Copyright © Windowsの知識 All Rights Reserved