置き場所
http://www.friend.td.nu/ircd/
http://www.xseed.ne.jp/irc/ircd/
注意
ircd2.10.x と ircd2.11.0 はリンク可能ですが 2.10.0 はNICKNAMEに使えない記号があったりします。
ircd2.11.1 への移行するための中継的存在のようです(ircd2.11.0)
ircd2.10.x と ircd2.11.1 はリンクできません。
ircdを入れ替える時はご注意ください。
ircd-fc版を入手したら。install の手順は 2.10のときと同じです。
IPv6としてinstallしたい場合は、
(例)
./configure --enable-ip6 --prefix=/home/irc
ircd.confのデリミタも変わります。 区切り文字がデフォルトでは % です。
config.hを修正することで % を変えることも可能です。
通常のv4としてのinstallは
./configure --prefix=/home/irc
と、かわっていません。
以下は現状のircd.confから抜粋しています。(例です)
赤い文字の部分が追加で必要です。
----
# M:<Server NAME>:<YOUR Internet IP#>:<Geographic Location>:<Port>:<SID>
# <SID> とはサーバのIDです。日本は392x と決まっているようです。 参考HP tomochaさんのHPです。
M:my.domain:*:Network name:6667::3920
A:Network name:fc-oper --- nick:Client Server::FCnet
P::::6669:
P::::6668:
P::::6667:
P::::6666:
P::::6665:
P::::6664:
P::::6663:
P::::6662:
P::::6661:
P::::6660:
P::::6607:
#
#--- サーバーのクラス ---
#Y:<クラスナンバー>:<pingの頻度>:<接続確認の頻度>:<最大接続数>:<SendQ>::
#
#SERVER LINKS
Y:51:180:180:30:8000000
#
#
Y:10:90:0:10000:1000000
#
# 一般受入用
Y:20:90:0:10000:1000000:4.4:6.6
#
#
#I:<TARGET Host Addr>:<Password>:<TARGET Hosts NAME>:<Port>:<Class>:<MaxChan>
#
# すべてのクライアントを受け入れ
I:*::::20:R #以前の i 表記と同じ意味。
I:::*::20
O:my.domain:password:nickname::10:ApP&
当IRCサーバには以下の変更点がございます。
1.RealName を変更できない client からの接続を拒否できる機能.
(ircd2.11はX-lineにて対応)
2.接続形態によって最大join可能 channel 数を変更可能にする機能.
(パスワードを入力することにより、より多数のチャンネルへのjoinが可能)
3.server oper 権限で各 channel mode を変更可能にする機能.
4.ircd.conf を変更せずに K-line を変更する機能.
(ircd2.11には標準でTKLINEコマンドがあります)
1については、DC難民防止する意図でつけましたが、こなかったので機能しておりません
2についてはjoin channel数(MCPU=50) が足りない人のために特別な受け入れ方法をつかい接続すると、
デフォルト設定数よりたくさんのchannelに同時に入ることができます(滅多にいませんが…)
3については、チャンネルオペレータの権限がなくなったとき、
通常ですと全員がそのchannelをpart(退出)し最初に入りなおした人が
チャンネルオペレータとなります
又は、サーバが切れたときを利用しきれたサーバのおのおのが接続されていた情報を忘れたとき
どちらかのサーバでチャンネルオペレータの権限を復活させておけば
サーバリンクが直ったときドッキングしてチャンネルオペレータのなかったchannelに復活することができます。(ircd2.11ではできなくなっています)
チャンネル全員と息をあわせての復活作業なのでうまくいくことが多いですが
常時接続でjoinしたままほったらかしの方が増えたせいか、そういうことが難しくなっております
各サーバオペレータの判断によって、チャンネルオペレータの復活は行うことがありますが
当たり前ですが channel名 なくなった経緯など の情報をお知らせください
状況にもよりますが確実に復活するサービスではありません、おのおのの管理者の判断によります
4の機能についてはほとんど使っておりません、各管理者の方も忘れてるくらいではないでしょうか(多少使用しています)
不明な点がございましたら掲示板に書き込むか、管理宛にメールしてください。
上記場所より、ircd-fcを入手したら
user irc によるインストールの例
~/tmp などにftpで転送
$ tar xvfz irc2.10.3-fcxx.tar.gz
$ cd irc2.10.3-fcxx
$ ./configure --prefix=/home/irc
i586-pc-linux-gnu だった場合
$ cd i586-pc-linux-gnu
config.h を編集
$ make install-server
$ cd ~/sbin
~/etc/ircd.conf を作成(ircd.motdもあるとなおよい)
iauth.confも必要に応じて変更
$ ./ircd
とします。
以下は例です
---
M:my.domain:*:Network name:6667:
A:Network name:fc-oper --- nick:Client Server::
P::::6667:
Y:2:90:300:1000:8000000
Y:3:90:300:1000:8000000
Y:4:90:300:1000:8000000
Y:1:90:30:1000:8000000
Y:10:90:30:1000:8000000
Y:13:90:300:1000:8000000
I:*::*:6667:3
O:my.domain:password:nickname::10
---
そのunix shellで可能な上限は posix_types.h のFD_SETSIZEの値によります
$ find / -name 'posix_types.h'
とでもして探してクダサイ
また、上限をさらに上げたい場合は、FD_SETSIZEの値を上げて、
カーネルの再構築が必要みたいです
やったことありませんが一応。
FreeBSDの場合
/etc/sysctl.conf に
kern.maxfiles=65536
kern.maxfilesperproc=32768
/usr/include/sys/types.h の FD_SETSIZE を 32768
sysctl.conf に書いておいて 初回は
sysctl kern.maxfiles=65536
sysctl kern.maxfilesperproc=32768
irc.aaa.ne.jp - irc.hub.ne.jp - irc.bbb.ne.jp とつなぎたい場合
3つのサーバのircd.confに
H:*::irc.hub.ne.jp::
を記載します
-- irc.aaa.ne.jp ---
c:irc.hub.ne.jp:password:irc.hub.ne.jp:6667:3
N:irc.hub.ne.jp:password:irc.hub.ne.jp::3
H:*::irc.hub.ne.jp::
-- irc.hub.ne.jp ---
c:irc.aaa.ne.jp:password:irc.aaa.ne.jp:6667:3
N:irc.aaa.ne.jp:password:irc.aaa.ne.jp::3
c:irc.bbb.ne.jp:password:irc.bbb.ne.jp:6667:3
N:irc.bbb.ne.jp:password:irc.bbb.ne.jp::3
H:*::irc.hub.ne.jp::
-- irc.bbb.ne.jp ---
c:irc.hub.ne.jp:password:irc.hub.ne.jp:6667:3
N:irc.hub.ne.jp:password:irc.hub.ne.jp::3
H:*::irc.hub.ne.jp::
このような感じになります
ircd.conf と同じ場所に iauth.conf
--- 中身 ---
#
# Default iauth configuration file
#
# $Id: iauth.conf,v 1.2 1999/07/04 22:15:43 kalt Exp $
#
# If iauth timeouts, then reject user
notimeout
# This makes the IRC server require that iauth performs the authentication
# in order for a new user connection to be accepted
required
# Perform ident lookups
module rfc931
# Check and reject open SOCKS proxies
module socks
option = reject,paranoid
--- ここまで ----
さらに
option = reject,paranoid,careful
としておくと、Denied access という理由でつながらない問題を解決できるようです。
最後の
module socks
option = reject,paranoid
のコメントはずすと有効になります
設定を変えた場合は ircd の restartが必要です。
リンクされている状態で相手サーバのIPがかわった場合は
rehash することが必要です
前回と同じ逆引きができないとはじきます。
/var/log/ircd/ 等のディレクトリができてるとおもいます
iauth.log というファイルだけあるとおもいますが
ここに空ファイル
auth opers rejects users
を作成すると
接続log
rejects log
oper log
がとれるはずです
operコマンドです
/kline user@(FQDN or IP) reason
/tkline user@(FQDN or IP) reason
違いは
kline コマンド使用した場合ircd.confに書き込まれます
tklineコマンド使用した場合は書き込まずにk-linedするため、rehashによって解除が可能です