تنظیم سرور IRC InspIRCd در اوبونتو 16.04 LTS

چت رله اینترنت (IRC Relay Chat) (IRC) چیزی است که از روزهای اولیه اینترنت وجود داشته است. در این راهنما ، من به شما نشان خواهم داد که چگونه یک سرور IRC را با InspIRCd با Atheme برای خدمات اضافی IRC تنظیم کنید. InspIRCd یکی از معدود سرورهای IRC است که از ابتدا و تنها یکی از معدود سرورهای IRC است تا با استفاده از یک سیستم ماژول پیشرفته ، تعداد قابل تنظیم از ویژگی ها را ارائه دهد.

پیش نیازها

InspIRCd باید با هر اندازه نمونه کار کند. حداقل سیستم مورد نیاز آن یک CPU 700MHz و 300MB RAM است.

سیستم را به روز کنید

هنگام ورود به عنوان کاربر sudo ، می توانید سیستم را با آخرین وضعیت پایدار به شرح زیر به روز کنید:

apt-get update && apt-get upgrade 

پیکربندی فایروال

ابتدا بیایید کمی VPS را سخت کنیم. ما ufwچند قانون را فعال و اضافه خواهیم کرد. بیایید با پیکربندی پورت ها شروع کنیم:

ufw allow 22/tcp
ufw allow 6667/tcp
ufw enable

فایروال یک گفتگو را برای پذیرش تغییرات ایجاد می کند. فقط Yبرای بله فشار دهید

Command may disrupt existing ssh connections. Proceed with operation (y|n)?

InspIRCd را نصب و پیکربندی کنید

بعد می توانیم InspIRCd را نصب کنیم ، برای اوبونتو 16.04 این بسته از طریق مخزن اصلی موجود است.

apt-get install inspircd 

پس از اتمام نصب ، می توانیم پیکربندی سرویس را شروع کنیم. پیکربندی اصلی را می توان در /etc/inspircd/inspircd.confپرونده یافت و دارای طرح یک فایل XML است.

nano /etc/inspircd/inspircd.conf

ابتدا serverبرچسب را جستجو کنید . این برچسب در جایی است که جزئیات سرور / شبکه خود را وارد می کنید ، بیشتر این تنظیمات برای کاربران شما قابل مشاهده است.

  • name: نام میزبان سرور شما. نیازی به حل و فصل نیست بلکه باید نحو صحیحی باشد (مثلاً:) sub.example.net.
  • description: توضیحات سرور.
  • id: SID برای استفاده از این سرور. این نباید بدون توجه باشد ، مگر اینکه درگیری SID رخ دهد. این باید سه شخصیت داشته باشد. شخصیت اول باید یک رقم باشد [0-9] ، دو کاراکتر باقی مانده ممکن است حروف [AZ] یا رقم باشند.
  • network: نام شبکه داده شده در اتصال به مشتری. باید در تمام سرورهای شبکه یکسان باشد و حاوی فضایی نباشد.

در راهنمای ما از موارد زیر استفاده خواهیم کرد:

<server name="irc.example.net"
        description="My EXAMPLE.NET server"
        id="5AA"            
        network="ExampleNET">

برچسب اصلی را با نمونه بالا جایگزین کنید.

بعد ، adminبرچسب را جستجو کنید . این تنظیمات اطلاعات اداری سرور شماست. وقتی /ADMINفرمان را تایپ می کنید ، آنها نشان داده می شوند .

  • name: اسم واقعی
  • nick: نام مستعار (ترجیحاً از آنچه در شبکه استفاده می کنید).
  • email: آدرس ایمیل. لازم نیست که معتبر باشد اما این آدرس شخصی خواهد بود که کاربران شما در صورت بروز مشکل با شما تماس خواهند گرفت.

بیایید از سرپرست استفاده کنیم Xenial:

<admin name="Xenial Xerius"
   nick="xenial"
   email="[email protected]">

اکنون به سمت حرکت کنید bind address. از این برچسب برای باز کردن سرویس استفاده می شود. به طور پیش فرض IP localhost ( 127.0.0.1) را مشاهده خواهید کرد. این بدان معنی است که با جهان خارج نمی توان با این سرویس تماس گرفت. بیایید خدمات خود را با استفاده از هیچ آدرسی باز کنیم. این امر باعث می شود تا سرویس به هر رابط اترنت كه ماشین در اختیار دارد متصل شود:

<bind address="" port="6667" type="clients">

برچسب بعدی برچسب خواهد بود power. این برچسب دو رمز عبور را تعریف می کند.

  • diepass: رمز عبور برای استفاده از اپراتورها در صورت خاموش کردن سرور.
  • restartpass: رمز عبور برای استفاده مجدد در صورت نیاز به راه اندازی مجدد سرور.

بهتر است این رمزهای عبور پیش فرض را تغییر دهید:

<power diepass="die123" restartpass="restart123" pause="2">

آخرین تنظیماتی که تغییر خواهیم کرد operتنظیمات هستند. اینها ورود به سیستم را مشخص می کنند.

  • name: ورود به سیستم اپراتور که برای کار کردن استفاده می شود (مثال:) /oper name password.
  • password: متن بدون لغت و ساده
  • host: چه نامهای میزبان / IP مجاز به کار هستند. گزینه های چندگانه را می توان با فاصله از هم جدا کرد ، و CIDR مجاز است. فقط می توانید از این بخش استفاده کنید *یا @برای این بخش استفاده کنید.
  • type: این نوع عملکرد چیست؟ بلوک بالا باید سه کلاس در حال حاضر تعریف: NetAdmin، GlobalOpو Helper. همان شخصی NetAdminاست که ما از آن استفاده خواهیم کرد.

operبرچسب را با استفاده از مطالب زیر تغییر دهید . توجه داشته باشید که برای مثال ما از @میزبان " " استفاده خواهیم کرد. در یک محیط تولید ، مطلوب نیست که از این موارد استفاده کنید:

<oper name="xenial"
   password="mypassword"
   host="*@*"
   type="NetAdmin">

قبل از شروع مجدد سرویس ، فایلها motdو rulesپرونده ها را ویرایش کنید :

nano /etc/inspircd/inspircd.motd

به عنوان مثال آن را جایگزین کنید:

This is the motd of example.net. Here you can list planned outages or information your users need to know about this IRC server.

در آخر پرونده های قوانین را ویرایش کنید.

nano /etc/inspircd/inspircd.rules

به عنوان مثال قوانین خود را اضافه کنید:

The first rule of Fight Club is: You do not talk about Fight Club. The second rule of Fight Club is: You DO NOT TALK ABOUT FIGHT CLUB! 

اکنون که همه چیز تنظیم شده است ، سرویس IRC را مجدداً راه اندازی کنید:

service inspircd restart

برای تأیید اینکه همه چیز در حال اجرا است ، از netstatابزار پرس و جو کنید:

netstat -tulpn | grep -i inspircd

باید این برنامه را با inspircdگوش دادن به درگاه 6666لیست کند:

tcp6       0      0 :::6667                 :::*                    LISTEN      31313/inspircd
udp        0      0 0.0.0.0:39335           0.0.0.0:*                           31313/inspircd

برای تست سرور می توانیم یک مشتری IRC ترمینال نصب کنیم. در ویندوز می توانید از برنامه ای مانند mIRC استفاده کنید. در مثال ما از weechat استفاده خواهیم کرد. این یک سرویس گیرنده IRC مبتنی بر متن است که می تواند در یک جلسه ترمینال مورد استفاده قرار گیرد.

برنامه weechat را از طریق مخازن نصب کنید:

apt-get install weechat 

پس از نصب این برنامه ، این سرویس دهنده IRC را اجرا کنید:

weechat

برای مشاهده کلیه دستورات ارائه شده از weechat ، می توانید دستور راهنما درخواست کنید:

/help

برای خروج از weechat می توانید دستور زیر را تایپ کنید:

/quit    

سرور محلی ما را به یک اتصال در weechat اضافه کنید:

/server add local localhost

اکنون می توانیم به پروفایل اتصال به نام "محلی" وصل شویم:

/connect local

در پنجره ترمینال ظاهر می شوید modd و قوانین ما ظاهر می شوند.

برای ارتقاء خود به یک اپراتور ، موارد زیر را تایپ کنید:

/oper xenial mypassword

این به ما اثبات موفقیت را نشان می دهد:

22:40:34   local  -- | User mode [+o] by irc.example.net
22:40:34   local  -- | You are now a NetAdmin

این مربوط به سرور IRC ما است.

نصب خدمات IRC - Atheme

Atheme مجموعه ای از خدمات برای شبکه های IRC است که برای شبکه های بزرگ IRC با نیاز مقیاس پذیری بالا طراحی شده است. خدمات اضافی مانند NickServ (ثبت نام مستعار) را به شبکه IRC شما اضافه می کند.

Atheme را می توان در مخزن اوبونتو یافت:

apt-get install atheme-services

پس از نصب باینری ها ، پرونده پیکربندی نمونه را استخراج کرده و آن را در athemeپوشه کپی کنید:

gunzip /usr/share/doc/atheme-services/examples/atheme.conf.example.gz
cp /usr/share/doc/atheme-services/examples/atheme.conf.example /etc/atheme/atheme.conf

بعد ، این پرونده پیکربندی را ویرایش کنید:

nano /etc/atheme/atheme.conf

ابتدا loadmoduleدستور پروتکل را جستجو کنید. این باید به شرح زیر تعریف شود:

loadmodule "modules/protocol/charybdis";

charybdisبا پروتکل جایگزین کنید inspircd:

loadmodule "modules/protocol/inspircd12";

جستجوی بعدی سرویس name:

name = "services.int";

تغییر services.intبرای مطابقت با نام دامنه یا آدرس IP سرور IRC خود قرار دهید:

name = "services.irc.example.net";

پس از انجام این کار ، شماره را جستجو کنید:

numeric = "00A";

اکنون آن را به مقداری متفاوت از عددی استفاده شده در برچسب سرور مورد استفاده قبلی تغییر دهید.

numeric = "77C";

پس از اتمام این کار ، اجازه دهید نام شبکه را پیکربندی کنیم. جستجو برای netname:

netname = "misconfigured network";

این مقدار را در پارامتر شبکه در برچسب سرور تغییر دهید.

netname = "ExampleNET";

مقدار مقدار را تغییر دهید hidehostsuffix:

hidehostsuffix = "users.misconfigured";

حذف موارد زیر .misconfigured:

hidehostsuffix = "users";

بعد نام سرپرست را به نام قبلی خود استفاده کنید:

adminname = "xenial";

مطابقت adminemailبا ایمیل همراه قبلی استفاده شده:

adminemail = "[email protected]";

اکنون که این کار انجام شده است ، ما باید سرویس های خود را ایجاد کنیم. دو uplinkبلوک کد را پیدا کنید و درباره همه آنها نظر دهید. اضافه کردن /*قبل از uplink{دستور و */در پایان بند بسته شدن.

مانند زیر خواهد بود:

/* this is an example for using an IPv6 address as an uplink */
/*
uplink "irc6.example.net" {
        host = "::1";
        password = "linkage";
        port = 6667;
};
*/

در مرحله بعد ، ما را به هم وصل کنیم. این uplink فقط بر روی IP localhost ما و در پورت اجرا می شود 7001. رمزعبور فوق العاده مخفی را مشخص کنید (بعداً از آن استفاده خواهیم کرد):

uplink "services.irc.example.net" {
    host = "127.0.0.1";

    // password
    // If you want to have same send_password and accept_password, you
    // can specify both using 'password' instead of individually.
    password = "SuperSecret123456";

    port = 7001;
 };

در آخر تعاریف خدمات ما را جستجو کنید. ابتدا با nickservبلوک شروع کنید .

در بلوک nickserv ، hostبرچسب را جستجو کرده و آنرا تغییر دهید ExampleNet/services/NickServ:

nickserv {

    ...<<truncated>>...

    /* (*)host
     * The hostname we want NickServ to have.
     */
    host = "ExampleNet/services/NickServ";

    /* (*)real
     * The realname (gecos) information we want NickServ to have.
     */
    real = "Nickname Services";

    ...<<truncated>>...

تغییر hostname tagبرای همه از سایر خدمات و همچنین:

nickserv:  ExampleNet/services/NickServ
chanserv:  ExampleNet/services/ChanServ
global:    ExampleNet/services/Global
infoserv:  ExampleNet/services/InfoServ
operserv:  ExampleNet/services/OperServ
saslserv:  ExampleNet/services/SaslServ
memoserv:  ExampleNet/services/MemoServ
gameserv:  ExampleNet/services/GameServ
botserv:   ExampleNet/services/BotServ
groupserv: ExampleNet/services/GroupServ
hostserv:  ExampleNet/services/HostServ
helpserv:  ExampleNet/services/HelpServ
alis:      ExampleNet/services/ALIS

پس از اتمام این کار ، پرونده پیکربندی را ذخیره و ترک کنید.

برای آزمایش همه این موارد ، atheme-servicesباینری را اجرا کنید :

atheme-services

این دقیقاً باید به شما بگوید که کار می کند یا نه. اگر خروجی را مانند آنچه در زیر نشان داده نشده است دریافت کنید ، به عقب برگردید و هرگونه خطایی را در پرونده پیکربندی بررسی کنید:

[19/02/2018 23:06:24] db-open-read: database '/var/lib/atheme/services.db' does not yet exist; a new one will be created.
[19/02/2018 23:06:24] pid 1929
[19/02/2018 23:06:24] running in background mode from /

اکنون سرویس را با ویرایش پرونده خدمات فعال کنید:

nano /etc/default/atheme-services

تغییر ENABLEDمقدار:

DAEMON_OPTS=""
ENABLED=1

اکنون می توانیم خدمات را شروع کنیم:

service atheme-services restart

وضعیت آن را بررسی کنید:

service atheme-services status

این نتایج مشابه را برمی گرداند:

● atheme-services.service - LSB: Atheme-services daemon init.d script
   Loaded: loaded (/etc/init.d/atheme-services; bad; vendor preset: enabled)
   Active: active (running) since Wed 2018-02-19 23:45:05 UTC; 8s ago
     Docs: man:systemd-sysv-generator(8)

Feb 19 23:45:05 vultr.guest atheme-services[2810]: Starting Atheme IRC Services: atheme-service
Feb 19 23:45:05 vultr.guest atheme-services[2810]: [19/02/2018 23:45:05] atheme 6.0.11 is start
Feb 19 23:45:05 vultr.guest atheme-services[2810]: [19/02/2018 23:45:05] Module operserv/sgline
Feb 19 23:45:05 vultr.guest atheme-services[2810]: [19/02/2018 23:45:05] module_load(): module
Feb 19 23:45:05 vultr.guest atheme-services[2810]: [19/02/2018 23:45:05] /etc/atheme/atheme.con
Feb 19 23:45:05 vultr.guest atheme-services[2810]: [19/02/2018 23:45:05] db-open-read: database
Feb 19 23:45:05 vultr.guest atheme-services[2810]: [19/02/2018 23:45:05] pid 2824
Feb 19 23:45:05 vultr.guest atheme-services[2810]: [19/02/2018 23:45:05] running in background
Feb 19 23:45:05 vultr.guest atheme-services[2810]: .
Feb 19 23:45:05 vultr.guest systemd[1]: Started LSB: Atheme-services daemon init.d script.

قبل از اتمام ، باید خدمات Atheme خود را به InspIRCd اضافه کنیم:

nano /etc/inspircd/inspircd.conf

در پایان فایل این خطوط را اضافه کنید:

<bind address="127.0.0.1" port="7001" type="servers">

<uline server="services.irc.example.net">

<link name="services.irc.example.net"
  ipaddr="127.0.0.1"
  port="7001"
  allowmask="127.0.0.1"
  sendpass="SuperSecret123456"
  recvpass="SuperSecret123456">

<chanprotect noservices="no"
         qprefix="~"
         aprefix="&">

# Modules needed for services to function
<module name="m_chanprotect.so">
<module name="m_halfop.so">
<module name="m_services_account.so">
<module name="m_deaf.so">
<module name="m_spanningtree.so">
<module name="m_globops.so">
<module name="m_cban.so">
<module name="m_svshold.so">
<module name="m_hidechans.so">
<module name="m_servprotect.so">
<module name="m_chghost.so">
<module name="m_namesx.so">
<module name="m_uhnames.so">    

اکنون سرویس InspIRCd را مجدداً راه اندازی کنید:

service inspircd restart

اطمینان حاصل کنید که همه چیز خوب است:

service inspircd status

اکنون مشتری weechat ما را دوباره شروع کنید:

weechat

اتصال به سرور محلی ما:

/connect local

بلافاصله یکی از خدمات Atheme ما ظاهر می شود: NickServ. این شما را با اطلاعاتی در مورد خودش استقبال می کند.

23:12:48   local  -- | NickServ (NickServ@ExampleNet/services/NickServ): Welcome to ExampleNet,
                 | root! Here on ExampleNet, we provide services to enable the registration of
                 | nicknames and channels! For details, type /msg NickServ help and /msg
                 | ChanServ help.

می توانید NickServ را پرس و جو کرده و دستورات موجود را با موارد زیر پیدا کنید:

/msg NickServ help


Leave a Comment

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد