UnrealIRCd Sohbet Sunucusu Debian 7 Üzerinde Nasıl Çalıştırılır?
Giriş: IRC ve UnrealIRCd’nin Yeri
İnternet Relay Chat (IRC), internetin ilk gerçek zamanlı iletişim protokollerinden biri olup, on yıllardır süregelen popülerliğini korumuştur. Metin tabanlı sohbet odaları (kanallar) ve birebir mesajlaşma imkanları sunan IRC, özellikle teknik topluluklar, açık kaynak geliştiricileri ve belirli ilgi alanlarına sahip gruplar arasında hala yaygın olarak kullanılmaktadır. Günümüzün modern mesajlaşma uygulamalarına kıyasla daha hafif, özelleştirilebilir ve gizliliğe odaklı bir alternatif sunar.
IRC sunucusu yazılımları arasında UnrealIRCd, geniş özellikleri, kararlılığı ve esnek yapılandırma seçenekleri sayesinde öne çıkan bir tercihtir. Modüler yapısı, gelişmiş güvenlik önlemleri ve kullanıcı dostu yapılandırma imkanları ile hem küçük özel sohbet ağlarından hem de büyük, halka açık IRC ağlarından gelen ihtiyaçları karşılayabilir. Bu makalede, UnrealIRCd sohbet sunucusunu eski ancak hala birçok ortamda karşılaşılabilecek olan Debian 7 “Wheezy” işletim sistemi üzerinde adım adım nasıl kuracağınızı, yapılandıracağınızı ve yöneteceğinizi detaylı bir şekilde açıklayacağız. Debian 7, güncel bir işletim sistemi olmasa da, belirli eski sistemlerin veya özel proje gereksinimlerinin bir parçası olarak bu platformda kurulum yapma ihtiyacı doğabilir. Bu nedenle, bu makale, o dönemin sistem gereksinimleri ve yazılım versiyonları göz önünde bulundurularak hazırlanmıştır.
Ön Hazırlıklar: Debian 7 Ortamının Kurulum İçin Hazırlanması
UnrealIRCd kurulumuna başlamadan önce, Debian 7 sunucunuzun gerekli yazılımlara ve yapılandırmalara sahip olduğundan emin olmalıyız. Bu bölüm, temel sistem güncellemelerinden gerekli derleme araçlarının kurulmasına kadar olan adımları kapsar.
Sunucu Erişimi ve Temel Yetkiler
Öncelikle, Debian 7 sunucunuza SSH aracılığıyla erişim sağlamanız gerekmektedir. Kurulum için root kullanıcısı veya sudo yetkilerine sahip bir kullanıcı olmanız şarttır.
ssh kullanici_adi@sunucu_ip_adresi
Sistem Güncellemesi
Debian 7, eski bir sürüm olmasına rağmen, mevcut paket listelerini güncellemek ve kurulu paketleri en son kararlı sürümlerine yükseltmek iyi bir uygulamadır. Bu, potansiyel güvenlik açıklarını kapatmaya ve bağımlılık sorunlarını önlemeye yardımcı olabilir.
sudo apt-get update
sudo apt-get upgrade
Gerekli Paketlerin Kurulumu
UnrealIRCd’yi kaynak koddan derlemek için bazı temel geliştirme araçlarına ve kütüphanelere ihtiyacımız olacaktır. Özellikle SSL/TLS desteği için OpenSSL geliştirme kütüphaneleri önemlidir.
sudo apt-get install build-essential gcc make perl libssl-dev libc6-dev zlib1g-dev
* build-essential: Derleme için gerekli temel paketleri (gcc, g++, make vb.) içerir.
* gcc: GNU C Derleyicisi.
* make: Derleme işlemlerini yönetmek için kullanılır.
* perl: UnrealIRCd’nin bazı script’leri Perl kullanır.
* libssl-dev: SSL/TLS desteği için OpenSSL geliştirme kütüphaneleri. Bu, sunucunuzun güvenli (SSL/TLS şifreli) bağlantıları kabul etmesini sağlar.
* libc6-dev: GNU C kütüphanesinin geliştirme dosyaları.
* zlib1g-dev: Zlib sıkıştırma kütüphanesinin geliştirme dosyaları.
IRCd Kullanıcısı Oluşturma
Güvenlik açısından, IRC sunucusunu root kullanıcısı yerine ayrıcalıksız bir kullanıcı altında çalıştırmak her zaman önerilir. Bu, olası bir güvenlik açığının sistemin tamamına yayılmasını engeller.
sudo adduser --system --group --home /opt/unrealircd ircd
Bu komut, ircd adında bir sistem kullanıcısı ve grubu oluşturur ve ana dizinini /opt/unrealircd olarak ayarlar. UnrealIRCd’yi bu dizine kuracağız.
UnrealIRCd İndirme ve Derleme
Şimdi sıra UnrealIRCd kaynak kodunu indirmeye ve derlemeye geldi. Debian 7 gibi eski bir sistemde, en son UnrealIRCd sürümleri (örneğin 6.x) derleme sorunları çıkarabilir. Bu nedenle, daha eski ve Debian 7’nin paketleriyle daha uyumlu bir sürüm seçmek daha mantıklı olacaktır. UnrealIRCd 3.2.10 veya 4.x serisi, bu tür bir ortam için genellikle daha uygun seçeneklerdir. Bu makalede, geniş uyumluluğu nedeniyle 3.2.10 sürümünü kullanacağız.
Kaynak Kodunu İndirme
ircd kullanıcısına geçiş yapın ve UnrealIRCd’nin ana dizinine gidin. Ardından, kaynak kodunu indirin.
sudo su - ircd
cd /opt/unrealircd
wget https://www.unrealircd.org/downloads/Unreal3.2.10.tar.gz
Eğer wget kurulu değilse, sudo apt-get install wget komutu ile kurabilirsiniz. https://www.unrealircd.org/downloads/ adresindeki en güncel 3.2.x veya 4.x sürümünü kontrol etmekte fayda var.
Kaynak Kodunu Çıkarma
İndirdiğiniz tar.gz dosyasını çıkarın.
tar -zxvf Unreal3.2.10.tar.gz
cd Unreal3.2.10
UnrealIRCd’yi Yapılandırma ve Derleme
Şimdi derleme sürecini başlatabiliriz. configure script’i, UnrealIRCd’nin sisteminize ve ihtiyaçlarınıza göre nasıl derleneceğini belirler.
./Config
Config komutunu çalıştırdığınızda, size bir dizi soru sorulacaktır. Bu sorulara genellikle varsayılan cevapları (Enter tuşuna basarak) verebilirsiniz, ancak bazı önemli noktalara dikkat etmek gerekir:
* SSL/TLS Desteği: “Do you want to enable SSL?” sorusuna yes (evet) cevabını verin. Bu, güvenli bağlantılar için kritik öneme sahiptir.
* Servisler (Services): Eğer NickServ, ChanServ gibi servisler çalıştırmayı düşünüyorsanız (ki bu genellikle tavsiye edilir), “Do you want to include support for services?” sorusuna yes cevabını verebilirsiniz.
* Modüller: UnrealIRCd modüler bir yapıya sahiptir. İhtiyaç duyduğunuz ek özellikleri etkinleştirebilirsiniz. Şimdilik varsayılan modüllerle devam edebiliriz.
* Kurulum Dizini: Varsayılan olarak /home/ircd/unrealircd veya /opt/unrealircd/Unreal3.2.10 gibi bir dizin önerecektir. Biz zaten /opt/unrealircd altında çalıştığımız için, bu dizin uygun olacaktır.
* Diğer Seçenekler: IPv6 desteği, transparan mod gibi diğer seçenekleri ihtiyaçlarınıza göre ayarlayabilirsiniz.
Config işlemi tamamlandıktan sonra, derleme ve kurulum adımlarına geçebiliriz:
make
make install
make komutu, kaynak kodunu derler. Bu işlem sunucunuzun işlem gücüne bağlı olarak biraz zaman alabilir. make install komutu ise derlenen dosyaları uygun dizinlere kopyalar ve UnrealIRCd’yi kullanıma hazır hale getirir.
Kurulum tamamlandığında, UnrealIRCd’nin ana dizini genellikle /opt/unrealircd/Unreal3.2.10 altında olacaktır. Ancak make install işlemi sırasında belirtilen prefix ayarına göre değişebilir.
UnrealIRCd Yapılandırması (unrealircd.conf)
UnrealIRCd’nin kalbi, unrealircd.conf yapılandırma dosyasıdır. Bu dosya, sunucunuzun adından bağlantı noktalarına, operatör yetkilerinden kanal ayarlarına kadar her şeyi tanımlar. Yapılandırma dosyasının bir örneği genellikle example.conf veya unrealircd.conf.example adıyla kurulum dizininde bulunur. Bunu kopyalayarak düzenlemeye başlayabiliriz.
cd /opt/unrealircd/Unreal3.2.10/
cp doc/example.conf unrealircd.conf
nano unrealircd.conf
Aşağıda, unrealircd.conf dosyasındaki temel ve en önemli blokların bir açıklaması ve örnekleri bulunmaktadır.
Genel Ayarlar (set, me, admin)
* set bloğu: Sunucunuzun genel adını, ağ adını ve çeşitli global seçenekleri tanımlar.
set {
network-name "My Awesome IRC Network"; // IRC ağınızın adı
default-server "irc.example.com"; // Varsayılan sunucu adı (DNS kaydı ile eşleşmeli)
modes "+i +o +k +t +n +s +m +p +r +a +b +c +d +f +g +h +j +l +q +r +s +t +u +v +w +x +y +z"; // Sunucu genelinde izin verilen modlar
options {
hide-ulines; // U-line'ları gizler
ssl-only-for-secure-ports; // Sadece güvenli portlar için SSL zorunluluğu
cloak-host; // Kullanıcı hostlarını gizler
}
}
* me bloğu: Bu belirli sunucunun kendi kimliğini tanımlar.
me {
name "irc.example.com"; // Sunucunun tam adı (FQDN)
info "My Awesome IRC Server"; // Sunucu hakkında kısa bilgi
numeric "1"; // Sunucunun sayısal kimliği (benzersiz olmalı)
};
* admin bloğu: Sunucu yöneticilerinin bilgilerini tanımlar.
admin {
"Your Name";
"your@email.com";
"Your City, Your Country";
};
Dinleme Portları (listen)
listen bloğu, UnrealIRCd’nin hangi IP adresleri ve portlar üzerinden bağlantıları kabul edeceğini belirtir. Hem güvenli (SSL/TLS) hem de güvensiz bağlantılar için portlar tanımlayabilirsiniz.
listen {
ip *;
port 6667; // Standart IRC portu (güvensiz)
};
listen {
ip *;
port 6697; // Standart IRC SSL/TLS portu (güvenli)
flags { ssl; };
};
ip : Tüm mevcut IP adresleri üzerinden dinle. Belirli bir IP adresi de belirtebilirsiniz.
* port: Dinlenecek port numarası.
* flags { ssl; }: Bu portun SSL/TLS bağlantıları için olduğunu belirtir.
SSL Sertifikası Ayarları
SSL/TLS bağlantıları için bir sertifika ve özel anahtar gereklidir. Test amaçlı olarak kendinden imzalı bir sertifika oluşturabilirsiniz. Üretim ortamları için Let’s Encrypt gibi bir CA’dan alınan geçerli bir sertifika kullanmanız şiddetle tavsiye edilir.
Kendinden İmzalı Sertifika Oluşturma (Test Amaçlı):
UnrealIRCd dizininde (örneğin /opt/unrealircd/Unreal3.2.10) aşağıdaki komutlarla sertifika oluşturabilirsiniz:
cd /opt/unrealircd/Unreal3.2.10/
openssl genrsa -out ssl/server.key 2048
openssl req -new -x509 -days 365 -key ssl/server.key -out ssl/server.crt
Sorulan soruları (ülke, şehir, organizasyon adı vb.) doldurun. “Common Name” (Ortak Ad) alanına sunucunuzun tam alan adını (FQDN) girmeniz önemlidir (örneğin irc.example.com).
unrealircd.conf dosyasında bu sertifikayı belirtin:
ssl {
certfile "ssl/server.crt";
keyfile "ssl/server.key";
};
Önemli: /opt/unrealircd/Unreal3.2.10/ssl dizini yoksa, mkdir ssl komutuyla oluşturmanız gerekebilir. Ayrıca, bu dosyaların sadece ircd kullanıcısı tarafından okunabilir olduğundan emin olun.
Operatör Tanımları (oper)
IRC ağınızda operatör (oper) olmak için kullanıcı adı ve parola tanımlamanız gerekir. Operatörler, kanalları yönetme, kullanıcıları yasaklama, sunucu ayarlarını değiştirme gibi yetkilere sahiptir.
oper your_oper_nick {
class clients;
from {
ip *; // Her yerden bağlanabilir
};
password "your_oper_password"; // Güçlü bir parola kullanın
flags {
netadmin; // Ağ yöneticisi yetkileri
can_restart; // Sunucuyu yeniden başlatabilir
can_rehash; // Yapılandırmayı yeniden yükleyebilir
global; // Tüm ağ üzerinde yetki
};
};
* your_oper_nick: Operatör olarak bağlanacağınız takma ad.
* password: Operatör parolanız. Bu parolayı IRC istemcinizden /oper your_oper_nick your_oper_password komutu ile kullanacaksınız.
Bağlantı Ayarları (link)
Eğer birden fazla UnrealIRCd sunucusunu birbirine bağlayarak bir IRC ağı oluşturmak istiyorsanız, link bloklarını kullanırsınız. Bu makale tek bir sunucu kurulumuna odaklandığı için bu bölümü atlayabiliriz, ancak gelecekteki genişlemeler için bilmekte fayda var.
Diğer Önemli Bloklar
* allow bloğu: Hangi IP adreslerinin veya hostmask’ların sunucuya bağlanabileceğini kontrol eder. Varsayılan olarak her şeye izin verilir.
* deny bloğu: Belirli IP adreslerinin veya hostmask’ların sunucuya bağlanmasını engeller. DDoS saldırıları veya istenmeyen kullanıcılar için kullanışlıdır.
* chan bloğu: Varsayılan kanal ayarlarını (modlar, yasaklar vb.) tanımlar.
Yapılandırma dosyasını kaydettikten sonra (nano’da Ctrl+X, Y, Enter), bir sonraki adıma geçebiliriz.
UnrealIRCd Başlatma ve Yönetme
Yapılandırma dosyamız hazır olduğuna göre, UnrealIRCd sunucusunu başlatabilir ve yönetebiliriz.
Yapılandırma Testi
Sunucuyu başlatmadan önce yapılandırma dosyanızda hata olup olmadığını kontrol etmek iyi bir fikirdir.
cd /opt/unrealircd/Unreal3.2.10/
./unrealircd checkconf
Eğer herhangi bir hata yoksa, “Configuration file is valid” (Yapılandırma dosyası geçerli) mesajını görmelisiniz. Hatalar varsa, unrealircd.conf dosyanızı kontrol edip düzeltmeniz gerekir.
UnrealIRCd’yi Başlatma
Sunucuyu basitçe başlatmak için:
./unrealircd start
Bu komut, UnrealIRCd’yi bir arka plan süreci olarak başlatır.
Hata ayıklama modunda başlatmak için (sorun giderme sırasında faydalıdır):
./unrealircd start -debug
Bu, sunucuyu ön planda başlatır ve tüm günlük mesajlarını doğrudan terminale yazdırır. Bir sorun olduğunda bu çıktıyı inceleyebilirsiniz.
UnrealIRCd’yi Durdurma
./unrealircd stop
Yapılandırmayı Yeniden Yükleme (Rehash)
unrealircd.conf dosyasında değişiklikler yaptığınızda, sunucuyu tamamen durdurup yeniden başlatmak yerine yapılandırmayı yeniden yükleyebilirsiniz. Bu, kullanıcıların bağlantısını kesmeden değişikliklerin uygulanmasını sağlar.
./unrealircd rehash
Bu komutu kullanmak için oper yetkisine sahip olmanız veya ircd kullanıcısı olarak çalıştırmanız gerekebilir.
Sistem Başlangıcında Otomatik Başlatma
Debian 7, sistem hizmetlerini yönetmek için init.d betiklerini kullanır. UnrealIRCd’nin sunucu her başladığında otomatik olarak başlaması için bir init.d betiği oluşturmalıyız.
Öncelikle root kullanıcısına geri dönün:
exit # ircd kullanıcısından çıkış
sudo su # root ol
Yeni bir init.d betiği oluşturun:
nano /etc/init.d/unrealircd
Aşağıdaki içeriği dosyaya yapıştırın:
#!/bin/sh
### BEGIN INIT INFO
Provides: unrealircd
Required-Start: $network $local_fs $remote_fs
Required-Stop: $network $local_fs $remote_fs
Default-Start: 2 3 4 5
Default-Stop: 0 1 6
Short-Description: Start and stop UnrealIRCd
Description: UnrealIRCd IRC Daemon
### END INIT INFO
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="UnrealIRCd IRC Daemon"
NAME=unrealircd
DAEMON=/opt/unrealircd/Unreal3.2.10/$NAME
DAEMON_ARGS=""
PIDFILE=/opt/unrealircd/Unreal3.2.10/unrealircd.pid
SCRIPTNAME=/etc/init.d/$NAME
USER=ircd
Exit if the daemon is not installed
[ -x "$DAEMON" ] || exit 0
Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh
Define LSB log_* functions.
Depend on lsb-base (>= 3.0-6) to use these.
. /lib/lsb/init-functions
Do not start if PIDFILE exists and process is running
do_start_daemon() {
if [ -f "$PIDFILE" ] && kill -0 $(cat "$PIDFILE") 2>/dev/null; then
log_daemon_msg "UnrealIRCd is already running" "$NAME"
return 1
fi
start-stop-daemon --start --quiet --pidfile "$PIDFILE" --chuid "$USER" --exec "$DAEMON" --test > /dev/null \
|| log_end_msg 1
start-stop-daemon --start --quiet --pidfile "$PIDFILE" --chuid "$USER" --exec "$DAEMON" -- $DAEMON_ARGS \
|| log_end_msg 1
log_end_msg 0
}
Stop UnrealIRCd
do_stop_daemon() {
start-stop-daemon --stop --quiet --pidfile "$PIDFILE" --chuid "$USER" --exec "$DAEMON"
rm -f "$PIDFILE"
log_end_msg 0
}
case "$1" in
start)
log_daemon_msg "Starting $DESC" "$NAME"
do_start_daemon
;;
stop)
log_daemon_msg "Stopping $DESC" "$NAME"
do_stop_daemon
;;
restart|force-reload)
log_daemon_msg "Restarting $DESC" "$NAME"
do_stop_daemon
do_start_daemon
;;
status)
status_of_proc -p "$PIDFILE" "$DAEMON" "$NAME" && exit 0 || exit $?
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|status}" >&2
exit 3
;;
esac
:
Dosyayı kaydedin ve kapatın. Ardından, betiğe çalıştırma izinleri verin ve sistem başlangıcına ekleyin:
chmod +x /etc/init.d/unrealircd
update-rc.d unrealircd defaults
Şimdi sunucunuzu yeniden başlattığınızda UnrealIRCd otomatik olarak başlayacaktır. Manuel olarak test etmek için:
/etc/init.d/unrealircd start
/etc/init.d/unrealircd stop
/etc/init.d/unrealircd restart
/etc/init.d/unrealircd status
Güvenlik Önlemleri
Bir IRC sunucusu çalıştırmak, güvenlik konusunda dikkatli olmayı gerektirir. Özellikle DDoS saldırıları ve istenmeyen kullanıcılarla mücadele etmek önemlidir.
Firewall Yapılandırması (iptables)
Debian 7’de iptables varsayılan güvenlik duvarıdır. Sadece gerekli portları açarak sunucunuzu koruyun.
# SSH portu
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
Standart IRC portu
sudo iptables -A INPUT -p tcp --dport 6667 -j ACCEPT
SSL/TLS IRC portu
sudo iptables -A INPUT -p tcp --dport 6697 -j ACCEPT
Diğer tüm gelen bağlantıları reddet
sudo iptables -A INPUT -j DROP
Mevcut bağlantılara izin ver
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Loopback trafiğine izin ver
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
Çıkış trafiğine izin ver
sudo iptables -A OUTPUT -j ACCEPT
Kuralları kalıcı hale getir (Debian 7 için apt-get install iptables-persistent)
sudo apt-get install iptables-persistent
sudo service iptables-persistent save
Bu kurallar, 22 (SSH), 6667 (IRC) ve 6697 (IRC SSL) portları hariç tüm gelen bağlantıları engelleyecektir. İhtiyaçlarınıza göre ek portlar açmanız gerekebilir.
Root Dışı Kullanıcı ile Çalıştırma
Yukarıda da belirtildiği gibi, UnrealIRCd’yi ircd gibi ayrıcalıksız bir kullanıcı altında çalıştırmak kritik bir güvenlik önlemidir. Bu, herhangi bir güvenlik açığının sistem genelinde ciddi hasara yol açmasını engeller.
SSL/TLS Kullanımı
unrealircd.conf dosyasında 6697 portu için SSL/TLS’yi etkinleştirmek, kullanıcılarınızın şifreli ve güvenli bir şekilde bağlanmasını sağlar. Bu, özellikle parolaların ve özel mesajların korunması için önemlidir. Mümkünse, kendinden imzalı sertifika yerine Let’s Encrypt gibi bir kaynaktan alınan geçerli bir sertifika kullanın. Ancak Debian 7 üzerinde certbot kurulumu, eski Python sürümü nedeniyle zorlu olabilir. Bu durumda, manuel olarak sertifika oluşturup yenilemeyi veya başka bir sunucuda sertifika oluşturup buraya aktarmayı düşünebilirsiniz.
Günlükleri İzleme
UnrealIRCd, sunucu olaylarını ve hatalarını günlük dosyalarına yazar. Bu günlükleri düzenli olarak kontrol etmek, potansiyel güvenlik sorunlarını veya performans problemlerini erken tespit etmenize yardımcı olabilir. Günlük dosyaları genellikle UnrealIRCd’nin ana dizinindeki log klasöründe bulunur (örneğin /opt/unrealircd/Unreal3.2.10/log).
DDoS Koruması
IRC sunucuları DDoS saldırılarına karşı savunmasız olabilir. UnrealIRCd’nin kendisi bazı dahili koruma mekanizmalarına sahiptir, ancak harici çözümler de düşünebilirsiniz:
* fail2ban: Tekrarlanan başarısız bağlantı denemeleri veya kötü niyetli davranışlar sergileyen IP adreslerini otomatik olarak engelleyebilir.
* syn-cookies: TCP SYN saldırılarına karşı koruma sağlar.
* rate limiting: Belirli bir IP adresinden gelen bağlantı veya komut hızını sınırlayarak aşırı yüklenmeyi önleyebilir.
Sorun Giderme
Kurulum ve yapılandırma sırasında veya sunucu çalışırken bazı sorunlarla karşılaşabilirsiniz. İşte yaygın sorunlar ve çözümleri:
UnrealIRCd Başlamıyor
* Yapılandırma Hatası: unrealircd checkconf komutunu kullanarak yapılandırma dosyanızı kontrol edin. En sık karşılaşılan hata, parantezlerin {} veya noktalı virgüllerin ; eksik olmasıdır.
* Port Çakışması: Belirttiğiniz portların başka bir uygulama tarafından kullanılıp kullanılmadığını kontrol edin (netstat -tulnp).
* İzinler: UnrealIRCd dizinlerinin ve dosyalarının ircd kullanıcısı tarafından okunabilir ve yazılabilir olduğundan emin olun. Özellikle sertifika ve anahtar dosyaları için izinler önemlidir.
* Günlük Dosyaları: UnrealIRCd’nin günlük dosyalarını (/opt/unrealircd/Unreal3.2.10/log dizininde) kontrol edin. Genellikle başlatma hataları hakkında detaylı bilgi içerirler.
* Bağımlılıklar: Gerekli tüm derleme ve çalışma zamanı bağımlılıklarının kurulu olduğundan emin olun (libssl-dev, zlib1g-dev vb.).
Kullanıcılar Bağlanamıyor
* Firewall: Sunucunuzun güvenlik duvarının (iptables) IRC portlarını (6667, 6697) açtığından emin olun.
* Yanlış Port/SSL: Kullanıcıların doğru port ve SSL ayarlarıyla bağlanmaya çalıştığından emin olun. Örneğin, 6697 portu için SSL kullanmaları gerekir.
* DNS Sorunları: Sunucunuzun alan adının doğru IP adresine çözümlendiğinden emin olun.
* allow / deny Blokları: unrealircd.conf dosyasındaki allow ve deny bloklarının kullanıcıların bağlantısını engellemediğinden emin olun.
Operatör Girişi Başarısız
* Yanlış Parola: Operatör parolanızın unrealircd.conf dosyasındaki ile eşleştiğinden emin olun.
* Yanlış Kullanıcı Adı: /oper komutunda kullandığınız takma adın oper bloğundaki ile aynı olduğundan emin olun.
* from Bloğu: Operatör tanımındaki from bloğunun, bağlandığınız IP adresini veya hostmask’ı içerdiğinden emin olun.
Sonuç ve İleri Adımlar
Bu makale boyunca, UnrealIRCd sohbet sunucusunu Debian 7 “Wheezy” üzerinde başarıyla kurma, yapılandırma ve yönetme adımlarını detaylı bir şekilde ele aldık. Temel sistem hazırlığından, UnrealIRCd’nin kaynak koddan derlenmesine, unrealircd.conf dosyasının kritik bölümlerinin yapılandırılmasına ve sunucunun başlatılıp yönetilmesine kadar her adımı kapsadık. Ayrıca, güvenlik önlemleri ve yaygın sorun giderme tekniklerine de değindik.
Debian 7’nin eski bir işletim sistemi olduğunu ve güncel güvenlik yamaları ile yazılım desteği açısından sınırlı olabileceğini unutmamak önemlidir. Üretim ortamları için her zaman daha güncel Debian sürümleri (örneğin Debian 10 veya 11) veya diğer modern Linux dağıtımlarını kullanmanız şiddetle tavsiye edilir. Modern sistemler, daha yeni UnrealIRCd sürümlerini, daha kolay SSL sertifikası entegrasyonunu (Let’s Encrypt ile certbot) ve daha gelişmiş güvenlik araçlarını destekleyecektir.
Kurulumunuzu tamamladıktan sonra, IRC deneyiminizi zenginleştirmek için aşağıdaki ileri adımları düşünebilirsiniz:
1. IRC Servisleri (Atheme/Anope): NickServ, ChanServ, MemoServ gibi hizmetler sunarak kullanıcıların takma adlarını ve kanallarını kaydetmelerine, korumalarına ve yönetmelerine olanak tanıyın. Bu servisler genellikle ayrı bir yazılım paketi olarak kurulur ve UnrealIRCd ile entegre edilir.
2. Modül Entegrasyonu: UnrealIRCd, işlevselliğini genişletmek için birçok modülü destekler. Örneğin, daha gelişmiş anti-flood mekanizmaları, ekstra kanal modları veya özel komutlar ekleyebilirsiniz.
3. Gelişmiş Yapılandırma: unrealircd.conf dosyasını daha derinlemesine inceleyerek bant genişliği sınırlamaları, bağlantı kısıtlamaları ve özel kullanıcı sınıfları gibi gelişmiş ayarları yapılandırabilirsiniz.
4. Web Tabanlı Arayüzler: Bazı web tabanlı IRC istemcileri veya istatistik panelleri (örneğin The Lounge, Kiwi IRC) sunucunuza entegre edilebilir, bu da kullanıcıların tarayıcı üzerinden kolayca bağlanmasını veya ağ istatistiklerini görüntülemesini sağlar.
5. Otomatik Güncelleme ve Yedekleme: Konfigürasyon dosyalarınızın ve varsa veri tabanlarınızın düzenli yedeklerini alın. Debian 7 için güvenlik güncellemeleri kısıtlı olsa da, sistemin ve UnrealIRCd’nin olası yamalarını takip etmek önemlidir.
UnrealIRCd, IRC ağınızı tamamen kendi kontrolünüzde kurmanız için güçlü ve esnek bir platform sunar. Bu rehber, size bu yolculukta sağlam bir başlangıç noktası sağlamıştır. İyi sohbetler!