Postfix'in başka bir IP adresi kullanmasını nasıl sağlayabilirim?


21

Postfix posta sunucusunu kullanıyorum ve mevcut 6 IP var. Postfix posta sunucusu için posta göndermek için web sunucusunun kullandığından daha fazla IP kullanmak istiyorum.

Bunu nasıl yapabilirim? Postfix versiyonum 2.3.3.

Örneğin: ana IP: 66.66.66.66 diğer IP: 66.66.66.67

Yanıtlar:


25

İstediğiniz smtp_bind_address=66.66.66.67ve inet_interfaces=allya inet_interfaces=eth(whatever)66.66.66.67 açık.

Bu değişikliği yapın, ardından postfix'i durdurun / başlatın. Eğer değişiyorsan, sadece yeniden yükleyemezsininet_interfaces


Smtp_bind_address seçeneğini denedim ancak posta sunucum artık posta göndermiyor. Ve ben inet_interfaces değiştirildiğini sanmıyorum çünkü o sunucuda posta almak istemiyorum. Not: Bu IP yalnızca posta göndermek için kullanılır.
EarthMind

Lütfen mesajınızı gönderin postconf -n, neden bahsettiğinizi görelim. IP'leri özel IP'ler (10.xxx, vb.) Olarak anonimleştirin ve örnek olarak etki alanları (com | net | org | whatever) ihtiyacınız varsa.
Bill Weiss

2
smtp_bind_address doğru yoldu ve kullandığım yeni IP'nin rDNS kaydı olmadığından e-posta tesliminde bir gecikme oldu. Nazik yardımlarınız için teşekkürler.
EarthMind

3
smtp_bind_addressIPv4 adresini belirler, IPv6 eşdeğerismtp_bind_address6
Paul Tobias

16

"Smtp_bind_adresi" çözümünü kullanırsanız, posta sunucunuz yalnızca gelen postalar için de belirtilen IP adresini dinleyecektir. Aynı şey "inet_interfaces" çözümü için de geçerlidir. Birden fazla IP adresinde / arayüzünde gelen postaları dinlemek istiyorsanız, bu istenen çözüm olmayabilir.

Çözümüm daha iyi, çünkü varsayılan "smtp_bind_adresi" ve "inet_interfaces" ayarlarını değiştirmemenizi öneririm, bu nedenle posta sunucunuz tüm IP adreslerinde gelen postaları dinleyecektir.

/Etc/postfix/master.cf dosyanızda yalnızca küçük bir değişiklik yapmanız gerekir.

Bu kısmı değiştir:

smtp unix - - - - - smtp
# Postayı MX olarak aktarırken, MX döngülerinden kaçınmak için fallback_relay işlevini devre dışı bırakın
röle unix - - - - - smtp
        -o smtp_fallback_relay =

buna:

smtp unix - - - - - smtp
        -o smtp_bind_adresi = 192.168.0.1
# Postayı MX olarak aktarırken, MX döngülerinden kaçınmak için fallback_relay işlevini devre dışı bırakın
röle unix - - - - - smtp
        -o smtp_bind_adresi = 192.168.0.1
        -o smtp_fallback_relay =

Elbette, 192.168.0.1 yerine, postalarınızı göndermek istediğiniz IP adreslerinden birini kullanmanız gerekir.

Zoltan


O sırada posta sunucusunun hem gelen hem de giden e-posta için yalnızca bir IP adresini dinlemesini istediğimi düşünüyorum. Ama yine de, ekstra bilgiyi takdir ediyorum. Teşekkürler.
EarthMind

1
Bu ipv6 ile çalışacak mı? Öyleyse, iki adres ekleyip her birine bağlayabilir miyim? Bu çözümle hala belirttiğim ipv4 adresini değil, ipv6 üzerinden giden postaları alıyorum
billynoah

Ben ekledim -o smtp_bind_address6=1:2:3:4:5:6:7:8ve iş gibi görünüyor.
billynoah

1
Bu doğru değil. O olduğu için hepsini ekleyerek yoluyla Postfix'i çok arabirimde dinlemek yapmak mümkün inet_interfacesya da sadece ayarlayarak - all(varsayılan) ve yapılandırılması smtp_bind_address. Daha sonra smtp_bind_address (veya smtp_bind_address6) ile belirtilen adres Postfix smtp gönderme işlemi için bağımsız olarak kullanılır.
maxschlepzig

-O smtp_bind_adresi adresini master.cf 'ye ekledim ve çalışmadı. Main.cf içinde kullandım ve işe yaradı.
Areeb Soo Yasir,

10

master.cf

Farklı Arabirimler oluşturun. Her alan için bir tane:

rotate1  unix -       -       n       -       -       smtp
          -o syslog_name=postfix-rotate1
          -o smtp_helo_name=domainone.com.br
          -o smtp_bind_address=173.111.111.1

rotate2  unix -       -       n       -       -       smtp
          -o syslog_name=postfix-rotate2
          -o smtp_helo_name=domaintwo.com.br
          -o smtp_bind_address=173.111.111.2

main.cf

  1. Diğer tüm ulaşım haritalarını devre dışı bırakın, örneğin: # transport_maps = xxxxx

  2. Bağımlı aktarım haritasını etkinleştir (2.7.x sonrası veya sonrası için zorunlu)

sender_dependent_default_transport_maps = mysql: /etc/postfix/config/transport_random_dependent.cf

transport_random_dependent.cf

Örnek:

user = postfix
password = mypassword
dbname = postfixdb
hosts = localhost
query = SELECT transport FROM transport_random WHERE domain = '%d' AND status='1' ORDER BY RAND() LIMIT 1

Tablo transport_random

Column "transport" = rotate1, rotate2, rotate3, rotate4 (etc)
Column "domain" = sender domains (replaced by %d)
Column "status" = boolean (0 or 1) if is enabled the transport.

"RAND () LIMIT 1" komutu yalnızca aynı alan için rasgele aktarım kullanmak istiyorsanız gereklidir.

Örneğin, alanim.com.tr sitesinden 3 farklı IP adresinden göndermek istiyorsunuz.

Ardından, 3 farklı IP ile 3 taşıma (döndürme1, döndürme2 ve döndürme3) oluşturun, ardından mysql satırlarına ayarlayın:

transport = rotate1 | domain = mydomain.com
transport = rotate2 | domain = mydomain.com
transport = rotate3 | domain = mydomain.com

Ardından, postfix bu farklı e-postaları göndermek için üç farklı aktarımı rastgele seçtiğinde (bir ila üç döndürerek).


3

/Etc/postfix/main.cf dosyasını düzenleyin ve aşağıdaki satırın mevcut olduğundan emin olun

inet_interfaces = 66.66.66.67, localhost

Sonra "postfix reoad" u çalıştırın


2
Bu, IP adresini yalnızca SMTP bağlantılarını dinleyecek ve giden postayı göndermek için kullanılacak IP adresini değil, ayarlar.
ub3rst4r
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.