Exchange Server 2007 ve 2010 Internal ve External Relay

Relay bildiğiniz gibi “iletme” manasına gelen teknik bir terim olup, bir mail server’ın kendisine gelen bir maili gönderme isteğini yerine getirmesidir.

Burada mail server için genel olarak MTA kısaltması kullanılmaktadır. Örneğin Exchange Server, Mail Enable, Merak mai, Qmail vb. Yine bu MTA ya bağlı olan outlook, outlook express vb yazılımlara ise MUA denmektedir.

Bu bilgiler ışığında bir MUA, mail göndermek istediği zaman bu isteği MTA’ ya iletir, MTA bu isteği izinleri doğrultusunda kontrol ettikten sonra hedef MTA’ a iletir ve bu sayede “relay” yani iletim işlemi gerçekleşmiş olur.

Bunu bir örnek ile özetlemek gerekirse.

Hakan kullanıcısının mail adresi hakan@cozumpark.com ve mail göndermek istediği kişinin mail adresi serkan@uzuner.com. Bu yapıda ben kendi outlook programım üzerinden to kısmına Serkanın mail adresini yazıp send dediğim anda benim outlook programım bağlı olduğu MTA ya bu isteği gönderir. Bu MTA nın hangi ürün olduğu önemli değil sonuç olarak SMTP protokolü kullanılmaktadır ve MTA benim bu iş için iznim olup olmadığına bakar, eğer iznim var ise bu maili uzuner.com’ un MTA sunucusuna gönderir. Bu işleme relay yani iletme denir.

Ancak sektörde bu işlemden çok kimlik bilgisi olmadan sunucuların veya servislerin bizim MTA üzerinden mail göndermesi işlemine relay denmektedir. Tabiki yanlış bir tanım değil ancak işin doğrusu yukarıdaki gibidir.

Peki gelelim neden bu konu bu kadar önemli ? Relay isteği pek çok şirket organizasyonunda sık karşılaşılan bir istektir. Yedekleme yazılımları, yazıcılar, anti virüs programları, sharepoint, ve benzeri pek çok yazılım veya donanım kendi üzerindeki bilgileri yöneticiler veya kullanıcılar ile paylaşmak için bir mail server’ a ihtiyaç duyar. Bu servis veya donanımlardan bazıları MTA üzerinden relay yapmak için kimlik bilgisi verebilir, örneğin sizi sunucularını yönetmek için kullandığınız bir izleme programına aynı zamanda düşen uyarıları size mail atsın diye bir mail server ip adresi, kullanıcı adı ve şifresi verebilirsiniz. Aslında bu durumda bu yazılım bir outlook istemci programından farksızdır. Çünkü bu yazılımda aynı bir kullanıcı gibi kimlik bilgisini verir ve mail gönderim isteğinde bulunur. Ancak işler her zaman bu şekilde yürümez, dahası her servis, program veya donanım için ayrı ayrı hesap açmak, şifresini saklama, değiştirmek ve benzeri operasyonel işlerden dolayı insanlar kimlik bilgisi olmadan mail gönderim izni yani relay izni vermek ister.

Buradaki temel kural IP bazlıdır. Yani ben size bir mail server ip adresi veriyorum siz bunu SMTP server bölümüne yazıyorsunuz başka hiçbir kimlik bilgisi istemiyorum. Tek istediğim sizin bu mail server’ ı kullanacak olan servisin çalıştığı veya programın yüklü olduğu veya donanımın sahip olduğu ip adresini benimle paylaşmanız gerekiyor. Bende Exchange Server üzerinde relay için ayrı bir receive connector oluşturuyorum ve bu ip den gelen istekleri kabul et diyorum.

İşte bu makalemde bu konuyu detaylandırmak istiyorum.

Varsayılan olarak kurulan bir Exchange Server 2007 – 2010 mimarisinde iki adet connector bulunmaktadır. Bunlardan birisi “Default” isminde ve 25 nolu portu dinlemektedir, diğeri ise “Client” isminde ve 587 nolu portu dinlemektedir.

image001

Ve bu connectorlerin izin gruplarına baktığımız zaman aşağıdaki detayları görüyoruz.

Bu resimden anladığımız, Exchange kullanıcıları ( yani kimliğini doğrulayan posta kutuları) veya Exchange Server’ ların kendileri bu connectorleri kullanabilmektedirler. Ancak hangi amaç ile kullanacaklarının detayını buradan göremeyiz.

Bu detaydan kastım şudur. Örneğin yeni kurulan bir Exchange Server nasıl dış dünyaya mail atmak için ilk olarak bir Send connector tanımlıyorsak benzer şekilde yeni kurulan bir Exchange 2007 – 2010 sistemininde dış dünyadan mail alması için Default connector üzerindeki “Anonymous” kutucuğunun işaretlenmesi gerekmektedir. Bunun amacı bu connector ile iletişim kurmak isteyen bir kişinin kimler olacağını seçebiliyoruz. Eğer bu connector üzerinde anonim kutucuğunu işaretlemez ise bu durumda dış dünyadan örneğin hotmail, gmail vb yerlerden bir smtp isteği geldiğinde bu connector “kimsin se?” sorusunu soracaktır ve alacağı cevap ya bir exchange server kullanıcı bilgisi olmalı yada içeride olan ve güvendiği bir exchange server bilgisayar hesabı. Ancak bunların her ikisininde hotmail veya gmail gibi sunucularda bulunmayacağı için biz ilk iş olarak anonim erişimi açıyoruz.

Ancak burada yanlış anlaşılma olmasın, bir anonim erişimi açıyoruz ancak bu relay amaçlı değil. Yani bu açmak terimi sadece mail kabul etmek anlamındadır.

Zaten siz bu anonim kutucuğunu işaretleyip sonra mail server ip adresi olarak bu connector ip adresini yazıp mail göndermeyi denerseniz başarızı olacağınızı göreceksiniz.

Bunu daha kolay anlatmak için aşağıdaki tabloyu kullanacağım. Gördüğünüz gibi bu tabloda Exchange Server receive connector üzerinde seçtiğiniz izin gruplarının arka tarafta hangi izinlere karşılık geldiğini görebiliyoruz.

Permission group name

Associated security principals (SIDs)

Permissions granted

Anonymous users

Anonymous user account

  • Ms-Exch-SMTP-Submit
  • Ms-Exch-SMTP-Accept-Any-Sender
  • Ms-Exch-SMTP-Accept-Authoritative-Domain-Sender
  • Ms-Exch-Accept-Headers-Routing

Exchange users

Authenticated user accounts

  • Ms-Exch-SMTP-Submit
  • Ms-Exch-SMTP-Accept-Any-Recipient
  • Ms-Exch-Bypass-Anti-Spam
  • Ms-Exch-Accept-Headers-Routing

Exchange servers

  • Hub Transport servers
  • Edge Transport servers
  • Exchange Servers security group (Hub Transport server only)
  • Externally Secured servers
  • Ms-Exch-SMTP-Submit
  • Ms-Exch-SMTP-Accept-Any-Sender
  • Ms-Exch-SMTP-Accept-Any-Recipient
  • Ms-Exch-Accept-Authoritative-Domain-Sender
  • Ms-Exch-Bypass-Anti-Spam
  • Ms-Exch-SMTP-Accept-Authentication-Flag
  • Ms-Exch-Bypass-Message-Size-Limit
  • Ms-Exch-Accept-Headers-Routing
  • Ms-Exch-Accept-Exch50
  • Ms-Exch-Accept-Headers-Organization (Note: this permission is not granted to Externally Secured servers.)
  • Ms-Exch-Accept-Headers-Forest (Note: this permission is not granted to Externally Secured servers.)

Legacy Exchange Servers

Exchange Legacy Interop security group

  • Ms-Exch-SMTP-Submit
  • Ms-Exch-SMTP-Accept-Any-Sender
  • Ms-Exch-SMTP-Accept-Any-Recipient
  • Ms-Exch-Accept-Authoritative-Domain-Sender
  • Ms-Exch-Bypass-Anti-Spam
  • Ms-Exch-SMTP-Accept-Authentication-Flag
  • Ms-Exch-Bypass-Message-Size-Limit
  • Ms-Exch-Accept-Headers-Routing
  • Ms-Exch-Accept-Exch50

Partners

Partner Server account

  • Ms-Exch-SMTP-Submit
  • Ms-Exch-Accept-Headers-Routing

Örneğin ben biraz önce dış dünyadan mail almak için Anonim kutucuğunu işaretledim bu durumda vermiş olduğum izinler aşağıdaki gibi oluyor

Ms-Exch-SMTP-Submit

Ms-Exch-SMTP-Accept-Any-Sender

Ms-Exch-SMTP-Accept-Authoritative-Domain-Sender

Ms-Exch-Accept-Headers-Routing

Dikkat ederseniz “Accept-Any-Sender” yani herhangi bir gönderici ( hotmail, gmail, msn vs ) için izin vermiş oldum ama aşağıdaki gibi herhangi bir alıcı için izin vermedim.

Ms-Exch-SMTP-Accept-Any-Recipient

Bu izin ise bu MTA yani Exchange server’ a gelen bir smtp oturumu içerisinde to kısmında yani alıcı kısmında kim olursa olsun kabul et anlamında bir izindir ki varsayılan olarak anonim kutucuğu ile gelmez.

Buraya kadar paylaştığım bilgiler ışığında şimdi örnek bir senaryo ile bunları uygulamaya geçelim.

Şirket organizasyonunuzda bir adet HUB transport sunucu olsun, bu durumda varsayılan olarak iki receive connector bulunmaktadır. Ben bu varsayılan connectorlere sadece anonim kutucuğunu işaretleyerek dış dünyadan mail almasını sağlıyorum. Birde send connector tanımlayarak dış dünyaya mail atmayı gerçekleştiriyorum.

Şimdiki amacım ise iş ailesinden gelen relay istekleri için yeni bir HUB kurmak veya var olan HUB üzerinde yeni connectorler tanımlamak.

Eğer reklam mailleri gibi toplu ve sık gönderilecek bir sistem için relay izni isteniyor ise size tavsiyem mutlaka şirket maillerinin trafiğinden sorumlu olan HUB transport sunucu rölünden bir tanede daha kurup bunun ip adresini sadece bu reklam mailleri gönderen sisteme verin. Bu sayede şirket kurumsal mailleri ile bu reklam mailleri bir sunucu üzerinden gönderilmeyeceği için bir mail trafik yoğunluğu yaşanmaz. Hatta elinizde imkan var ise bu yeni kurduğunuz sunucuyu ayrı bir ip adresinden internete çıkarırsanız RBL girme durumlarında kurumsal mail trafiğiniz bundan etkilenmez.

Peki biz ilk senaryomuza dönelim. Yani pek çok kobiye yararlı olması açışından tek bir HUB varmış gibi çözüm üretiyorum.

Tek HUB olduğu için var olan iki connector yanına iki adet daha connector ekleyeceğim, ancak zaten 25 nolu portu dinleyen bir connector olduğu için aynı portu dinleyen başka bir connector açmak için ip bazlı ayırım yapmalıyım.

Bu nedenle ilk olarak var olan connector için sunucnun var olan ip adresini kullanmasını istiyorum.

Bunun için Default Receive Connector üzerinde network sekmesinde aşağıdaki ip adreslerini kaldırıp elle sunucuya ait olan bir adresi ekliyorum

Veya bu ip adreslerini değiştirmek istemiyorsanız, olurda sunucu ip adresini değiştirdiğiniz zaman gelip buradaki ip adresinide değiştirmeniz gerekli çünkü bu ip leri bu şekilde bırakabilirsiniz. Ancak bir çakışma olmaması için yeni oluşturacağımız connectorler için mutlaka kaynak ip adreslerini elle yazmalıyız.

Yukarıdaki cümle karışık geldi ise özetle, bu var olan connector aynen olduğu gibi kalsın ve biz yeni bir connector oluşturalım.

Connector ismi “internalrelay” ve izin gruplarını ayarlayan aşağıdaki seçeneği ise “Custom” yapıyorum. Bunun temel sebebi bu izinleri kendim elle ayarlayacağım. Eğer siz bu bölümde internal veya internet gibi hazır şablonları kullanırsanız buna göre izin grupları eklenecektir bu connector üzerine.

Connector için bir isim verdikten sonra varsayılan olarak gelen tüm Ipv4 adresleri için 25 nolu portu dinle anlamına gelen “Local Network settings” kısmındaki “All Available Ipv4” ibaresini kaldırıyorum ve bu sunucunun TCP/IP ayarlarına bu yeni connector için eklediğim ikinci ip adresini yazıyorum.

Yukarıda görüldüğü gibi aslen kurulum sırasında 192.168.168.169 ip adresine sahip olan bu HUB sunucusu için ben ayrıca 170 ile biten bir ip daha ekledim ve bu ipyi bu connector’ e bağladım.

Bir sonraki bölümde ise bize bu connector hangi kaynaklardan gelen 25 nolu smtp isteklerine cevap vereceğini belirleyebiliyoruz. Şu anda tüm networklerden gelen ipler için 25 nolu portu dinlemek üzere ayarlanmış durumda ancak bu şekilde devam edemeyiz. Eğer bu şekilde devam edersek varsayılan connector ile çakışma olacağı için hangi sunucular relay yapacak ise en azından bir tanesinin ip adresini yazarak devam ediyoruz. Eğer henüz relay yapacak ip sunucu ip adresi bilmiyorsanız rastgele bir ip adresi yazın, sonra tekrar değiştirme imkanına sahibiz.

Örneğin ben 100 ile biten Anti Virüs sunucumu seçtim.

Son noktada artık 3 tane receive connector sahibiyiz. Şimdi bir dördüncü connector olan “externalrelay” connectorünü yukarıdaki adımlara dikkat ederek oluşturuyoruz.

External relay için ayrı bir ip adresi daha ekledim HUB sunucusuna.

Benzer şekilde dış dünyaya relay yapacak sunucu ip adresini yazıyorum. 192’ li ip bloğundan değil ama bu sorun değil, malum büyük network yapılarında vlan’ lar nedeni ile aynı ortamdaki pek çok sunucu bu şekilde farklı ip havuzları ile birbirinden ayrılmaktadırlar.

Peki son durumda artık 4 tane receive connector’ üm var. Bunlarda biri şirket içi relay yapmak için biri ise şirket dışı relay yapmak için kullanılacak.

Yani şirket içi relay yapmak isteyen bir sharepoint sunucusu için smtp server olarak 192.168.168.170 ip adresini kullanırken şirket dışına mail göndermek isteyen sistemler için ise smtp server olarak 192.168.168.171 ip adresini kullanabiliriz. Hatta bunları dns üzerinde “internalrelay” “externalrelay” şeklinde A kaydı açarak diğer adminlere ip yerine isimde verebilirsiniz.

Gelelim ince ayarlara.

Öncelikle bu connector’ lerin kimlik doğrulama ve izin gruplarını kontrol edelim

Yukarıda görüldüğü gibi TLS dışında hiçbir kimlik doğrulama kullanılmıyor. Bunun temel sebebi bu connector’ e kimse gelip kimlik bilgisi vermeyecek yada versede biz kabul etmeyeceğiz. Çünkü bu connector’ lerin amacı relay yapmak yani ip bazlı gelen istekleri iletmektir. Bu hem internal hemde external connector için geçerli bir durumdur.

Permissions Groups bölümünde ise hem internal hemde external için “Anonymous users” kutucuğu işaretli gelmez, biz bunu işaretliyoruz.

Şimdi bu durumda internalrelay için yapacaklarımız bitti. Yani bir sistem sadece şirket içine mail atmak isterse 192.168.168.170 nolu ip yi mail server ip adresi olarak yazabilir. Bizde bu mail atmak isteyen mail sisteminin ip adresini tabiki connector üzerindeki “Network” sekmesinde bulunan “Receive mail from remote servers that have these IP address” bölümüne ekliyoruz.

Peki gelelim externalrelay kısmına. Aslında external relay içinde için aynı internalrelay de olduğu gibi insanlara externalrelay connector ip adresini paylaşıyor olmanız gerekli ( tabiki ihtiyaç duyanlara ). Ardından benzer şekilde bu connector üzerinden mail göndermek isteyen sistemlerin ip adreslerini yukarıdaki şekilde olduğu gibi externalrelay isimli connector içinde tanımlıyor olmalısınız. Son olarak ise aşağıdaki izni vererek bu connector’ ü dış dünyaya relay için açabiliriz

Get-ReceiveConnector “externalrelay” | Add-ADPermission -User “NT AUTHORITY\ANONYMOUS LOGON” -ExtendedRights “Ms-Exch-SMTP-Accept-Any-Recipient”

Bu izin görüldüğü gibi anonim istekler için “Ms-Exch-SMTP-Accept-Any-Recipient” yani alıcı kim olursa olsun hotmail,gmail önemli değil kabul ederim, yani dış dünyaya gelen isteği ayen iletirim noktasındaki izindir.

Bu konuyu daha detaylı incelemek isterseniz aşağıdaki komutları inceleyebilirsiniz.

Örneğin internalrelay connectorü için izin durumu aşağıdaki gibidir

Get-ADPermission “internalrelay” | select user,extendedrights

Gördüğünüz gibi sadece “Any-Sender” bulunmakta olup “Any-Recipient” yoktur.

Bu komutun tam çıktısı ise aşağıdaki gibidir

User ExtendedRights

—- ————–

NT AUTHORITY\ANONYMOUS LOGON {ms-Exch-SMTP-Accept-Any-Sender}

NT AUTHORITY\ANONYMOUS LOGON {ms-Exch-Accept-Headers-Routing}

NT AUTHORITY\ANONYMOUS LOGON {ms-Exch-SMTP-Submit}

NT AUTHORITY\ANONYMOUS LOGON {ms-Exch-SMTP-Accept-Authoritative-Domain-Sender}

COZUMPARK\Delegated Setup {Send-As}

COZUMPARK\Delegated Setup {Receive-As}

COZUMPARK\Delegated Setup

COZUMPARK\Exchange Servers {ms-Exch-Store-Constrained-Delegation}

COZUMPARK\Exchange Servers {ms-Exch-Store-Transport-Access}

COZUMPARK\Exchange Servers {ms-Exch-Store-Read-Access}

COZUMPARK\Exchange Servers {ms-Exch-Store-Read-Write-Access}

NT AUTHORITY\NETWORK SERVICE {ms-Exch-EPI-Token-Serialization}

COZUMPARK\EXCH2010SP2$

COZUMPARK\Delegated Setup

NT AUTHORITY\SYSTEM

NT AUTHORITY\NETWORK SERVICE

COZUMPARK\Exchange Servers {Receive-As}

COZUMPARK\Organization Management {ms-Exch-Recipient-Update-Access}

COZUMPARK\Public Folder Management {ms-Exch-Recipient-Update-Access}

NT AUTHORITY\SYSTEM {ms-Exch-Recipient-Update-Access}

COZUMPARK\Domain Admins {Send-As}

COZUMPARK\Enterprise Admins {Send-As}

COZUMPARK\Organization Management {Send-As}

COZUMPARK\administrator {Send-As}

COZUMPARK\Domain Admins {Receive-As}

COZUMPARK\Enterprise Admins {Receive-As}

COZUMPARK\Organization Management {Receive-As}

COZUMPARK\administrator {Receive-As}

COZUMPARK\Domain Admins {ms-Exch-EPI-Impersonation}

COZUMPARK\Schema Admins {ms-Exch-EPI-Impersonation}

COZUMPARK\Enterprise Admins {ms-Exch-EPI-Impersonation}

COZUMPARK\Organization Management {ms-Exch-EPI-Impersonation}

COZUMPARK\Domain Admins {ms-Exch-EPI-Token-Serialization}

COZUMPARK\Schema Admins {ms-Exch-EPI-Token-Serialization}

COZUMPARK\Enterprise Admins {ms-Exch-EPI-Token-Serialization}

COZUMPARK\Organization Management {ms-Exch-EPI-Token-Serialization}

COZUMPARK\Domain Admins {ms-Exch-Store-Constrained-Delegation}

COZUMPARK\Enterprise Admins {ms-Exch-Store-Constrained-Delegation}

COZUMPARK\Domain Admins {ms-Exch-Store-Transport-Access}

COZUMPARK\Enterprise Admins {ms-Exch-Store-Transport-Access}

COZUMPARK\Domain Admins {ms-Exch-Store-Read-Access}

COZUMPARK\Enterprise Admins {ms-Exch-Store-Read-Access}

COZUMPARK\Domain Admins {ms-Exch-Store-Read-Write-Access}

COZUMPARK\Enterprise Admins {ms-Exch-Store-Read-Write-Access}

NT AUTHORITY\Authenticated Users

COZUMPARK\Organization Management {ms-Exch-Create-Top-Level-Public-Folder}

COZUMPARK\Public Folder Management {ms-Exch-Create-Top-Level-Public-Folder}

COZUMPARK\Organization Management {ms-Exch-Store-Visible}

COZUMPARK\Public Folder Management {ms-Exch-Store-Visible}

COZUMPARK\Organization Management {ms-Exch-Store-Admin}

COZUMPARK\Public Folder Management {ms-Exch-Store-Admin}

COZUMPARK\Organization Management {ms-Exch-Store-Create-Named-Properties}

COZUMPARK\Public Folder Management {ms-Exch-Store-Create-Named-Properties}

COZUMPARK\Organization Management {ms-Exch-Modify-PF-ACL}

COZUMPARK\Public Folder Management {ms-Exch-Modify-PF-ACL}

COZUMPARK\Organization Management {ms-Exch-Mail-Enabled-Public-Folder}

COZUMPARK\Public Folder Management {ms-Exch-Mail-Enabled-Public-Folder}

COZUMPARK\Organization Management {ms-Exch-Modify-Public-Folder-Quotas}

COZUMPARK\Public Folder Management {ms-Exch-Modify-Public-Folder-Quotas}

COZUMPARK\Organization Management {ms-Exch-Modify-PF-Admin-ACL}

COZUMPARK\Public Folder Management {ms-Exch-Modify-PF-Admin-ACL}

COZUMPARK\Organization Management {ms-Exch-Modify-Public-Folder-Expiry}

COZUMPARK\Public Folder Management {ms-Exch-Modify-Public-Folder-Expiry}

COZUMPARK\Organization Management {ms-Exch-Modify-Public-Folder-Replica-List}

COZUMPARK\Public Folder Management {ms-Exch-Modify-Public-Folder-Replica-List}

COZUMPARK\Organization Management {ms-Exch-Modify-Public-Folder-Deleted-Item-Retention}

COZUMPARK\Public Folder Management {ms-Exch-Modify-Public-Folder-Deleted-Item-Retention}

COZUMPARK\Organization Management {ms-Exch-Create-Public-Folder}

COZUMPARK\Public Folder Management {ms-Exch-Create-Public-Folder}

COZUMPARK\Exchange Servers

COZUMPARK\Exchange Servers

COZUMPARK\Exchange Servers

COZUMPARK\Exchange Servers

COZUMPARK\Exchange Servers

COZUMPARK\Exchange Servers

COZUMPARK\Exchange Servers

COZUMPARK\Exchange Servers

COZUMPARK\Exchange Servers

COZUMPARK\Exchange Servers

COZUMPARK\Exchange Servers

COZUMPARK\Exchange Servers

COZUMPARK\Exchange Servers

COZUMPARK\Exchange Servers

COZUMPARK\Exchange Servers

COZUMPARK\Exchange Servers

COZUMPARK\Exchange Servers

COZUMPARK\Exchange Servers

COZUMPARK\Exchange Servers

COZUMPARK\Exchange Servers

COZUMPARK\Exchange Servers

COZUMPARK\Exchange Servers

COZUMPARK\Exchange Servers

COZUMPARK\Exchange Servers

Everyone {ms-Exch-Store-Create-Named-Properties}

NT AUTHORITY\ANONYMOUS LOGON {ms-Exch-Store-Create-Named-Properties}

Everyone {ms-Exch-Create-Public-Folder}

NT AUTHORITY\ANONYMOUS LOGON {ms-Exch-Create-Public-Folder}

Everyone

NT AUTHORITY\ANONYMOUS LOGON

Everyone

NT AUTHORITY\ANONYMOUS LOGON

COZUMPARK\Exchange Servers

COZUMPARK\Organization Management

COZUMPARK\Public Folder Management

NT AUTHORITY\SYSTEM

COZUMPARK\Exchange Servers

COZUMPARK\Organization Management

COZUMPARK\Exchange Trusted Subsystem

COZUMPARK\administrator

COZUMPARK\Enterprise Admins

COZUMPARK\Domain Admins

External Relay için bakalım

Externalrelay isimli connector’ de ise “Accept-Any-Recipient” bulunmaktadır.

Bu konfigürasyon ile birlikte “internalrelay” isimli connector sadece şirket içine mail atabilirken, “externalrelay” isimli connector hem şirket dışına hemde şirket içine mail gönderebilmektedir.

Evet bu şekilde orta be büyük ölçekli tüm firmaların relay ihtiyaçlarına cevap verecek bir yapı kurmuş oluyorsunuz. Tabiki makalemin başında da belirttiğim gibi bu tür relay işlemleri için ayrı HUB sunucular kullanıyor olmanız çok daha doğru olacaktır.

Umarım faydalı bir makale olmuştur.

Bir sonraki makalemizde görüşmek üzere.

Exit mobile version