「accf dns」の版間の差分

提供: FreeBSD入門
移動: 案内検索
(ページの作成:「accf_dns(Accept Filter DNS) とは、Accept FilterDNSの実装です。最初のリクエストが現れるまで、インカミングDNSリクエス...」)
(相違点なし)

2014年3月5日 (水) 23:49時点における版

accf_dns(Accept Filter DNS) とは、Accept FilterDNSの実装です。最初のリクエストが現れるまで、インカミングDNSリクエストをバッファリングします。

読み方

accf_dns
えーしーしーえふ でぃーえぬえす
Accept Filter DNS
あくせぷとふぃるたー でぃーえぬえす

概要

accf_dataは、インカミングコネクションを受けるときに accept()システムコールを使ったソケットで使うフィルターです。

DNSリクエストが到達したら、accept()は、接続済ディスクリプタ(descriptor)をアプリケーションに返します。accf_dataが動作は、リクエストの最初の2バイトを読み、リクエストのサイズを決定し、要求されるデータを読み込むまで待ちます。

ACCEPT_FILTER_DNS カーネルオプションを有効にするか、 kldloadで実行時にモジュールで有効にします。

インストール

カーネルコンフィグレーションファイルで設定する場合です。

options INET
options ACCEPT_FILTER_DNS

カーネルモジュールをロードする場合です。

kldload accf_dns

設定

/boot/loader.confでロードする場合です。

accf_dns_load="YES"

使い方

カーネルaccf_dnsジュールが有効な場合に、以下のコードは、socket sokで DNS Accept Filterを有効にする例です。

struct accept_filter_arg afa;
 
bzero(&afa, sizeof(afa));
strcpy(afa.af_name, "dnsready");
setsockopt(sok, SOL_SOCKET, SO_ACCEPTFILTER, &afa, sizeof(afa));

関連項目