惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
L
LINUX DO - 最新话题
P
Proofpoint News Feed
Cyberwarzone
Cyberwarzone
Know Your Adversary
Know Your Adversary
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
L
Lohrmann on Cybersecurity
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Security Latest
Security Latest
T
The Exploit Database - CXSecurity.com
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
P
Privacy & Cybersecurity Law Blog
K
Kaspersky official blog
The Last Watchdog
The Last Watchdog
Webroot Blog
Webroot Blog
Scott Helme
Scott Helme
T
Threat Research - Cisco Blogs
C
Cyber Attacks, Cyber Crime and Cyber Security
WordPress大学
WordPress大学
L
LINUX DO - 热门话题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - Franky
V
Visual Studio Blog
O
OpenAI News
AI
AI
Hacker News: Ask HN
Hacker News: Ask HN
V2EX - 技术
V2EX - 技术
GbyAI
GbyAI
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Simon Willison's Weblog
Simon Willison's Weblog
S
Schneier on Security
Spread Privacy
Spread Privacy
Y
Y Combinator Blog
I
InfoQ
H
Hackread – Cybersecurity News, Data Breaches, AI and More
T
Threatpost
C
Cybersecurity and Infrastructure Security Agency CISA
F
Fortinet All Blogs
C
CERT Recently Published Vulnerability Notes
T
The Blog of Author Tim Ferriss
C
Check Point Blog
Apple Machine Learning Research
Apple Machine Learning Research
有赞技术团队
有赞技术团队
人人都是产品经理
人人都是产品经理
N
News and Events Feed by Topic
Project Zero
Project Zero
小众软件
小众软件
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
B
Blog
G
Google Developers Blog

一个博客站点,记录各种事情

配置NAS,安装OMV tiddlywiki服务器版本安装与配置 在xslt中,xpath配置命名空间 尝试使用cgroups限制程序资源占用 apparmor强制访问控制系统配置 为emacs配置特殊快捷键,方便移动端使用 gpg使用介绍与配置说明 aur用户软件仓库和PKGBUILD脚本的一些记录 搭建、配置gitea代码自托管平台 关于ssh密钥登陆遇到的一些问题,以及其解决方法 hugo配置commento评论服务。 生日快乐!对近期的回顾以及对未来的畅想 记一次tt-rss搭建 阿莱桑公寓的一些补充信息? 阿莱桑公寓-顺序整理 再见,2019,你好,2020——元旦快乐 hello world,第一篇博客,原因和目标。
irc服务端安装,unrealircd安装和配置,和配置说明
crimsonote · 2019-12-23 · via 一个博客站点,记录各种事情

文章目录

最近呢,心血来潮了一下,想搭一个irc的服务器玩。于是在vps上试着用unrealircd搭了一个irc服务器。在此把步骤记一下。

第一步,当然是安装了?因为vps是debian,默认软件包仓库没有unrealircd软件,所以这里就用编译安装了。

获取源代码

首先,下载源代码。执行:

1
wget --trust-server-names https://www.unrealircd.org/downloads/unrealircd-latest.tar.gz

或者点击这里以下载源码。然后,执行 tar -xzvf unrealircd-*.tar.gz 解压之前下载的源码包

编译

现在,移动到解压后的目录。

执行该目录下的./Config脚本,进行编译前的配置。配置完成后,执行

完成unrealircd的安装。

此节参考该网页

配置

创建配置文件

移动至unrealircd安装目录。默认是/home/username/unrealircd

将预定义的配置文件conf/examples/example.conf复制至conf目录中,并重命名为unrealircd.conf

1
cp conf/examples/example.conf conf/unrealircd.conf

使用习惯的文本编辑器打开conf/unrealircd.conf,这里用nano作为示例。

1
nano conf/unrealircd.conf

服务器描述信息

me{}块定义irc服务器的名称,一些描述信息还有一个服务器sid。找到配置文件中以"me"开头的块,按照下面编辑。一个me块示例:

1
2
3
4
5
me {
      name "此处更改为服务器名称,如“irc.ggwwff.ml”";
      info "服务器的描述信息";
      sid "服务器的id,如“001”(如果使用多台服务器构建irc服务器网络,sid需要保证唯一)";
};

管理员信息

admin{}块定义用户输入 /admin 时显示的内容,这里通常包含如何与管理员联系的信息。一个admin块示例:

1
2
3
4
admin {
    "第一行,比如说管理员名称";
    "第二行,比如说管理员邮箱";
};

连接控制

class块用于定义属于该类的用户的连接频率和次数,默认定义了3个块,分别是"clients"“opers"“servers”,默认够用,这里就不改了。一个class块示例配置:

1
2
3
4
5
6
7
8
class <类名称> { //描述性名称,用于从其他块引用此类
      pingfreq <秒数>;  //pingfreq指定了服务器ping用户间隔的秒数(建议90-180)
      connfreq <秒数>;  //connfreq仅用于服务器,指定了启用自动连接后,两次连接间隔的秒数
      maxclients <最大客户端数>; //maxclients指定了此类中在线最大客户端/服务器的数量。
      sendq <数据量>;   //sendq指定了发送队列的最大数据量
      recvq <数据量>;   //recvq指定里接受队列中的最大数据量(默认值8000)
      //options { nofakelag; };
};

参考:https://www.unrealircd.org/docs/Class%5Fblock

限制访问

allow块决定哪些设备能够访问irc服务器,一般来说,默认能用。一个allow块示例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
allow {
      /* 注意,必须指定ip或hostname,但是你不能同时指定 */
      ip <user@ip-connection-mask>;  /*  指定允许访问的ip */
      hostname <user@host-connection-mask>;

      /* 其他必选项 */
      class <类名称>;  //上面定义的类的名称
      maxperip <每个ip的最大连接数>;

      /* 可选项 */
      password <connection-password> { <auth-type>; }; /* OPTIONAL */
      ipv6-clone-mask <number-of-bits>; /* OPTIONAL */
      redirect-server <server-to-forward-to>; /* OPTIONAL */
      redirect-port <port-to-forward-to>; /* OPTIONAL */
      options {
	  <option>;
	  <option>;
      };
};

参考:https://www.unrealircd.org/docs/Allow%5Fblock

irc管理员配置

oper块能够配置服务器管理员帐号和密码。虽然说默认的也能用,不过……我想你不会希望随便谁登陆进来后就能拿默认管理员账户(bobsmith)和密码(test)就登到管理员权限吧。(而且几乎是最高权限……)
一个oper块示例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
oper <名称> {
      /* 必填 Required items: */
      mask <hostmask>;
      password <密码>;
      class <类名>;
      operclass <权限类>;
      /* 可选项目 */
      require-modes <modes>
      maxlogins <次数>;
      vhost <新的虚拟主机名>;
      swhois <whois信息>;
      modes <modes>;
      snomask <snomask>;
};

该块的各个必选选项的参数,请按照自己的需求配置:

  • 名称 : 账户名称,应该避免使用ASCII以外的字符,否则因为字符集差异而可能出现问题。
  • passwd : 密码,用于设置密码。但是官方不推荐明文编码在配置。关于具体可用的身份验证类型,可以参阅(EN)https://www.unrealircd.org/docs/Authentication_types
  • operclass : 决定了该管理员权限使用的操作员类别(operclass块),
    operclass块定义了可用权限。关于操作员类别块可以参阅(EN)https://www.unrealircd.org/docs/Operclass_block
    另外,unrealircd默认提供了以下操作员类别operclass块:
    • locop:最小特权,该类别大部分功能仅仅限制于本地服务器。比如,该权限可以/KILL或/KLINK本地用户,但不能是远程用户。
    • globop:具有良好的特权。例如,可以在所有服务器/KILL和/GLINK用户,可以获取一些额外的信息,比如/LIST和/WHOLS中的秘密频道。
    • admin:与globop相似,但能使用一些功能强大但具有潜在危险的命令(例如/SPAMFILTER)。
    • *services-admin:此级别增加了使用/SAJOIN,/SAPART和/SAMODE命令的权限。
    • netadmin:这是最高级别权限。默认配置提供了该级别权限。与services-admin相比,它还具有破坏或杀死服务bot以及一些其他事件的权限。
  • mask : 用于设置许可登陆该管理员账户的地址。(”*“为无限制)
  • class : 变更登陆的用户类。

该块可选选项的参数:

  • require-modes 指定一种在允许用户进行管理员操作之前必须获取的模式。
  • maxlogins 这允许限制从该主机进行的并发操作员登录的次数。例如,如果将其设置为1,则随时可以通过此块登陆1个人。
  • vhost 成功操作后,将原有主机名设置为此主机名(虚拟主机)?
  • swhois 别人/whois你的时候,设置显示的额外的行。
  • modes 操作成功后,设置指定的用户模式
  • snomask 设置服务器通知掩码。以控制将收到的服务器通知。详情可参阅(EN)https://www.unrealircd.org/docs/Snomasks

配置完成,进入irc服务器后,可以通过 /oper <账户> <密码> 来获取管理员权限。

配置侦听端口

listen块能够指定irc服务器侦听的端口,默认侦听三个端口,分别是6667(无加密),6697(ssl),6690(ssl,只允许其他服务器连接)。默认能用。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
listen {
      ip <ip>;  //指定允许访问此端口的ip( *是通配)
      port <port>;  //指定开放的端口
      options {  //选项块(可选)
	  ssl;   //启用ssl加密
	  clientsonly;  //端口只适用于客户端
	  serversonly;  //端口只适用于服务端
      };
    ssl-options {  //在此端口单独设置的ssl选项(可选)
      certificate <证书路径>; //指定此端口使用的证书文件
      key <证书密钥路径>;  //指定此端口使用的密钥文件
      };
};

如需要了解更多信息,可以访问这里

结束语

到这里,配置基本上就结束了。其他的配置,默认就好?执行 ./unrealircd configtest,测试通过的话,就可以启动服务器了。

运行

启动服务器

在unrealircd安装路径执行 ./unrealircd start 运行服务器。

重启服务器

在unrealircd安装路径执行 ./unrealircd restart 以重启服务器。

结束语

这个博客写了好几天天来着,大概就是这样子(虽然只是摘抄官方文档)。嗯……如果有人看就好了。大概。

文章作者 crimsonote

上次更新 2019-12-23