LoginSignup
0
0

UnrealIRCd構築メモ

Last updated at Posted at 2023-04-22

windows10にUnrealIRCdでIRCサーバをローカルに立ててみたので、インストールや設定作業で個人的に気になった点をまとめます。

基本的にドキュメントが充実しているのでほとんどそれに従えば問題なく接続までできました。

自己証明書を使ってSSL/TLS接続することまで行います。

UnrealIRCdのインストール

https://www.unrealircd.org/download/6.0/6.0.6/winssl からインストーラをダウンロードします。

インストーラを起動してウィザードを適宜進めていきます。

最後の画面のチェックボックスのRun makecert.batはチェックをつけておけば、Finishのあとにバッチが起動するので、必要事項を入力すればSSLサーバ証明書が作成できます。
スクリーンショット 2023-02-08 175300.png

設定ファイルの修正1

以下ではインストール先ディレクトリを$IRCDIRとします。

$IRCDIR\conf\examples\example.conf$IRCDIR\confにコピーして、ファイル名をunrealircd.confにリネームします。

このファイルがUnrealIRCdの設定ファイルになりますので適宜修正していきます。2
設定項目がたくさんありますが、最低限以下を設定すれば起動しました。
cloak-keyはランダム文字列生成のwebサービスを使って90文字の文字列を作成すれば大丈夫でした。

unrealircd.conf
- oper bobsmith {
+ oper hoge { 

...
    cloak-keys {
		"Oozahho1raezoh0iMee4ohvegaifahv5xaepeitaich9tahdiquaid0geecipahdauVaij3zieph4ahi";
-		"and another one";
-		"and another one";
+		"jBUOcpY0LCsDI7xIc6aFRvGYGW5xLQI72Tsf6nTTk8UDMBc1Bw6G3II72DT86LwydFssu0XiDubv0ROM";
+		"lya77ca1655osddBE5bqPgfrft2NacnCfF5IjRKkpSU5xSbT1xnttvdP7XRDrINxjQ50buPMBeXsjc3l";
	}

...

set {
-	kline-address 'set.this.to.email.address'; /* e-mail or URL shown when a user is banned */
+	kline-address 'email@example.org'; /* e-mail or URL shown when a user is banned */

UnrealIRCdを起動して次の画面が表示されればサーバ構築完了です。

image.png

接続確認

IRCクライアント(LimeChatやHexChatなど)からIRCサーバに接続してメッセージ送受信することを確認します。

暗号化なし

localhost:6667に接続することでメッセージ送受信することができました。

SSL/TLS通信

接続の前にUnrealIRCdのSSLサーバ証明書をwindowsの証明書ストアにインストールします。
$IRCDIR\conf\tls\curl-ca-bundle.crtをダブルクリックして証明書のインストールをすれば完了です。

localhost:6697に接続することでメッセージ送受信することができました。

(LimeChatからだと対応TLSバージョンが古くてサーバ接続時にerror: : ACCEPT_SR_CLNT_HELLO: tlsv1 alert protocol versionのエラーで即切断されます。)

補足

デバッグ用ログを出力したい。

以下のように設定します。

unrealircd.conf
log {
	source {
		all;
-		!debug;
+		debug;
		!join.LOCAL_CLIENT_JOIN;
		!join.REMOTE_CLIENT_JOIN;

ちなみにログは$IRCDIR\logs\ircd.log に出力されます。

サーバ接続パスワードを設定したい

以下のように設定します。

unrealircd.conf
allow {
	mask *;
	class clients;
+	password "mzbot123";
	maxperip 3;
}

仮想ホスト名を割り当てないようにしたい。

UnrealIRCdはデフォルトではサーバ接続しているユーザのIPアドレスを他ユーザに見えないようにvhost(仮想ホスト名)を割り当てるようになっています。

それを無効化するには、以下のように設定します。3

unrealircd.conf
-	modes-on-connect "+ixw"; /* when users connect, they will get these user modes */
+	modes-on-connect "+iw"; /* when users connect, they will get these user modes */

連続送信の間隔時間の制限をなくしたい

デフォルトでは短い時間間隔でメッセージを多数送ると送信制限かかるのですが、anti-fllod機能を無効化することで制限がなくなります。4

以下を設定ファイルに追加し、もし既存の設定にanti-floodブロックがあれば削除してください。

unrealircd.conf
blacklist-module targetfloodprot;
  1. 参考:https://www.unrealircd.org/docs/Installing_(Windows)

  2. 設定項目 https://www.unrealircd.org/docs/Configuration

  3. クローキング:https://www.unrealircd.org/docs/Cloaking

  4. anti-flood:https://www.unrealircd.org/docs/Anti-flood_settings

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0