farion
16.10.09, 17:25
Hallo,
ich möchte gerne von einem Vserver auf einen anderen Vserver Mails verschicken. Beide Vserver laufen auf dem selben Host und das ist das Problem.
Auf Vserver A läuft ein Mailserver.
Von Vserver B möchte ich nun Mails an von Vserver A gehandelte Adressen schicken.
Ein "telnet mail.domain.tlp 25" auf Vserver B ergibt ein "Connection refused". Gebe ich die interne IP des Mailservers an, also "telnet 192.168.1.40 25" klappts.
"telnet mail.domain.tlp 25" von extern klappt natürlich auch.
Es soll aber auch intern klappen.
Ich verbinde so ja auf die externe IP, deswegen dachte ich, dass da die normalen iptables greifen und den Port 25 an den richtigen vserver schicken. So wie von extern auch. Das scheint aber irgendwie nicht zu klappen.
Meine iptables auf dem Host:
#!/bin/bash
MAINIP=aaa.bbb.ccc.ddd
INTERFACE=eth0
### OUTGOING VSERVER ###
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d ! 192.168.1.0/24 -j SNAT --to-source $MAINIP
function allowservice()
{
iptables -t nat -A PREROUTING -s ! 192.168.1.0/24 -m tcp -p tcp --dport $1 -j DNAT --to-destination $2:$3
iptables -A INPUT -p tcp --dport $1 -i $INTERFACE -j ACCEPT
}
### MAILSERVER ###
#SMTP
allowservice 25 192.168.1.40 25
#Hier kommen noch weiter allowservice für andere ports [...]
Gruss Frieder
ich möchte gerne von einem Vserver auf einen anderen Vserver Mails verschicken. Beide Vserver laufen auf dem selben Host und das ist das Problem.
Auf Vserver A läuft ein Mailserver.
Von Vserver B möchte ich nun Mails an von Vserver A gehandelte Adressen schicken.
Ein "telnet mail.domain.tlp 25" auf Vserver B ergibt ein "Connection refused". Gebe ich die interne IP des Mailservers an, also "telnet 192.168.1.40 25" klappts.
"telnet mail.domain.tlp 25" von extern klappt natürlich auch.
Es soll aber auch intern klappen.
Ich verbinde so ja auf die externe IP, deswegen dachte ich, dass da die normalen iptables greifen und den Port 25 an den richtigen vserver schicken. So wie von extern auch. Das scheint aber irgendwie nicht zu klappen.
Meine iptables auf dem Host:
#!/bin/bash
MAINIP=aaa.bbb.ccc.ddd
INTERFACE=eth0
### OUTGOING VSERVER ###
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d ! 192.168.1.0/24 -j SNAT --to-source $MAINIP
function allowservice()
{
iptables -t nat -A PREROUTING -s ! 192.168.1.0/24 -m tcp -p tcp --dport $1 -j DNAT --to-destination $2:$3
iptables -A INPUT -p tcp --dport $1 -i $INTERFACE -j ACCEPT
}
### MAILSERVER ###
#SMTP
allowservice 25 192.168.1.40 25
#Hier kommen noch weiter allowservice für andere ports [...]
Gruss Frieder