Изучение 26 методов анализа больших данных: часть 1
Изучение 26 методов анализа больших данных: часть 1
Internet Relay Chat (IRC) - это то, что существует с первых дней существования Интернета. В этом руководстве я покажу вам, как настроить IRC-сервер с InspIRCd с Atheme для дополнительных IRC-сервисов. InspIRCd - это один из немногих IRC-серверов, написанных с нуля, и один из немногих IRC-серверов, обеспечивающих настраиваемое количество функций за счет использования усовершенствованной модульной системы.
InspIRCd должен работать с любым размером экземпляра. Минимальные системные требования: процессор 700 МГц и оперативная память 300 МБ.
Входя в систему как пользователь 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, для Ubuntu 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-адрес ( 127.0.0.1
). Это означает, что сервис не может связаться с внешним миром. Давайте откроем наш сервис, не используя адреса вообще. Это приведет к привязке службы к любому интерфейсу Ethernet, которым владеет машина:
<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 терминала. В Windows вы можете использовать такую программу, как mIRC. В нашем примере мы будем использовать weechat. Это текстовый IRC-клиент, который можно использовать в терминальной сессии.
Установите приложение weechat через репозитории:
apt-get install weechat
После установки этого приложения запустите этот IRC-клиент:
weechat
Чтобы просмотреть все команды, которые может предложить weechat, вы можете запросить команду справки:
/help
Чтобы выйти из выходного дня, вы можете набрать следующую команду:
/quit
Добавьте наш локальный сервер к соединению в выходные дни:
/server add local localhost
Теперь мы можем подключиться к профилю подключения с именем «local»:
/connect local
Вы увидите наш MOTD и правила, всплывающие в окне терминала.
Чтобы рекламировать себя для оператора, введите следующее:
/oper xenial mypassword
Это покажет нам подтверждение успеха:
22:40:34 local -- | User mode [+o] by irc.example.net
22:40:34 local -- | You are now a NetAdmin
Вот и все для нашего IRC-сервера.
Atheme - это набор услуг для сетей IRC, предназначенных для больших сетей IRC с высокими требованиями к масштабируемости. Он добавляет дополнительные сервисы, такие как NickServ (регистрация никнейма) в вашу IRC-сеть.
Atheme можно найти в хранилище Ubuntu:
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. Этот 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
Подключитесь к нашему локальному серверу:
/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
Изучение 26 методов анализа больших данных: часть 1
Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.
Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.
Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.
Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.
CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?
По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.
Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!
Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.
Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше