postfix and dovecot 2.0.9 rejecting over quota user on smtp stage
Postfix Changing Outgoing IP By Time Interval Using TCP_TABLE And Perl
Someone asked me if i can make a perl scripts that can change the ip address based on time interval, say he want ip address 1.2.3.4 used within one hour, if done next ip address will be used within next one hour..and so on. when it came to highest number of ip address in array, they will be reset back to the start. first i suggest him to look at the articles i wrote. But then i decide to write Perl script which was made for the purposes mention above.
here we are..
Postfix section:
master.cf 127.0.0.1:2527 inet n n n - 0 spawn user=nobody argv=/etc/postfix/ip_by_time.pl ip1 unix - - n - - smtp -o syslog_name=postfix-ip1 -o smtp_helo_name=smtp1.example.com -o smtp_bind_address=1.2.3.1 ip2 unix - - n - - smtp -o syslog_name=postfix-ip2 -o smtp_helo_name=smtp2.example.com -o smtp_bind_address=1.2.3.2 ip3 unix - - n - - smtp -o syslog_name=postfix-ip3 -o smtp_helo_name=smtp3.example.com -o smtp_bind_address=1.2.3.3 ip4 unix - - n - - smtp -o syslog_name=postfix-ip4 -o smtp_helo_name=smtp4.example.com -o smtp_bind_address=1.2.3.4 .... ....
main.cf
transport_maps = tcp:[127.0.0.1]:2527 127.0.0.1:2527_time_limit = 3600s
Compiling Postfix-2.7.0 As RPM Package
I used to have Simon J. Mudd when building postfix rpm package, but seems he’s not releasing official postfix 2.7.0 yet, here’s a way for impatient one
First make RedHat Linux the standard directory structure in our homedir
$ mkdir rpmbuild $ mkdir -p rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS,tmp}
Create .rpmmacros file
$ vi .rpmmacros
%_topdir %(echo $HOME)/rpmbuild %_tmppath %(echo $HOME)/rpmbuild/tmp
Create tempoerary working directory for postfix
$ mkdir postfix $ cd postfix
Postfix Smtp Outgoing IP Rotator using iptables
This is the scheme
e.g:
I got 5 Public IPs. i’m Gonna configure them, so Postfix can use multiple interfaces/ips for outgoing smtp connections.
First we need creating Interface aliases for those 5 public IPs.
In my system, using fedora:
# cd /etc/sysconfig/network-scripts/ # cp ifcfg-eth0 ifcfg-eth0:1
Edit ifcfg-eth0:1
# vi ifcfg-eth0\:1 DEVICE=eth0 <-- default device HWADDR=XX:XX:XX:XX:XX:XX ONBOOT=yes TYPE=Ethernet BOOTPROTO=none IPADDR=202.XXX.XX.2 <-- default eth0 IP address PREFIX=24 GATEWAY=202.XXX.XX.1 DNS1=202.XXX.XX.XX
Change DEVICE and IPADDR parameters
Postfix smtp outgoing load balancing
I got good workaround for balancing smtp outgoing from postfix mailing list archives(not using expensive real load balancer). suppose we have 4 smtp servers for outgoing email, and we need to configure/load balance like this:
+------------+
| |
+----------> smtp backend a -------->| |
| | |
clients --------> smtp lb -----> smtp backend b -------->| Intenet |
| | |
+----------> smtp backend c -------->| |
| |
+------------+
Here’s the configuration :