ฉันได้เซิร์ฟเวอร์ที่มีที่อยู่ IP 8 อันเพื่อใช้เป็นเซิร์ฟเวอร์อีเมล (ด้วย PostFix) ฉันต้องการให้ PostFix หมุน IP และชื่อโฮสต์สำหรับแต่ละข้อความ ฉันพบพารามิเตอร์การกำหนดค่า

smtp_bind_address = 1.2.3.4

(และมีอีกอันหนึ่งที่ฉันจำไม่ได้ว่าเป็นชื่อโฮสต์) แต่นั่นทำให้ฉันผูกกับ IP/ชื่อโฮสต์เดียวเท่านั้น

ตัวอย่าง;
ฉันมี IP เหล่านี้:

1.1.1.1 => mail1.mydomain.com
1.1.1.2 => mail2.mydomain.com
1.1.1.3 => mail3.mydomain.com
[etc]

ข้อความแรกควรส่งจาก 1.1.1.1, วินาทีจาก 1.1.1.2, ที่สามจาก 1.1.1.3 เป็นต้น ดังนั้นเพียงแค่ปัดเศษของ IP ที่มีอยู่

เป็นไปได้ด้วย Postfix หรือไม่

answer

Postfix ไม่สามารถทำได้ แต่คุณสามารถใช้เป้าหมาย SNAT ของ iptables ร่วมกับโมดูลสถิติเพื่อหมุนเวียนที่อยู่ของคุณ สิ่งนี้ควรทำ:

iptables -t nat -A POSTROUTING -p tcp --dport 25 -d <your_dest_mailserver> -m statistic --mode nth --every 8 -j SNAT --to 1.1.1.1
iptables -t nat -A POSTROUTING -p tcp --dport 25 -d <your_dest_mailserver> -m statistic --mode nth --every 8 -j SNAT --to 1.1.1.2
[...]
iptables -t nat -A POSTROUTING -p tcp --dport 25 -d <your_dest_mailserver> -m statistic --mode nth --every 8 -j SNAT --to 1.1.1.8

ลองดูที่ส่วน "ผู้ส่งชื่อเสียง" ของPostfix 2.7 บันทึกประจำรุ่น คุณอาจจะสามารถหลบเลี่ยงอะไรบางอย่างจากมันได้

มิฉะนั้นโพสต์จากรายชื่อผู้รับจดหมาย Postfix นี้มีคำชี้แจงจาก Wietse Venema ที่ระบุว่า Postfix จะไม่มีวันรองรับ ฉันเห็นด้วยกับเขาเช่นกัน ถ้าผู้รับมีข้อจำกัด คุณไม่ควรพยายามหลีกเลี่ยงพวกเขา ถ้านั่นทำให้เกิดปัญหากับผู้รับ นั่นคือปัญหาของพวกเขา

ไม่มี syneticon-dj คุณคิดผิด แน่นอนว่า postfix สามารถทำได้:
ดูตัวอย่างด้านล่าง:
http://marinovl.blogspot.com/2012/09/postfix-how-to-balance-outgoing-emails.html
http: //www.kutukupret.com/2010/12/06/postfix-randomizing-outgoing-ip-using-tcp_table-and-perl/