31 Ağustos 2010 Salı

Postfix'in relayhost olarak kullanımı.

Posta sunucunuz kendisine bırakılan e-postanın nihayi dağıtımı kendi üzerinde değilse dağıtımını iki farklı şekilde yapabilir. E-postayı ya doğrudan alıcının posta sunucusuna bırakmaya çalışır yada relayhost kullanarak e-postanın dağıtımını servis sağlayıcısının posta sunucusuna bırakır.

Eğer domainize ait MX kaydı sunucunuzu yönettiğiniz posta sunucusunu göstermiyorsa, sunucunuz ikinci dağıtım yolunu kullanarak dağıtım yapmalıdır. Aksi taktirde alıcının posta sunucusu MX kayıtlarınızda yer alan IP adresiyle, kendisiyle bağlantı kuran sunucunun IP adresinin aynı olmadığını görecek ve bağlantıyı geri çevirecektir.

Postfix çalışan posta sunucunuzun, servis sağlayıcınızın üzerinden e-posta göndermesini sağlamak için relayhost ayarlarını yapılandırmanız gereklidir. Relayhost yapılandırması için servis sağlayıcınızın posta sunucusunun adresine ve bu sunucu üzerinde kimlik doğrulaması yapabileceğiniz kullanıcı adı ve parola çiftine ihtiyaç duyacaksınız.

Örnek bir sistem tasarlayarak relayhost ayarlarını nasıl kullanıldığına bakalım.

Tasarlanan Sistem

Sunucumuz domain1.com alanadını barındırıyor olsun, servis sağlayımızın posta sunucusunu adresi mail.isp.com bu sunucu üzerinde oturum açmak için kullanacağımız kullanıcı adı kullanıcı1, parolası ise parola1 olsun. Postfix sunucumuzu relayhost kullanmak üzere ayarlamak için /etc/postfix/main.cf dosyasını düzenlememiz gerekecek. main.cf dosyasini açtıktan sonra aşağıdaki satırları ekleyerek işe başlayalım.

relayhost =[mail.isp.com]:587

smtp_sasl_auth_enable = yes

smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd


İlk satırda yer alan relayhost anahtarı relayhost olarak kullanılacak sunucunun adresini gösteriyor, bu adresin "[]" işaretleri girdiğiniz adres için MX sorgulaması yapılmasını engeller. Posta sunucusuna yaılacak SMTP bağlantısı standart port üzerinden yapılmayacaksa ":" işareti kullanılarak bağlantının yapılacağı port numarası  belirtilir. Örneğimizde bağlantı için 587 numaralı port kullanılmıştır.

smtp_sasl_auth_enable anahtarı isp sunucusu üzerinden posta gönderebilmek için kimlik doğrulaması yapılması gerektiğini, smtp_sasl_password_maps anahtarı ise kimlik doğrulaması için kullanılcak bilgilerin bulunduğu dosyanın yerini gösteriyor.

Bu satırları main.cf dosyasına ekledikten sonra /etc/postfix/sasl_passwd doyasını oluşturmamız gerekiyor, bu dosyanın içeriği aşağıdaki gibi olmalıdır

mail.isp.com kullanici1@domain1.com:parola1

Dosya kullanıcı adı ve parola içeridiğinden dosyanın yetkisiz kişiler tarafından açılmasını engellemek için dosyanın kullanıcı haklarını değiştirelim.


[root@gateway ~]#chown root.root /etc/postfix/sasl_passwd

[root@gateway ~]# chmod 600 /etc/postfix/sasl_passwd

[root@gateway ~]# ls -l /etc/postfix/sasl_passwd

[root@gateway ~]# ls -l /etc/postfix/sasl_passwd

-rw------- 1 root root 85 Dec 4 2009 /etc/postfix/sasl_passwd


Düz metin dosyaların okuma hızı database dosyalarına oranla düşük olduğundan postfix bu dosyayı database formunda olmasını tercih eder. Bu dosyayı database formuna çevirmek için postmap komutunu kullanmamız gerekiyor, bu işlemi aşağıdaki komutu çalıştırarak yapacağız.

[root@gateway ~]# postmap hash:/etc/postfix/sasl_passwd

[root@gateway ~]# ls -l /etc/postfix/sasl_passwd.db

-rw------- 1 root root 12288 Dec 4 2009 /etc/postfix/sasl_passwd.db

postmap komutundan sonra sasl_passwd.db dosyası oluşturuldu. Şimdi yapmamız gereken postfix'in yeni ayarları kullanmasını sağlamak,

[root@gateway ~]# postfix reload

postfix/postfix-script: refreshing the Postfix mail system

Postfix yeni ayarlarla çalışmaya başladıktan sonra dışarıya gönderilen e-postaların dağıtımı için servis sağlayıcının sunucusunu kullanmaya başlayacaktır, maillog dosyasını izleyerek sistemin beklediğiniz şekilde çalışıp çalışmadığını izleyebilirsiniz.

[root@gateway ~]# tail -f /var/log/maillog

Jul 21 12:37:59 gateway postfix/smtp[14677]: 2539747D25C: to=<asdzx@domain2.com>, relay=mail.isp.com[A.B.C.D], delay=0, status=sent (250 2.6.0 2129 bytes received in 00:00:00; Message id BOZ86019 accepted for delivery)

Jul 21 12:38:33 gw postfix/anvil[15397]: statistics: max connection rate 2/60s for (smtp:192.168.1.96) at Jul 21 12:35:10

Jul 21 12:38:33 gw postfix/anvil[15397]: statistics: max connection count 1 for (smtp:192.168.1.89) at Jul 21 12:33:15

1 yorum:

  1. çetinbey iyi gunler paylasımınız aradıgım bir konu elinize saglık yanlızca su nokta kafama takılıyor 2 postfix sunucum var bunlardan bırı dısarı cıkıyor dıgerı cıkamıyor bu yontemle clıent yapacagım postfıxı ayarladım pekı sunucu olarak kullanacagım postfıxte herhangı bır ayar yapmam gerekıyormu

    YanıtlaSil