「accf dns」の版間の差分

提供: FreeBSD入門
移動: 案内検索
(ページの作成:「accf_dns(Accept Filter DNS) とは、Accept FilterDNSの実装です。最初のリクエストが現れるまで、インカミングDNSリクエス...」)
 
 
行1: 行1:
[[accf_dns]](Accept Filter DNS) とは、[[Accept Filter]]の[[DNS]]の実装です。最初のリクエストが現れるまで、インカミング[[DNS]]リクエストをバッファリングします。
+
[[accf_dns]](Accept Filter DNS) とは、[[Accept Filter]]のDNSの実装です。最初のリクエストが現れるまで、インカミングDNSリクエストをバッファリングします。
  
 
'''読み方'''
 
'''読み方'''
行8: 行8:
  
 
== 概要 ==
 
== 概要 ==
[[accf_data]]は、インカミングコネクションを受けるときに accept()システムコールを使ったソケットで使うフィルターです。
+
accf_dataは、インカミングコネクションを受けるときに accept()システムコールを使ったソケットで使うフィルターです。
  
DNSリクエストが到達したら、accept()は、接続済ディスクリプタ(descriptor)をアプリケーションに返します。[[accf_data]]が動作は、リクエストの最初の2バイトを読み、リクエストのサイズを決定し、要求されるデータを読み込むまで待ちます。
+
DNSリクエストが到達したら、accept()は、接続済ディスクリプタ(descriptor)をアプリケーションに返します。accf_data が動作は、リクエストの最初の2バイトを読み、リクエストのサイズを決定し、要求されるデータを読み込むまで待ちます。
 
+
ACCEPT_FILTER_DNS カーネルオプションを有効にするか、 [[kldload]]で実行時にモジュールで有効にします。
+
  
 +
ACCEPT_FILTER_DNS カーネルオプションを有効にするか、 kldloadで実行時にモジュールで有効にします。
 
== インストール ==
 
== インストール ==
 
カーネル[[コンフィグレーションファイル]]で設定する場合です。
 
カーネル[[コンフィグレーションファイル]]で設定する場合です。
行30: 行29:
 
accf_dns_load="YES"
 
accf_dns_load="YES"
 
</syntaxhighlight>
 
</syntaxhighlight>
 
 
== 使い方 ==
 
== 使い方 ==
 
[[カーネル]]で [[accf_dns]]ジュールが有効な場合に、以下のコードは、socket sokで DNS Accept Filterを有効にする例です。
 
[[カーネル]]で [[accf_dns]]ジュールが有効な場合に、以下のコードは、socket sokで DNS Accept Filterを有効にする例です。

2015年9月27日 (日) 18:39時点における最新版

accf_dns(Accept Filter DNS) とは、Accept FilterのDNSの実装です。最初のリクエストが現れるまで、インカミング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));

関連項目