Anope ve UnrealIRCd Bağlantısı: Services'i Sunucuya Bağlamak
İçindekiler
Services yazılımını kurmak işin yarısıdır; diğer yarısı onu IRC sunucusuna bağlamaktır. Bu bağlantı, iki IRC sunucusunun birbirine bağlanmasına benzer ama birkaç önemli farkı vardır: Services'e normal sunuculardan daha fazla yetki verilmesi gerekir. Bu rehberde Anope UnrealIRCd bağlantısı için her iki taraftaki ayarları ve sık karşılaşılan hataları anlatıyoruz. Anope'u henüz kurmadıysanız önce Anope kurulumu, UnrealIRCd'yi kurmadıysanız UnrealIRCd Linux kurulumu yazılarımızı okuyun.
Bağlantının Mantığı
Anope, UnrealIRCd'ye bir sunucu olarak bağlanır. UnrealIRCd tarafında bu bağlantıyı kabul edecek bir link bloğu bulunmalıdır. Ayrıca services sunucusunun adı ulines bloğuna eklenmelidir; bu, UnrealIRCd'ye services'in özel yetkilere sahip olduğunu söyler. Anope tarafında ise uplink bloğu bağlanılacak sunucuyu, serverinfo bloğu services'in kendi kimliğini, protokol modülü de UnrealIRCd ile konuşulacak dili tanımlar.
Kısaca dört parça vardır:
- UnrealIRCd: link bloğu
- UnrealIRCd: ulines bloğu
- Anope: uplink ve serverinfo blokları
- Anope: doğru protokol modülü
1. UnrealIRCd Tarafı: link Bloğu
unrealircd.conf içine services için bir link bloğu ekleyin:
link services.ornekag.net {
incoming {
mask 127.0.0.1;
}
password "uzun-ve-rastgele-bir-parola";
class servers;
}
- Blok adı (services.ornekag.net), Anope'un serverinfo bloğundaki sunucu adıyla birebir aynı olmalıdır.
- incoming mask, bağlantının kabul edileceği adresi sınırlar. Anope aynı sunucudaysa 127.0.0.1 kullanmak en güvenli seçenektir.
- password, Anope'un uplink bloğundaki parolayla eşleşmelidir.
- class, bağlantının hangi sınıfta değerlendirileceğini belirtir; genellikle sunucular için tanımlanmış sınıf kullanılır.
Services'in bağlanacağı bir listen portuna da ihtiyaç vardır. Bu port yalnızca sunucu bağlantıları için ayrılmış ve dışarıya kapalı olmalıdır. Link bloğunun ayrıntıları için UnrealIRCd link bloğu, listen portları için listen ve TLS portları yazılarımıza bakın.
2. UnrealIRCd Tarafı: ulines Bloğu
ulines {
services.ornekag.net;
}
U-line, bir sunucuya "her şeyi yapabilir" yetkisi verir: Kanal modlarını op olmadan değiştirebilir, kullanıcıların nicklerini zorla değiştirebilir, ağ genelinde yasak koyabilir. Bu yüzden ulines bloğuna yalnızca services sunucusunu ekleyin. Normal bir IRC sunucusunu asla U-line yapmayın. Ayrıntılar UnrealIRCd ulines ve services yazımızda.
Ağınızda birden fazla UnrealIRCd sunucusu varsa ulines bloğu bütün sunucularda aynı şekilde tanımlanmalıdır. Services yalnızca bir sunucuya bağlanır ama diğer sunucuların da services'in işlemlerini kabul etmesi gerekir.
3. UnrealIRCd Tarafı: services Ayarları
UnrealIRCd'nin set bloğunda services'le ilgili birkaç ayar bulunur. Örneğin kullanıcıların /ns, /cs gibi kısayollarla servislere mesaj gönderebilmesi için services sunucusunun adının ayarlanması gerekir. Bu sayede kullanıcıların mesajları doğrudan services'e gider ve sahte bir "NickServ" kullanıcısına gitme riski ortadan kalkar. Set bloğunun ayrıntıları için UnrealIRCd set bloğu yazımıza bakın.
Değişikliklerden sonra UnrealIRCd'yi yeniden yükleyin:
./unrealircd rehash
4. Anope Tarafı: uplink Bloğu
services.conf içinde:
uplink
{
host = "127.0.0.1"
port = 7000
password = "uzun-ve-rastgele-bir-parola"
}
- host, UnrealIRCd sunucusunun adresi.
- port, UnrealIRCd'de sunucu bağlantıları için açılmış port.
- password, UnrealIRCd link bloğundaki parolayla aynı.
İki sunucu farklı makinelerdeyse bağlantıyı TLS ile şifrelemek için uplink bloğundaki ilgili ayarı açın ve UnrealIRCd tarafında TLS destekli bir port kullanın.
5. Anope Tarafı: serverinfo Bloğu
serverinfo
{
name = "services.ornekag.net"
description = "Ornek Ag Services"
id = "00A"
}
- name, UnrealIRCd link bloğunun adıyla aynı olmalıdır.
- id, sunucu kimliğidir (SID). UnrealIRCd'nin modern sürümleri her sunucunun benzersiz bir kimliğe sahip olmasını gerektirir. Bu kimlik ağdaki diğer sunucuların kimlikleriyle çakışmamalıdır. Biçimi genellikle bir rakamla başlayan üç karakterdir.
6. Anope Tarafı: Protokol Modülü
services.conf içinde bağlanılacak sunucunun türüne göre protokol modülü seçilir. UnrealIRCd'nin modern sürümleri için Anope'un ilgili protokol modülünü kullanmanız gerekir. Anope 2.0 serisinde bu modülün adı unreal4 iken, daha yeni Anope sürümlerinde unrealircd olarak adlandırılmış olabilir. Kendi sürümünüzün örnek yapılandırmasındaki açıklamaları okuyarak doğru modülü seçin. Yanlış modül, bağlantının kurulamamasına veya servislerin garip davranmasına yol açar.
7. Bağlantıyı Test Etmek
Her iki taraf yapılandırıldıktan sonra Anope'u başlatın. UnrealIRCd'de oper olarak giriş yaptıysanız sunucu bildirimlerinde services'in bağlandığını görürsünüz. Ardından:
/msg NickServ HELP
/map
/map çıktısında services sunucusunu görmelisiniz. NickServ'in cevap vermesi, bağlantının çalıştığını gösterir. Bir kanal kaydedip ChanServ'in kanala girip mod değiştirebildiğini doğrulayarak U-line'ın çalıştığını test edin.
Sık Karşılaşılan Bağlantı Hataları
| Hata veya belirti | Olası neden | Çözüm |
|---|---|---|
| Link denied (no matching link block) | Sunucu adları eşleşmiyor | serverinfo name ile link bloğu adını eşitleyin |
| Bad password / authentication failed | Parolalar farklı | Her iki tarafa aynı parolayı yazın |
| Connection refused | Port yanlış veya dinlenmiyor | UnrealIRCd listen bloğunu kontrol edin |
| SID çakışması | Aynı kimliği kullanan başka sunucu var | Benzersiz bir SID seçin |
| Bağlanıyor ama mod değiştiremiyor | ulines eksik | ulines bloğunu bütün sunuculara ekleyin |
| Bağlanıp hemen düşüyor | Yanlış protokol modülü | Sürümünüze uygun modülü seçin |
UnrealIRCd'nin hata mesajları genellikle açıklayıcıdır. Sunucu tarafındaki log dosyasını ve Anope'un log dosyasını birlikte incelemek, sorunun hangi tarafta olduğunu hızla gösterir. Log ayarları için services log izleme ve UnrealIRCd log ayarları yazılarımıza bakın.
Güvenlik Önerileri
Services bağlantısı, ağınızdaki en yetkili bağlantıdır. Bu yüzden bağlantı parolasını uzun ve rastgele seçin, başka hiçbir yerde kullanmayın. Services ve IRC sunucusu farklı makinelerdeyse bağlantıyı mutlaka TLS ile şifreleyin ve incoming mask'ı services sunucusunun tam IP adresiyle sınırlayın. Sunucu bağlantıları için kullandığınız portu güvenlik duvarında yalnızca services ve diğer ağ sunucularının adreslerine açın. Bu basit önlemler, bir saldırganın kendini services gibi tanıtarak ağınızda sınırsız yetki elde etmesini önler.
Bu önlemleri kurulumun ilk gününden uygulamak, sonradan yapılacak düzeltmelerden çok daha kolaydır.
Sonuç
Anope ile UnrealIRCd arasındaki bağlantı dört parçadan oluşur: UnrealIRCd'de link ve ulines blokları, Anope'ta uplink ve serverinfo blokları ile doğru protokol modülü. Sunucu adlarını, parolaları ve sunucu kimliğini dikkatle eşleştirdiğinizde bağlantı sorunsuz kurulur. Bağlantı çalıştıktan sonra kullanıcıların ilk karşılaşacağı servis için sıradaki rehberimiz NickServ komutları.
IRC sorunun mu var? Kanalda birlikte çözelim.
💬 Kanala BağlanSıkça Sorulan Sorular
Anope ve UnrealIRCd aynı sunucuda mı çalışmalı?
Zorunlu değil ama yaygındır. Aynı sunucuda çalıştıklarında bağlantı yerel adres üzerinden kurulur ve dışarıya açık port gerekmez.
U-line tanımlanmazsa ne olur?
Services bağlanır ama kanal modlarını değiştirme, nick zorlama gibi özel işlemleri yapamaz veya sunucu bu işlemleri reddeder.
Bağlantı parolası her iki tarafta aynı mı olmalı?
Evet. UnrealIRCd link bloğundaki parola ile Anope uplink bloğundaki parola birebir eşleşmelidir.


