日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
IPSEC_SET_POLICY(3) FreeBSD ライブラリ関数マニュアル IPSEC_SET_POLICY(3) 名称 ipsec_set_policy, ipsec_get_policylen, ipsec_dump_policy -- 人間に解読可 能な文字列からの IPsec ポリシ構造体を作成する ライブラリ IPsec ポリシ制御ライブラリ (libipsec, -lipsec) 書式 #include <netipsec/ipsec.h> char * ipsec_set_policy(char *policy, int len); int ipsec_get_policylen(char *buf); char * ipsec_dump_policy(char *buf, char *delim); 解説 ipsec_set_policy() 関数は、人間に解読可能なポリシ明細から IPsec ポリシ明 細構造体 struct sadb_x_policy および/または struct sadb_x_ipsecrequest を 生成します。ポリシ明細は、policy 引数と len で与えられる文字列の長さで渡 された、C 文字列として与えられなければなりません。ipsec_set_policy() 関数 は、適切に形成された IPsec ポリシ明細構造体を含むバッファへのポインタを返 します。バッファを動的に割り付けられ、free(3) ライブラリ関数を使用するこ とによって解放しなければなりません。 ipsec_get_policylen() 関数は、明細構造体を setsockopt(2) システムコールに 渡すときに必要となるバッファの長さを返します。 ipsec_dump_policy() 関数は IPsec ポリシ構造体を人間が解読可能な形式に変換 します。buf 引数は IPsec ポリシ構造体 struct sadb_x_policy を指します。 delim は通常、空白文字である、デリミタ (区切り文字) 文字列です。使用者が delim を NULL に設定したなら、単一の空白類が仮定されます。 ipsec_dump_policy() 関数は動的に割り付けられた文字列へのポインタを返しま す。free(3) ライブラリ呼び出しを使用して、返されたポインタを解放するのは 呼び出し側の責任です。 policy は次の方法で与えられます: direction discard direction (方向) は in または out でなければなりません。そして、 内向き、または、外向きのパケットのいずれかでポリシが適用されるた めに必要とする方向を指定します。discard (破棄) ポリシが選択され たとき、それらがポリシと一致するなら、パケットは落とされます。 direction entrust entrust (委任) は setkey(8) によって制御されるときにカーネルでセ キュリティポリシデータベース (SPD) を調べる手段です。 direction bypass bypass (バイパス) の方向は IPsec 処理が生じるべきでなくて、パ ケットが明らかに転送されることを示します。bypass オプションは特 権があるソケットだけで利用可能です。 direction ipsec request ... ipsec の方向は、一致するパケットが IPsec によって処理されること を意味します。ipsec は、次のような形式の 1 つ以上の request 文字 列が続くかもしれません: protocol / mode / src - dst [/level] protocol は、次の 1 つです: Authentication Header, Encapsulating Security プロトコルまたは IP Compression プロトコルが使用されることを示す、ah, esp または ipcomp です。 mode は、transport または、ipsec(4) に説明された両方の モードを意味する tunnel のいずれかです。 src と dst は発信元 (始点) と宛先 (終点) システムの v4 か v6 の IP アドレスを指定します。src は常に ``送信ノー ド'' を意味し、dst は常に ``受信ノード'' を意味します。 direction が in のとき、dst は、このローカルのノードで あり、src は、リモートノードかピア (相手側) です。mode が transport (転送) であるなら、src と dst の両方は省略 することができます。 level は次のうちの 1 つに設定されなければなりません: default, use, require または unique。default は、カーネ ルが sysctl(8) 変数の 1 組によって定義されるようなデ フォルトのセキュリティポリシを調べるであることを意味し ます。関連する sysctl(8) 変数は ipsec(4) に説明されてい ます。 use が選択されるとき、関連するセキュリティアソシエー ション (SA) は、利用可能であるときに使用することができ ますが、必要ではありません。SA が利用可能であるなら、パ ケットは IPsec によって取り扱われます、すなわち、暗号化 され、そして/または、認証されますが、SA が利用可能でな いなら、パケットは明白に転送されます。use オプション は、暗号化されるか認証されるリンクが非暗号化されるか、 または非認証されたようになるところで偶然の誤設定を考慮 して推薦されません。require キーワードは、可能なところ で use の代わりに推奨されます。ろで推薦されます。 require キーワードを使用することは、関連している SA が 必要であり、カーネルがすべて一致するパケットで IPsec 処 理を実行しなければならないことを意味します。 unique キーワードは、require と同じ効果がありますが、外 向きのトラフィックのための SA が、このポリシにだけ使用 されるという制限を加えます。利用者は、setkey(8) を使用 して手動のキー入力によって SA を定義するとき、ポリシと SA を関係づけるための識別子を必要とします。このようにし て unique キーワードの後に識別子として 10 進数を置きま す。unique: number の number は 1 と 32767 の間でなけれ ばなりません。 request 文字列が明白に保たれるなら、level と level の前 のスラッシュは省略することができますが、利用者は、故意 でない振る舞いを避けるために明らかにそれらを指定するこ とが奨励されます。level が省略されるなら、default とし て解釈されます。 ここと setkey(8) で許された明細の間には違いがあることに注意してください。 setkey(8) でセキュリティポリシを指定するとき、entrust と bypass のどちら も使用されません。詳細については setkey(8) を参照してください。 戻り値 ipsec_set_policy() 関数は、成功すればポリシ明細を含む割り付けられたバッ ファへのポインタを返します。そうでければ、NULL ポインタが返されます。 ipsec_get_policylen() 関数は成功すれば、バッファサイズを示す正の数を返 し、エラーの場合は負の数を返します。 ipsec_dump_policy() 関数は成功すれば人間が解読可能なセキュリティポリシを 含む動的に割り付けられた領域へのポインタを返し、エラーの場合は NULL を返 します。 使用例 すべての内向きのパケットが破棄されるポリシを設定します。 in discard すべての外向きのパケットは、ESP を使用して IPsec と転送によって処理される ために必要です。 out ipsec esp/transport//require すべての内向きのパケットは、AH プロトコルを使用して認証されるために必要で す。 in ipsec ah/transport//require 終点 10.1.1.2 と 10.1.1.1 通して外向きのパケットをトンネル化します。 out ipsec esp/tunnel/10.1.1.2-10.1.1.1/require 関連項目 ipsec_strerror(3), ipsec(4), setkey(8) 歴史 これらの関数は、WIDE/KAME IPv6 プロトコルスタックキットではじめて登場しま した。 KAME プロジェクト (http://www.kame.net/) スタックに基づく IPv6 と IPsec サポートは、最初に FreeBSD 4.0 に統合されました。 FreeBSD 11.2 February 14, 2006 FreeBSD 11.2