IRCDの導入
katsumi@xb4.so-net.ne.jp
鮮度: 2000年12月16日(土)
更新: 2000年12月22日(金)

ircd.conf の定義に関して説明する。

はじめに


ircd.conf の反映

ircd.conf の変更を反映させる場合は、ircd に "kill -HUP" し反映する。

管理

パスワードなどが定義されるので、管理には十分注意すること。 ircd.conf は、他ユーザーが見られないようにしておくべきである。

ircd.conf の構文確認

ircd.conf を書き換えたら、chkconf で記述が正しいか確認する。

# chkconf

ircd.conf

# cd /usr/local/etc
# cp example.conf ircd.conf
# chmod 600 ircd.conf

[M] マシン情報


指令 指定 名称
M 必須 irc サーバの情報を定義

書式 M:<サーバ名>:<IPアドレス>:<設置場所>:<ポート番号>

M:csa.bu.edu::Boston University Computer Science Department:6667
M:csa-irc-server:128.197.13.20:Boston University Computer Science Department:6667
M:jo1upk.ymt.prug.or.jp:192.168.1.1:Kodaira Tokyo Japan:6667

サーバ名

サーバのFQDNやホスト名を定義

FQDNを使用しない場合は、必ず「IPアドレス」を記述する。 間違って他機器の FQDN は使用しないように注意すること。

この記述が、IRC空間でのサーバ名となる。

IPアドレス

irc サーバのIPアドレスを定義

サーバ名で FQDN で記述されている場合は、省略可能である。
複数のIPアドレスが有る場合は、この定義で確定する。 これは対外接続の場合に使用するIPアドレスとなる。

設置場所

サーバ機の設置場所を定義

ポート番号

他ircサーバから接続されるポート番号を定義

[A] 管理者情報


指令 指定 名称
A 必須 irc サーバの管理者情報を定義

書式 A:<管理者名および場所>:<管理者電子メールアドレス>:<備考>::

A:Helen Rose - Boston University CS Department:Helen Rose:Client Server::

管理者名および場所

管理者の氏名とそのサーバの設置場所を定義

管理者電子メールアドレス

管理者の電子メールアドレスを定義

備考

何か書きたいことがあれば自由に記述

[P] ポート接続


指令 指定 名称
P 必須 各種接続のためにポートを指定(標準 6667)

特権など各種設定を行うなかで(後述)、様々な接続が必要なってくる。 その接続の種類毎にポートを使い分けた方が良い。

config.hでUNIXPORTを定義してコンパイルした場合はUNIXドメインも使用可能である。

書式 P:<IPアドレス>:<*>:<IPアドレスのマスク>:<ポート番号>:

P::::6667:
P:206.252.192.20:::6668:
P:::147.210.*:6669:
P:::128.2.0.0:6664:

IPアドレス

接続を許可するIPアドレスを記述

空の場合は、全機器の接続を許可。

IPアドレスのマスク

接続を許可する機器のIPアドレスのマスクを記述

ワイルド指定 *、0 が使用可能
"P:::192.168.*:6664:" と "P:::192.168.1.0:6664:" は同じ。
ただし、* を 192.16*.1 のような定義は不可

[Y] 接続クラス


指令 指定 名称
Y 推奨 接続クラス

接続クラス

接続方法を接続種類によって分離するクラスである。 サーバ同士の接続用クラスとクライアント用のクラスとを 分離して定義し利用する。

Y 行は、クラスの記述が必要な行より先に記述すること。 「sendQ」以外を空にすると 0 と解釈される。

記述の仕方次第でクラスが決まる
サーバクラス Y:<クラス番号>:<PING間隔>:<接続確認間隔>:<最大接続数>:<SendQ>::
クライアントクラス Y:<クラス番号>:<PING間隔>::<最大接続数>:<SendQ>:<ローカル制限>:<グローバル制限>

サーバクラスの例 (その1)

Y:1:90:300:1:4000000::
Y:2:90:300:1:4000000::

※クラス番号 1は、必須である。

サーバクラスの例 (その2)

サーバ接続用の定義であり、 以下の場合では、クラス2で接続する。ポート番号は、6667〜6668を利用する。

Y:1:600:300:1:4000000::
Y:2:600:300:1:4000000::

このような定義がある状態で、以下の c 行および N 行を定義することとなる。

c:192.168.1.1:SRV1:irc.kodaira.jo1upk.ymt.prug.or.jp:6667.6668:2
N:192.168.1.2:SRV2:irc.osaka.test.or.jp::2

クライアントクラスの例 (その1)

Y:10:90::100:512000:10:32
Y:11:90::100:512000:0.1:0.2
Y:12:90::100:512000:3:3
Y:13:90::100:512000:2:2
Y:14:90::100:512000:1:1

※このクラス番号毎に、接続可能クライアントを『I,i』でマッピングし、 同時に接続可能なセッション数などを決定することになる。

Y:13:90::100:512000:1:1

この場合であれば、1つのみ許可される。

クライアントクラスの例 (その2)

Y:10:900::100:512000:10:32
Y:11:900::100:512000:0.1:0.2
Y:12:900::100:512000:3:3
Y:13:900::100:512000:2:2
Y:14:900::100:512000:1:1

定義した各クラスにおける、
   ・最大接続数
   ・Ping間隔
   ・同時に接続可能なチャンネル数
  の定義を行う。

この例では、Pingは、900秒間隔で実施。最大接続数を 100としている。

ローカル制限およびグローバル制限の差を定義することで、クライアント種類毎に、 同時に接続できるチャット・チャンネルの数など、制限できるようになる。
例えば、クラス 14 においては、1:1 で、同時に1つまでしか開けないというクラスを 定義したに過ぎない。 これを、クラス 14 を利用するようにクライアント接続許可を定義する i,I 行を定義することで、制御できるようになる仕組みである。

クラス番号

任意の数字を記述

ここで各々のクラスを区別する。 他の行のクラス記入欄にはこの数値を記述。 サーバとの接続時クラス番号が大きい方を優先する。

PING間隔

何秒ごとにPINGするかを定義

省略時 config.h の値

サーバー接続の場合は、サーバ双方で同じ値を使用することが望ましい。

接続確認間隔

何秒間隔で他サーバからの接続確認するかを設定

重要な接続ほど確認間隔(値)を小さくし設定すると良い。

最大接続数

接続できる最大数を設定

■サーバ接続の場合
自動接続可能な接続数を設定
CONNECT コマンドを使用した場合は、この制限を受けない。

■クライアント接続の場合
I 行または O 行毎の最大接続数として設定

省略時 0 (無制限)

sendQ

sendQ を何バイトとするか定義

省略時 空は、config.h の値

(config.h に定義された MAXSENDQLENGTH に制約されない。)

ローカル制限

サーバ自身への複数のクライアント接続(クローン接続)を規制

書式 "<同一ホストからの最大複数接続数>.<同一ホストかつ同一ユーザからの最大複数接続数>"
省略時 0 (無制限)

■同一ホストからの最大複数接続数

1つの数字のみ定義された場合は、「同一ホストからの最大複数接続数」と解釈する。

■同一ホストかつ同一ユーザからの最大複数接続数

identd を使用して判断する。 ident サーバから応答がない場合には、"unknown"というユーザ名が使用されるが、 これは「同一ホストかつ同一ユーザからの最大複数接続数」とはならない。

グローバル制限

複数のクライアント接続を規制する

書式 ローカル制限と同様
省略時 0 (無制限)

「ローカル制限」と異なり、他のサーバへ接続している数もカウントする。 したがって、ローカル接続も含まれるため「グローバル制限」では、 ローカル制限と同じかより大きい値を使用すること。

[i,I] クライアント接続


指令 指定 名称
i,I 必須 クライアント接続
クライアント接続を許可するホストを定義

I 行とi 行とが混在定義された場合は、i 行の条件が優先する。 したがって、I 行で条件を定義しても、i 行でマッチしてしまうと無駄な定義となる。 定義順ではなく、i 行を検索しマッチしなければ、I 行を検索することとなる。

i 行に書かれたホスト

・ニックネームの変更不可
・チャンネルオペレータ権限が貰えない(@になれない)

I 行に書かれたホスト

・クライアントとしての全機能を保有する
・チャンネルオペレータ権限を付与できる(@になれる)

制限付き i:<クライアントのIPアドレス>:<パスワード>:<ホスト名>:<ポート番号>:<クラス番号>
通常 I:<クライアントのIPアドレス>:<パスワード>:<ホスト名>:<ポート番号>:<クラス番号>

i:*@*::::13
i:*@*:foobar:::13
i:::*@*.???:13
I:*@192.168.*::::12
I:*@128.197.*::*@*.bu.edu::10
I:::hrose@csa.bu.edu::10
I:::*@ppp*.bu.edu::12

クライアントのIPアドレス

接続を許可するクライアントのIPアドレスを記述

ワイルド指定 *、? の利用可能

"username@128.197.27.1" のようにユーザ名も併用する場合は、 クライアント側に ident サーバが設置されている必要がある。
空の場合は、この条件でのマッチングはしない。 ただし、下の「ホスト名」かどちらかに条件を明記する必要がある。

パスワード

接続にパスワードを必要とさせる場合には定義する

ホスト名

接続を許可するクライアントのホスト名を記述

ワイルド指定 *、? の使用可能

「クライアントのIPアドレス」と同じようにユーザ名を併用する場合は ident サーバがクライアント側に設置されている必要がある。

空の場合は特別の意味を持つ。

条件検索としては、1.「ホスト名」を検索。 条件に一致した場合、そのホスト名で接続を許可する。
条件に一致しない場合、2.「クライアントのIPアドレス」の検索を実施する。 条件に一致した場合、例えホスト名が逆引き可能であっても、 IPアドレスの接続を許可する。

「ホスト名」が空の場合は、利用可能な場合「クライアントのIPアドレス」 での検索に一致したとしてもホスト名で接続を許可する。

ポート番号

クライアントが利用するポート番号を記述

※空や 0 を記述した場合は、全ポート許可

クラス番号

Y 行に記述されたクラス番号を記述する

この定義で、利用できる最大ユーザ数が決定する

[O,o] オペレータ特権


指令 指定 名称
O,o 選択 オペレータ特権

オペレータとしてアクセスするホストの情報を記述
グローバルオペレータ O:<ホスト名>:<パスワード>:<ニックネーム>:<ポート番号>:<クラス番号>
ローカルオペレータ o:<ホスト名>:<パスワード>:<ニックネーム>:<ポート>:<クラス番号>

※ローカルオペレータでないと使用できないコマンドがある。

O:*.bu.edu:Zaphod:Trillian::10
O:hrose@csa.bu.edu:Zaphod:Trillian::10
o:*.bu.edu:ITBites:jhs::10
O:rocker@csa.bu.edu:T0eiVgHrqeKTQ:Rocker::10

ホスト名

サーバーオペレータとして接続許可するホストを定義

"username@hostname" のように username を併用した場合、ident サーバを使用する。

パスワード

接続時必要となるパスワードを記述

■config.h で CRYPT_OPER_PASSWORDを定義した場合

cryptされたパスワードを記述する。 ircdディレクトリの下にあるcryptディレクトリの中にあるプログラムを使用する。

ニックネーム

サーバオペレータとして接続を許可するニックネームを記述

ただし、このニックネームでなければサーバーになれないということではない。 詳しくはOPERコマンドを参照のこと。

ポート

未使用。空にしておく。

クラス番号

Y 行に定義したクラス番号を記述

この定義で、利用できる最大ユーザ数が決定
適切なI 行のために I 行で使用する クラス番号より小さい番号を使用した方が良い。

[c,C] サーバ接続


指令 指定 名称
c,C ネットワーク環境定義 サーバ接続

このC 行または c 行で自サーバーと相手サーバに接続するかを設定

c 行を利用する場合

チャット中データは圧縮(zlibを使用)される。 したがって config.h において、ZIP_LINKS を定義してなければならない。

接続先のサーバが圧縮形式でのリンクを拒否したり、サポートしていなかった場合は 自動的に非圧縮形式で接続される。

記述に際にしての注意事項

常に C 行と N 行はペアで記述する。

また、C 行は3つ以下にとどめておいた方が良い。 クライアントへの遅延や ネットワークに余分なトラフィック増加など問題が起こるためである。 また複数文書いた場合、最下行に記述されたサーバから優先し接続する。

圧縮接続 c:<ホスト名またはIPアドレス>:<パスワード>:<サーバ名>:<ポート番号>:<クラス番号>
非圧縮接続 C:<ホスト名またはIPアドレス>:<パスワード>:<サーバ名>:<ポート番号>:<クラス番号>

後述 (N 行)を参照

ホスト名またはIPアドレス

接続するホスト名またはIPアドレスを記述

"username@" をホスト名やIPアドレスの前に付けて identサーバを用いた マッチングも利用できる。

パスワード

接続先の管理者と相談して決めたパスワードを記述

パスワードは、相手のサーバの N 行に書かれているパスワードと 一致する必要がある。 またペアとなっている自サーバの N 行のパスワードとは 違うものにした方が良い。

サーバ名

相手の IRC空間でのサーバ名を記述

相手のM行に書かれた「サーバ名」を書けばよい。 ただし、後述する N 行で 「ドメインマスク」を使用してサブドメインの集約を行っている場合、 M 行で定義された「サーバ名」を記述せずに集約されたサーバ名を使用すること。

ポート番号

接続するポート番号を記述

M 行に記述した UDP-ping用ポート番号と異なる場合

書式 <接続するポート番号>.<UDP-ping用ポート番号>

の書式で記述する。 空の場合は自動接続とはならず、相手サーバからの接続を待ち続ける。

クラス番号

Y 行で定義したクラス番号を記述

N 行でどのサーバの接続を許可するか決定する。

C 行N 行は、必ずペアで記述する。

[N] サーバ接続


指令 指定 名称
N ネットワーク環境定義 サーバ接続

書式 N:<ホスト名またはIPアドレス>:<パスワード>:<サーバ名>:<ドメインマスク>:<クラス番号>

C:hrose@cs-ftp.bu.edu:bigspark:cs-ftp.bu.edu:6667:2
N:hrose@cs-ftp.bu.edu:bigalpha:cs-ftp.bu.edu::2
C:irc-2.mit.edu:camelsrk00l:irc-2.mit.edu::2
N:irc-2.mit.edu:andsoarellamas:irc-2.mit.edu:1:2

c:irc-2.mit.edu:camelsrk00l:irc-2.mit.edu:6667.6668:2
N:irc-2.mit.edu:K6yiH\i87f5:irc-2.mit.edu:1:2

ホスト名またはIPアドレス

接続しに行くホスト名またはIPアドレスを記述

"username@"をホスト名やIPアドレスの前に付けて identサーバーを用いたマッチングも利用可能

パスワード

接続先の管理者と相談して決めたパスワードを記述

パスワードが相手のサーバーの C 行に書かれているパスワードと一致する必要がある。
またペアとなっている自サーバの
C 行のパスワードとは違うものにした方が良い。 ただし、config.h で CRYPT_LINK_PASSWORD を定義してコンパイルしている場合は、 パスワードを暗号化されたパスワードを記述すること。
その際には、ircd ディレクトリの下にある cryptディレクトリの中にあるプログラム を使用する。

サーバ名

相手の IRC空間でのサーバ名を記述

相手の M 行で定義された「サーバ名」を記述すれば良い。

ただし、「ドメインマスク」を使用してサブドメインの集約を行っていた場合、 M 行で定義された「サーバ名」を記述せずに集約されたサーバ名を使用すること。

ドメインマスク

数字を定義する

この数字を使ってサブドメインの集約を行う。

詳細は、マニュアルを参照のこと。

クラス番号

Y 行で定義されたクラス番号を記述

[K,k] 締め出すアカウント


指令 指定 名称
K,k 任意 締め出すアカウント

"ユーザ名@ホスト名" の形式で、サーバから締め出すユーザを指定

k 行は、「ユーザ名」の変わりに「認証」を利用

ident サーバの応答という点では同様であるが、 「認証」では本来認めない UNIX以外のタイプからの応答も認める。 ただし、その場合ユーザ名の前に "-" が付与される。 これは自サ−バにのみ適用される。したがって、他のサーバでは (そのサーバでも記述されていない限り)、IRC で接続可能。

通常の規制 K:<ホスト名またはIPアドレス>:<対象時間または注釈>:<ユーザ名>:<ポート番号>:
UNIX以外も視野に入れた規制 k:<ホスト名またはIPアドレス>:<対象時間または注釈>:<認証>:<ポート番号>:

k:*.alaska.edu::*FSSPR:0
K:acs*.bu.edu:0800-1200,1300-1700:*:0
K:*foo.edu:Use server irc.bar:*:0
K:*toto.fr:Use port 6666:*:6667:
k:129.69.*:identd (rfc1413) required:unknown::
k:=129.69.*:identd (rfc1413) required:unknown::

ホスト名またはIPアドレス

接続を拒否するホスト名またはIPアドレスを記述

ホスト名、またはIPアドレスを記述。

ワイルド指定 * の使用可能
同様にIPアドレスのbitmask(例えば127.18.*を127.18.0.0と書く)も使用可能

IPアドレス指定の場合、正引きの可否に関わらずIPアドレスで判定する。 正引き不可のときのみの判定にしたい場合は、"=" を前に付けること。

対象時間または注釈

通常、接続を拒否する理由として使うメッセージを記述

空にした場合は、省略時の文章が利用される。 クライアント接続中、時間に到達した場合は、5分前に警告を発し追い出す。

■例:サーバのローカルタイムで 8:00〜12:00および、13:00〜 17:00の間接続を不可
   "0800-1200,1300-1700" のように定義する。

ユーザ名

対象とするユーザ名を記述

ident サーバからの応答を利用

ワイルド指定 * の使用可能

ident サーバのタイプがUNIX以外の時は、その応答を利用せずに、 USER コマンドのパラメータを使用する。

認証

対象とするユーザ名を記述

ただし必ずしもUNIXタイプであるident サーバの応答を必要としない。 ただしその場合には、応答の前に "-" を付加する。 他は、「ユーザ名」と同様である。

ポート番号

対象とするポートを記述

※空や 0 を定義した場合は、全てのポートを禁止する

[L] リーフ接続


指令 指定 名称
L 任意 リーフ接続

リーフ

リーフ "leaf" として接続することを強制する。
1つの他サーバーとだけしか接続してないということであり、 他にも他サーバーのリンクツリーを制限させることが可能。 この制限に従わない場合には、そのサーバーとの接続を切断する。

書式 L:<禁止するホスト名のマスク>::<サーバ名>:<リンクツリーの深さ>:

L:::kaja.gi.alaska.edu::
L:::cm5.eng.umd.edu:1:
L:*.edu::*.au::

禁止するホスト名のマスク

L 行で指定したサーバ名が、マッチするサーバと接続しないよう制限する

ワイルド指定 *、? の使用可能。空にした場合、*と同様。

SERVER コマンドを受信するたび確認する。

サーバ名

L行で制限するサーバのサーバ名を記述
ワイルド指定 * の使用可能

リンクツリーの深さ

L 行で制限するサーバが接続するサーバに関し、SERVER コマンドを受信するたび、 ホップ数を参考にリンクツリーの深さを調べるが、そのホップ数を定義する。
空の場合、1 と見做し、リーフであるよう制限する。
0 の場合、どのサーバとも接続させないということとなる。

[H] ハブ接続


指令 指定 名称
H 任意 ハブ接続

ハブとして接続することを許可する。 ハブ自体は config.h のHUBで定義するが、 ハブを設定すると複数のサーバに接続することができるため、 独立したサーバと接続するとき以外は、H 行を定義すること。

書式 H:<サーバ名のマスク>::<許可するサーバ名>::

H:*::cs-ftp.bu.edu::
H:*.mit.edu::irc-2.mit.edu::

サーバ名のマスク

許可したハブが、どのサーバと接続して良いか記述する。 ホスト名ではなくサーバ名で記述する。

ワイルド指定 * の使用可能

許可するサーバ名

ハブとして接続を許可するサーバ名を記述

ワイルド指定 * の使用可能

[D] 自動接続の拒否


指令 指定 名称
D   自動接続の拒否

自マシンからの自動接続を規制する。 大きい複雑な状況にあるネットワークと接続している際に役立つ。

書式 D:<否定されたサーバ名>:<否定されたクラス番号>:<サーバ名>:<クラス番号>:

D:*.edu::*.fi::
D::2:eff.org:3:

否定されたサーバ名

サーバ名のマッチングという方法で記述する。 サーバが同じ IRC空間、ネットワーク上にあれば、この D 行は機能する。

ワイルド指定 * の使用可能

否定されたクラス番号

クラス番号のマッチングという方法で記述する。 クラス番号で結ばれたサーバが同じIRC空間、 ネットワーク上にあれば、 この D 行は機能する。直接に接続されていなくても構わない。

サーバ名

D 行が機能した場合にどのサーバへの自動接続を禁止するかサーバ名で記述

ワイルド指定 * の使用可能

クラス番号

D 行が機能した場合、どのサーバへの自動接続を禁止するかクラス番号で記述する。 クラス番号で結ばれたサーバへの自動接続を禁止する。 直接に接続されていなくても構わない。

[V] バージョンの制限


指令 指定 名称
V 任意 バージョンの制限

サーバプログラムのバージョンやコンパイルオプションを基づき、 接続されるサーバを制限する。

書式 V:<バージョンのマスク>:<フラグ>:<サーバ名のマスク>::

V:IRC/020901*::*::
V:*:*/D:*::
V:IRC/020902*:IRC/K:*.edu::

バージョンのマスク

禁止するサーバプログラムのバージョンを記述

ワイルド指定 * の使用可能
例えば 2.9.1 なら 020901となる。
マイナーバージョンアップも視野に入れて020901*とした方がよい。
また 2.10 から前に「サーバのタイプ」を付けるようになった。
ircd ではid、"IRC"となっている。区切りには/(スラッシュ)を使う。

フラグ

ircd/s_debug.cで定義されたフラグを記述

VERSION コマンドの応答が、ここで定義したフラグとなっていた場合、 そのサーバーとの接続を拒否する。

例えば、D を記述すると DEBUGMODE と定義してコンパイルされたサーバが 接続された場合、拒否する。
K を記述すると OPER_KILL となる。
「バージョンのマスク」と同様、2.10 から「サーバのタイプ」を指定できるようになった。

サーバ名のマスク

対象とするサーバ名のマスクを記述
ワイルド指定 * の使用可能

[B] サーバの斡旋


指令 指定 名称
B 推奨 サーバの斡旋

クラスの最大接続数になっている場合、 サーバ自体が最大接続数となっている場合、 または、認証に失敗したクライアントを他サーバへ斡旋する。

書式 B:<クラス番号またはホスト名のマスク>::<サーバのホスト名>:<ポート番号>:

B:-1::irc.stealth.net:6667:
B:*.fi::irc.funet.fi:6667:

クラス番号またはホスト名のマスク

対象とするクライアントをクラス番号、ホスト名、IP、IPのビットマスクで指定

ワイルド指定 * の使用可能

"All connections in use" のようなエラーが出る場合、 サーバーが完全にいっぱいであり、サーバはクライアントのホストも クラスも知ることが出来ない。このような場合は、空にすること。

サーバのホスト名

斡旋先のサーバのホスト名を記述

ポート番号

斡旋先のサーバのポートを記述

[S] サービス接続


指令 指定 名称
S 任意 サービス接続

詳細は、doc/SERVICE.txtを参照。

書式 S:<ホスト名のマスク>:<パスワード>:<サービス名>:<サービスタイプ>:<クラス番号>

S:eep.local.net:thisisapassword:EepInfo:0:1

ホスト名のマスク

サービスとして接続を許可するホストのIPやホスト名を記述

ワイルド指定 * の使用可能

パスワード

SERVICEコマンドで使用するパスワードを記述

サービス名

サービスで利用する名前を定義

サービスは、ニックネームを持たず、この名前はニックネームと異なり S 行で定義しているもの以外は、変更不可である。

サービスタイプ

サービスタイプを記述

ここで、どのような特権を保有するか定義する。 タイプは、ircd/service_def.h の中に定義されている。 複数のタイプを保有するときは、ビットの和を定義すれば可能である。

クラス番号

Y 行に書かれたクラス番号を記述

[U] ローカル省略時サーバ


指令 指定 名称
U 不要 ローカル省略時サーバ

[R] 制限の行


指令 指定 名称
R 推奨しない 制限の行

クライエントの接続可否を外部プログラムを利用して制限する。 ただし、config.h で R_LINES を定義しておく必要がある。

プログラムの引数は、USER コマンドから得られる、
・ユーザ名
・ホスト名
・ident サーバの応答
の3つが引数となる。

プログラム出力は、
・"Y <メッセージ>"
  接続許可。メッセージ破棄。
・"N <メッセージ>"
  接続拒否。メッセージとして、その理由を表示。

であること。

書式 R:<ホスト名>:<プログラムのフルパス>:<ユーザ名>:::

R:csl.bu.edu:/home/hrose/bin.sun3/sun3access:*:::

ホスト名

対象とするホスト名を記述

プログラムのフルパス

使用するプラグラムのフルパス(絶対パス)で記述

ircd プロセスのユーザ権限で、このプログラムも実行できる必要がある。

ユーザ名

対象とするユーザ名を記述

[Q] 締め出すマシン


指令 指定 名称
Q 推奨しない 締め出すマシン

特定のサーバを隔離する

これは同じ IRC空間全てのマシンに、 同じ Q 行を定義しておかないと、 隔離しようとするサーバが接続してきた際に、 IRC空間として一貫性が保てなくなる。
その際には、独立サーバとなる可能性がある。
実装としては、新しいサーバがブロードキャストされてた際に、 新しいサーバがこの Q 行と一致した場合、 そのブロードキャストしたサーバ(SERVER コマンドを転送してきたサーバ) との接続を切断するようになる。

書式 Q::<隔離理由>:<サーバ名>::

Q::this server is too slow and lags the net:cm5.eng.umd.edu::

隔離理由

隔離する理由を記述

サーバ名

対象とするサーバのサーバ名を記述

[斎藤さんち]
mail: katsumi@xb4.so-net.ne.jp  (C)2000 JO1UPK