Services

Anope ve UnrealIRCd Bağlantısı: Services'i Sunucuya Bağlamak

· Güncelleme: · 5 dk okuma

Anope ve UnrealIRCd Bağlantısı: Services'i Sunucuya Bağlamak
İçindekiler
  1. Bağlantının Mantığı
  2. 1. UnrealIRCd Tarafı: link Bloğu
  3. 2. UnrealIRCd Tarafı: ulines Bloğu
  4. 3. UnrealIRCd Tarafı: services Ayarları
  5. 4. Anope Tarafı: uplink Bloğu
  6. 5. Anope Tarafı: serverinfo Bloğu
  7. 6. Anope Tarafı: Protokol Modülü
  8. 7. Bağlantıyı Test Etmek
  9. Sık Karşılaşılan Bağlantı Hataları
  10. Güvenlik Önerileri
  11. Sonuç

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:

  1. UnrealIRCd: link bloğu
  2. UnrealIRCd: ulines bloğu
  3. Anope: uplink ve serverinfo blokları
  4. Anope: doğru protokol modülü

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

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 belirtiOlası nedenÇözüm
Link denied (no matching link block)Sunucu adları eşleşmiyorserverinfo name ile link bloğu adını eşitleyin
Bad password / authentication failedParolalar farklıHer iki tarafa aynı parolayı yazın
Connection refusedPort yanlış veya dinlenmiyorUnrealIRCd listen bloğunu kontrol edin
SID çakışmasıAynı kimliği kullanan başka sunucu varBenzersiz bir SID seçin
Bağlanıyor ama mod değiştiremiyorulines eksikulines bloğunu bütün sunuculara ekleyin
Bağlanıp hemen düşüyorYanlış 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ğlan

Sı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.