Funkcjonalności warstw architektury referencyjnej Big Data
Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.
Internet Relay Chat (IRC) to coś, co istnieje od pierwszych dni Internetu. W tym przewodniku pokażę, jak skonfigurować serwer IRC z InspIRCd z Atheme dla dodatkowych usług IRC. InspIRCd jest jednym z niewielu serwerów IRC napisanych od podstaw i jednym z niewielu serwerów IRC, które zapewniają dostrojoną liczbę funkcji dzięki zastosowaniu zaawansowanego systemu modułów.
InspIRCd powinien działać z dowolnym rozmiarem instancji. Minimalne wymagania systemowe to procesor 700 MHz i 300 MB pamięci RAM.
Logując się jako użytkownik sudo, możesz zaktualizować system do najnowszej stabilnej wersji w następujący sposób:
apt-get update && apt-get upgrade
Najpierw trochę zahartujmy VPS. Włączymy ufw
i dodamy kilka reguł. Zacznijmy od konfiguracji portów:
ufw allow 22/tcp
ufw allow 6667/tcp
ufw enable
Zapora wyświetli okno dialogowe z prośbą o zaakceptowanie zmian. Naciśnij po prostu Ytak.
Command may disrupt existing ssh connections. Proceed with operation (y|n)?
Następnie możemy zainstalować InspIRCd, dla Ubuntu 16.04 pakiet ten jest dostępny za pośrednictwem głównego repozytorium.
apt-get install inspircd
Po zakończeniu instalacji możemy rozpocząć konfigurowanie usługi. Główna konfiguracja znajduje się w /etc/inspircd/inspircd.conf
pliku i ma układ pliku XML.
nano /etc/inspircd/inspircd.conf
Najpierw wyszukaj server
tag. W tym tagu wpisujesz szczegóły swojego serwera / sieci, większość z tych ustawień jest widoczna dla użytkowników.
name
: Nazwa hosta twojego serwera. Nie trzeba go rozstrzygać, ale musi mieć poprawną składnię (np sub.example.net
.:).description
: Opis serwera. id
: SID do użycia dla tego serwera. Nie należy tego lekceważyć, chyba że wystąpi konflikt SID. Musi to być trzy znaki. Pierwszy znak musi być cyfrą [0–9], pozostałe dwa znaki mogą być literami [AZ] lub cyframi.network
: Nazwa sieci podana przy połączeniu z klientami. Powinien być taki sam na wszystkich serwerach w sieci i nie może zawierać spacji.W naszym przewodniku będziemy używać następujących elementów:
<server name="irc.example.net"
description="My EXAMPLE.NET server"
id="5AA"
network="ExampleNET">
Zastąp oryginalny tag powyższym.
Następnie wyszukaj admin
tag. Te ustawienia są danymi administracyjnymi twojego serwera. Są wyświetlane po wpisaniu /ADMIN
polecenia.
name
: Prawdziwe imięnick
: Pseudonim (najlepiej to, czego używasz w sieci).email
: adres e-mail. Nie musi być prawidłowy, ale ten adres będzie adresem, pod którym użytkownicy powinni się z Tobą skontaktować w razie problemów.Użyjmy administratora Xenial
:
<admin name="Xenial Xerius"
nick="xenial"
email="[email protected]">
Teraz przejdź do bind address
. Ten tag służy do otwierania usługi. Domyślnie zobaczysz adres IP hosta lokalnego ( 127.0.0.1
). Oznacza to, że świat nie może skontaktować się z usługą. Otwórzmy naszą usługę, nie używając w ogóle żadnego adresu. Spowoduje to powiązanie usługi z dowolnym interfejsem Ethernet posiadanym przez maszynę:
<bind address="" port="6667" type="clients">
Następnym tagiem będzie power
tag. Ten znacznik definiuje dwa hasła.
diepass
: Hasło dla operatorów do użycia, jeśli chcą zamknąć serwer.restartpass
: Hasło dla operatorów, których należy użyć, jeśli muszą zrestartować serwer.Najlepiej zmienić te domyślne hasła:
<power diepass="die123" restartpass="restart123" pause="2">
Ostatnie ustawienia, które zmienimy, to oper
ustawienia. Definiują one loginy operatora.
name
: login operatora używany do uruchomienia (Przykład:) /oper name password
.password
: nieszyfrowany i zwykły teksthost
: Jakie nazwy hostów / adresy IP mogą działać. Wiele opcji można oddzielić spacjami, a CIDR są dozwolone. Możesz po prostu użyć *
lub @
do tej sekcji.type
: Jaki to typ operacji. Blok powinien mieć trzy klasy wyżej już zdefiniowane: NetAdmin
, GlobalOp
i Helper
. Tego NetAdmin
użyjemy.Zmień oper
tag, używając następującej treści. Pamiętaj, że w naszym przykładzie użyjemy „ @
” dla hosta. W środowisku produkcyjnym nie jest pożądane użycie tego:
<oper name="xenial"
password="mypassword"
host="*@*"
type="NetAdmin">
Przed ponownym uruchomieniem usługi dokonaj edycji plików motd
i rules
:
nano /etc/inspircd/inspircd.motd
Zamień go na własny, na przykład:
This is the motd of example.net. Here you can list planned outages or information your users need to know about this IRC server.
Na koniec edytuj pliki reguł.
nano /etc/inspircd/inspircd.rules
Dodaj własne reguły, na przykład:
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!
Teraz, gdy wszystko jest skonfigurowane, uruchom ponownie usługę IRC:
service inspircd restart
Aby sprawdzić, czy wszystko działa, przeszukaj netstat
narzędzie:
netstat -tulpn | grep -i inspircd
Powinien wyświetlić program inspircd
, nasłuchując na porcie 6666
:
tcp6 0 0 :::6667 :::* LISTEN 31313/inspircd
udp 0 0 0.0.0.0:39335 0.0.0.0:* 31313/inspircd
Aby przetestować serwer, możemy zainstalować terminalowego klienta IRC. W systemie Windows możesz użyć programu takiego jak mIRC. W naszym przykładzie użyjemy weechat. Jest to klient IRC oparty na tekście, którego można używać w sesji terminalowej.
Zainstaluj aplikację weechat poprzez repozytoria:
apt-get install weechat
Po zainstalowaniu tej aplikacji uruchom tego klienta IRC:
weechat
Aby wyświetlić wszystkie polecenia oferowane przez Weechat, możesz poprosić o polecenie pomocy:
/help
Aby wyjść z Weechat, możesz wpisać następujące polecenie:
/quit
Dodaj nasz lokalny serwer do połączenia weechat:
/server add local localhost
Teraz możemy połączyć się z profilem połączenia o nazwie „lokalny”:
/connect local
Zobaczysz nasze motd i zasady wyskakujące w oknie terminala.
Aby awansować na operatora, wpisz następujące polecenie:
/oper xenial mypassword
To pokaże nam potwierdzenie sukcesu:
22:40:34 local -- | User mode [+o] by irc.example.net
22:40:34 local -- | You are now a NetAdmin
To wszystko dla naszego serwera IRC.
Atheme to zestaw usług dla sieci IRC przeznaczony dla dużych sieci IRC o wysokich wymaganiach dotyczących skalowalności. Dodaje dodatkowe usługi, takie jak NickServ (Rejestracja pseudonimów) do sieci IRC.
Atheme można znaleźć w repozytorium Ubuntu:
apt-get install atheme-services
Po zainstalowaniu plików binarnych wyodrębnij przykładowy plik konfiguracyjny i skopiuj go do atheme
folderu:
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
Następnie edytuj ten plik konfiguracyjny:
nano /etc/atheme/atheme.conf
Najpierw wyszukaj loadmodule
polecenie protokołu. Należy to zdefiniować w następujący sposób:
loadmodule "modules/protocol/charybdis";
Zamień charybdis
na protokół inspircd
:
loadmodule "modules/protocol/inspircd12";
Następnie wyszukaj usługę name
:
name = "services.int";
Zmień, services.int
aby pasowała do nazwy domeny lub adresu IP serwera IRC:
name = "services.irc.example.net";
Po wykonaniu tej czynności wyszukaj numer:
numeric = "00A";
Teraz zmień wartość na inną niż wartość liczbowa używana w znaczniku serwera używanym wcześniej.
numeric = "77C";
Po wykonaniu tej czynności skonfigurujmy nazwę sieci. Wyszukaj netname
:
netname = "misconfigured network";
Zmień tę wartość na parametr sieci w znaczniku serwera.
netname = "ExampleNET";
Zmień wartość hidehostsuffix
:
hidehostsuffix = "users.misconfigured";
Usuń .misconfigured
:
hidehostsuffix = "users";
Następnie zmień nazwę administratora na poprzednią:
adminname = "xenial";
Dopasuj adminemail
do powiązanego adresu e-mail używanego wcześniej:
adminemail = "[email protected]";
Po wykonaniu tej czynności musimy utworzyć łącze zwrotne dla naszych usług. Znajdź dwa uplink
bloki kodu i skomentuj je wszystkie. Dodaj /*
przed uplink{
poleceniem i */
na końcu zamykającego nawiasu klamrowego.
Będzie to wyglądać następująco:
/* this is an example for using an IPv6 address as an uplink */
/*
uplink "irc6.example.net" {
host = "::1";
password = "linkage";
port = 6667;
};
*/
Następnie dodaj własne łącze ładujące. To łącze w górę będzie działać tylko na adresie IP naszego lokalnego hosta i na porcie 7001
. Podaj super tajne hasło (będziemy go później używać):
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;
};
Na koniec wyszukaj nasze definicje usług. nickserv
Najpierw zacznij od bloku.
W bloku nickserv wyszukaj host
tag i zmień go na 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>>...
Zmień również hostname tag
dla wszystkich innych usług:
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
Po zakończeniu zapisz i zamknij plik konfiguracyjny.
Aby to przetestować, uruchom atheme-services
plik binarny:
atheme-services
To powinno ci powiedzieć dokładnie, czy to działa, czy nie. Jeśli nie otrzymujesz danych wyjściowych, jak pokazano poniżej, wróć i sprawdź, czy nie ma błędów w pliku konfiguracyjnym:
[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 /
Teraz włącz usługę, edytując plik usług:
nano /etc/default/atheme-services
Zmień ENABLED
wartość:
DAEMON_OPTS=""
ENABLED=1
Teraz możemy uruchomić usługę:
service atheme-services restart
Sprawdź jego status:
service atheme-services status
Zwróci to podobne wyniki:
● 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.
Zanim skończymy, musimy dodać nasze usługi Atheme do InspIRCd:
nano /etc/inspircd/inspircd.conf
Na końcu pliku dodaj następujące wiersze:
<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">
Teraz uruchom ponownie usługę InspIRCd:
service inspircd restart
Upewnij się, że wszystko działa poprawnie:
service inspircd status
Teraz uruchom ponownie naszego klienta Weechat:
weechat
Połącz się z naszym lokalnym serwerem:
/connect local
Natychmiast zobaczysz jedną z naszych usług Atheme: NickServ. Powita Cię informacjami o sobie.
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.
Możesz wysłać zapytanie do NickServ i znaleźć dostępne polecenia za pomocą:
/msg NickServ help
Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.
Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.
13 komercyjnych narzędzi do ekstrakcji danych z Big Data
Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+
Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.
Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…
Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą
Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.
Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.
Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.