Bu rehberde çalışan bir UnrealIRCd 6 sunucusuna Anope 2.0 kararlı sürüm serisini bağlayacağız. Yapılandırma aynı sunucuda çalışan iki yazılımın yalnızca 127.0.0.1 üzerinden haberleşmesi esasına dayanıyor. Böylece services bağlantı portunu internete açmadan daha dar ve güvenli bir kurulum elde edeceğiz.
1. Kurulum Mimarisi: UnrealIRCd ve Anope Ne Yapar?
Kuruluma başlamadan önce iki bileşenin görevini ayırmak, hata ararken büyük kolaylık sağlar:
- UnrealIRCd 6: İstemcileri kabul eder, kanalları ve kullanıcı modlarını yönetir, IRC sunucuları arasındaki trafiği taşır.
- Anope Services: NickServ ile rumuz kaydı, ChanServ ile kanal kaydı ve yetkilendirme, OperServ ile ağ yönetimi gibi kalıcı hizmetleri sağlar.
- Services bağlantısı: Anope, IRC istemcisi gibi değil, ayrı bir sunucu olarak UnrealIRCd ağına bağlanır.
Bu yüzden NickServ’i yalnızca bir bot gibi çalıştırmak veya UnrealIRCd modülleri içinde aramak doğru yaklaşım değildir. Services sunucusu ağ haritasında ayrı bir sunucu olarak görünmelidir.
2. Kurulum Öncesi Gereksinimler
Aşağıdaki işlemler için çalışan ve yapılandırması hatasız bir UnrealIRCd 6 kurulumu, kabuk erişimi ve derleme araçları gerekir. Değişiklik yapmadan önce unrealircd.conf ile Anope veritabanının yedeğini alın.
Debian veya Ubuntu tabanlı sistemlerde temel derleme araçlarını şu komutla kurabilirsiniz:
CODE TERMINAL
sudo apt update
sudo apt install -y build-essential cmake pkg-config libssl-devAnope’yi root hesabıyla çalıştırmayın. UnrealIRCd ve Anope aynı kullanıcı altında veya yalnızca gerekli dosyalara erişebilen ayrı, yetkisiz sistem kullanıcılarıyla çalıştırılabilir.
3. UnrealIRCd 6 Üzerinde Services Link Bloğu
Önce UnrealIRCd’nin Anope bağlantısını kabul etmesini sağlayın. Aşağıdaki örneği unrealircd.conf dosyanıza ekleyin. Alan adını kendi IRC ağınıza göre değiştirin ve örnek parolayı uzun, rastgele bir parolayla değiştirin.
CODE TERMINAL
link services.ornek.net {
incoming {
mask { ip 127.0.0.1; }
};
password "UZUN_VE_RASTGELE_LINK_PAROLASI";
class servers;
};
ulines {
services.ornek.net;
};incoming mask yalnızca 127.0.0.1 adresine izin verdiği için dışarıdan services sunucusu gibi davranmaya çalışan bağlantılar bu blokla eşleşmez. Anope başka bir makinede çalışacaksa 127.0.0.1 yerine yalnızca o makinenin sabit IP adresini kullanın; joker karakterli geniş maskelerden kaçının.
ULines neden gerekli? Services sunucusuna kullanıcı rumuzlarını ve kanal durumlarını yönetmek için özel yetkiler verir. Bu listeye yalnızca gerçek services sunucusunu ekleyin. Normal bir UnrealIRCd sunucusunu ULines içine almak ciddi yetki sorunlarına yol açabilir.
Birden fazla UnrealIRCd sunucunuz varsa aynı services adı her sunucunun ulines bloğunda bulunmalıdır.
4. NickServ ve ChanServ Kısayollarını Etkinleştirme
Kullanıcıların /NS, /CS, /NICKSERV ve /CHANSERV gibi komutları kullanabilmesi için Anope alias dosyasını yükleyin:
CODE TERMINAL
include "aliases/anope.conf";Alias komutlarının doğru services sunucusuna yönelmesi için mevcut set bloğunuzda şu ayarın bulunduğundan emin olun:
CODE TERMINAL
set {
services-server "services.ornek.net";
};Yapılandırmayı yeniden yüklemeden önce sözdizimini test edin:
CODE TERMINAL
cd ~/unrealircd
./unrealircd configtestTest hatasız tamamlanırsa yapılandırmayı yeniden yükleyin:
CODE TERMINAL
./unrealircd rehashIRCOp olarak bağlıysanız aynı işlemi IRC üzerinden /REHASH komutuyla da yapabilirsiniz. Uyarı veya hata mesajlarını atlamayın; services bağlantısına geçmeden önce yapılandırma testi temiz olmalıdır.
5. Anope Services Derleme ve Kurulum
Anope’nin resmî GitHub sürümleri sayfasından en güncel 2.0.x kararlı sürümü indirin. Dosya ve dizin adını indirdiğiniz sürüme göre uyarlayın:
CODE TERMINAL
tar -xzf anope-2.0.x.tar.gz
cd anope-2.0.x
./Config
cd build
make -j2
make install./Config betiği kurulum dizini gibi temel seçenekleri sorar. Varsayılan kurulum genellikle kullanıcının ev dizini altındaki services klasörüne yapılır. Düşük bellekli bir VPS kullanıyorsanız paralel derleme değerini yükseltmek yerine make komutunu tek başına çalıştırabilirsiniz.
Kurulum dizinine geçip örnek yapılandırmayı kopyalayın:
CODE TERMINAL
cd ~/services
cp conf/example.conf conf/services.confNot: Anope’nin farklı geliştirme serilerinde örnek dosya adı anope.example.conf ve hedef dosya anope.conf olabilir. İndirdiğiniz paketteki README dosyasını esas alın. Bu rehber kararlı 2.0.x yapılandırma adlarını kullanır.
6. Anope Uplink ve Serverinfo Ayarları
conf/services.conf dosyasını açın. Önce services sunucu adını tanımlayan değeri, UnrealIRCd link bloğundaki adla birebir aynı yapın:
CODE TERMINAL
define
{
name = "services.host"
value = "services.ornek.net"
}Ardından uplink bloğunu düzenleyin:
CODE TERMINAL
uplink
{
host = "127.0.0.1"
ipv6 = no
ssl = no
port = 6667
password = "UZUN_VE_RASTGELE_LINK_PAROLASI"
}Buradaki parola UnrealIRCd’deki link::password değeriyle tamamen aynı olmalıdır. Port değeri de UnrealIRCd’nin yerel bağlantı kabul ettiği portla eşleşmelidir. Ayrı bir yerel services portu kullanıyorsanız her iki tarafta da aynı portu tanımlayın ve güvenlik duvarında bu portu dış dünyaya açmayın.
serverinfo bölümünde aşağıdaki üç noktayı kontrol edin:
- name: services.ornek.net olmalı ve link bloğuyla birebir eşleşmelidir.
- description: Ağınıza uygun açıklayıcı bir değer olabilir.
- id: Ağdaki hiçbir IRC sunucusunun SID değeriyle çakışmayan üç karakterli benzersiz bir kimlik olmalıdır. Tek sunuculu örnekte 00A kullanılabilir; çok sunuculu ağda önce mevcut SID değerlerini kontrol edin.
7. Kritik Nokta: UnrealIRCd 6 İçin Protokol Modülü
Anope yapılandırmasındaki protokol modülünü şu şekilde ayarlayın:
CODE TERMINAL
module
{
name = "unreal4"
}Adında “4” geçmesi kafa karıştırabilir; ancak UnrealIRCd 6 için de doğru Anope protokol modülü unreal4’tür. Modül adını tahmin ederek unreal6 şeklinde değiştirmek services bağlantısının başlamamasına yol açar.
Örnek yapılandırma ek modül dosyalarını include ediyorsa düzenlemek istediğiniz modules.example.conf benzeri dosyaları önce yeni adla kopyalayın, ardından include satırını bu kopyaya yöneltin. Böylece sonraki güncellemelerde örnek dosyaların üzerine yazılması kendi ayarlarınızı bozmaz.
8. Anope’yi Başlatma ve Bağlantıyı Doğrulama
Anope 2.0 kurulumunu başlatın:
CODE TERMINAL
cd ~/services
bin/anoperc startArdından IRC ağına IRCOp olarak bağlanıp şu kontrolleri yapın:
CODE TERMINAL
/MAP
/WHOIS NickServ
/MSG NickServ HELP
/NS HELP
/CS HELP/MAP çıktısında services.ornek.net görünmeli, /WHOIS NickServ ise NickServ’in services sunucusu üzerinden bağlı olduğunu göstermelidir. Doğrudan mesaj çalışıyor fakat /NS çalışmıyorsa sorun büyük olasılıkla bağlantıda değil, alias veya set::services-server ayarındadır.
İlk işlev testi için bir rumuz ve kanal kaydı deneyebilirsiniz:
CODE TERMINAL
/NS REGISTER GucluBirHesapParolasi [email protected]
/JOIN #deneme
/CS REGISTER #denemeKomutların ayrıntıları etkin Anope modüllerine ve ağ politikanıza göre değişebilir. Üretim ortamına geçmeden önce e-posta doğrulaması, kayıt sınırları, parola politikası ve kanal terk süresi gibi ayarları ayrıca gözden geçirin.
9. En Sık Görülen Hatalar ve Çözümleri
Connection refused
Anope’nin bağlandığı IP veya portta UnrealIRCd dinlemiyordur. Uplink içindeki host ve portu, UnrealIRCd listen ayarlarıyla karşılaştırın. Aynı sunucudaki kurulumda 127.0.0.1 kullanıldığını doğrulayın.
Link denied veya authentication failed
İki taraftaki link parolaları eşleşmiyordur ya da UnrealIRCd link bloğunun adı Anope serverinfo adıyla aynı değildir. Kopyalama sırasında başta veya sonda boşluk kalmadığından emin olun ve /REHASH sonrasındaki logları kontrol edin.
Services bağlanıyor ancak NickServ operatör yetkisi veremiyor
services.ornek.net adının tüm UnrealIRCd sunucularında ulines içinde bulunduğunu kontrol edin. ULines girdisi ile Anope’nin gerçek sunucu adı arasında tek karakter fark olması bile yetkilendirmeyi bozar.
/NS komutu bilinmiyor
include "aliases/anope.conf"; satırı eksik veya yüklenmemiştir. Yapılandırma testi çalıştırın ve ardından rehash uygulayın.
Services are currently down mesajı
set::services-server değeri eksik ya da yanlış olabilir. Bu değerin Anope serverinfo adıyla aynı olduğundan emin olun.
Protocol module yüklenemiyor
Modül adının unreal4 olduğunu kontrol edin. Anope’yi farklı bir kaynak ağacından derlediyseniz build ve install adımlarının hatasız tamamlandığını doğrulayın.
10. Güvenlik ve Bakım Kontrol Listesi
- Services bağlantısını aynı makinede mümkünse yalnızca 127.0.0.1 ile sınırlandırın.
- Link parolasını başka hesaplarda kullanılan parolalardan farklı ve rastgele oluşturun.
- ULines listesine normal IRC sunucusu eklemeyin.
- Anope’yi root yetkisiyle çalıştırmayın.
- Yapılandırma dosyalarının okuma izinlerini yalnızca gerekli kullanıcılarla sınırlandırın.
- Anope veritabanını düzenli yedekleyin ve yedeğin geri yüklenmesini test edin.
- Sürüm yükseltmeden önce sürüm notlarını okuyun; özellikle veritabanı biçimi değişikliklerinde manuel yedek alın.
- UnrealIRCd için configtest, Anope için başlangıç logları ve IRC tarafında /MAP doğrulaması yapmadan kurulumu tamamlanmış saymayın.
Sonuç
UnrealIRCd 6 ile Anope arasındaki bağlantıda başarı; services adı, link parolası, uplink portu, ULines ve protokol modülü gibi birkaç değerin iki tarafta tutarlı olmasına bağlıdır. Bu temel kurulum tamamlandığında NickServ ile rumuz kaydı, ChanServ ile kanal yönetimi ve OperServ ile ağ operasyonları için sağlam bir altyapı elde edersiniz.
En güvenli başlangıç modeli, UnrealIRCd ile Anope’yi aynı sunucuda çalıştırıp bağlantıyı localhost ile sınırlandırmaktır. Ağ büyüdükçe ayrı services sunucusuna geçebilir; bu aşamada özel ağ, TLS ve daha sıkı link doğrulaması ekleyebilirsiniz.
Resmî Kaynaklar
- UnrealIRCd: Anope ile bağlantı rehberi
- UnrealIRCd: Yapılandırma, ULines ve alias belgeleri
- UnrealIRCd: configtest ve rehash komutları
- Anope resmî kaynak kodu ve kurulum belgesi
- Anope resmî sürümleri
TR Siber Ekibi