[postfix-users] Falsche NIC bei 2 Postfix-Instanzen
Hallo zusammen,
ich betreibe zwei Postfix Server, welche als Mailrelays dienen - einer für eingehende, einer für ausgehende E-Mails.
Nun würde ich gern beide Server auf einem vereinen. Dazu habe ich zwei Postfix-Instanzen erstellt.
Sobald ich Postfix-out (2. Instanz) starte funktioniert auch alles. Über Instanz 1 (eth0) kommen die Mails rein, werden an Amavis (Spamassassin + Clamd) übergeben und kommen wieder zurück an Instanz 1. Instanz 2 nimmt auch die Mails an und versendet sie nach draußen.
Nach einiger Zeit (mal 1-2 Minuten, mal erst nach 30 Minuten) hängen aber Mails in der Queue (Timeout). Grund ist, dass Postfix-in die zweite NIC eth1 zum Versenden der Mails an den internen Exchange-Server nutzt statt eth0. Die Firewall lässt nur von eth0 eine Verbindung nach intern zu. Netstat zeigt an, dass eben eth1 versucht den Exchangeserver zu kontaktieren.
Ich habe schon jede Menge mit smtp_bind_address und inet_interfaces herumprobiert. Ohne Erfolg.
Hat jemand eine Idee, wo ich noch drehen kann?
Hier noch die Configs:
Postconf -n:
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
alternate_config_directories = /etc/postfix-out
append_dot_mydomain = no
biff = no
canonical_maps = hash:/etc/postfix/canonical
command_directory = /usr/sbin
config_directory = /etc/postfix
content_filter = smtp-amavis:[127.0.0.1]:10024
daemon_directory = /usr/lib/postfix
debug_peer_level = 2
defer_transports =
disable_dns_lookups = no
disable_mime_output_conversion = no
header_checks = regexp:/etc/postfix/header_checks
home_mailbox = Maildir/
html_directory = /usr/share/doc/packages/postfix/html
inet_interfaces = <dnsname1.mydomain.com>, localhost, 127.0.0.1
inet_protocols = all
mail_owner = postfix
mail_spool_directory = /var/mail-in
mailbox_command = /usr/bin/procmail
mailbox_size_limit = 0
mailbox_transport =
mailq_path = /usr/bin/mailq
manpage_directory = /usr/share/man
masquerade_classes = envelope_sender, header_sender, header_recipient
masquerade_domains =
masquerade_exceptions = root
message_size_limit = 4000000
mydestination = <dnsname1.mydomain.com>, localhost
mydomain = <mydomain.com>
myhostname = <dnsname1.mydomain.com>
mynetworks = <IP-eth0>
mynetworks_style = subnet
myorigin = /etc/mailname
newaliases_path = /usr/bin/newaliases
queue_directory = /var/spool/postfix-in
readme_directory = /usr/share/doc/packages/postfix/README_FILES
recipient_delimiter = +
relay_domains = <mydomain.com>
relay_recipient_maps = hash:/etc/postfix/relay_recipients
relayhost = <interne IP Exchange>
relocated_maps = hash:/etc/postfix/relocated
sample_directory = /usr/share/doc/packages/postfix/samples
sender_canonical_maps = hash:/etc/postfix/sender_canonical
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop
smtp_sasl_auth_enable = no
smtp_use_tls = no
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_client_restrictions =
smtpd_helo_restrictions =
smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination,reject_rbl_client zen.spamhaus.org
smtpd_sasl_auth_enable = no
smtpd_sender_restrictions = hash:/etc/postfix/access
smtpd_use_tls = no
strict_8bitmime = no
strict_rfc821_envelopes = no
transport_maps = hash:/etc/postfix/transport
unknown_local_recipient_reject_code = 450
virtual_alias_domains = hash:/etc/postfix/virtual
virtual_alias_maps = hash:/etc/postfix/virtual
Postconf -c /etc/postfix-out/ -n:
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
alternate_config_directories = /etc/postfix
append_dot_mydomain = no
biff = no
canonical_maps = hash:/etc/postfix-out/canonical
command_directory = /usr/sbin
config_directory = /etc/postfix-out/
daemon_directory = /usr/lib/postfix
debug_peer_level = 2
defer_transports =
disable_dns_lookups = no
disable_mime_output_conversion = no
home_mailbox = Maildir/
html_directory = /usr/share/doc/packages/postfix/html
inet_interfaces = <dnsname2.mydomain.com>
inet_protocols = all
mail_owner = postfix
mail_spool_directory = /var/mail-out
mailbox_command = /usr/bin/procmail
mailbox_size_limit = 0
mailbox_transport =
mailq_path = /usr/bin/mailq
manpage_directory = /usr/share/man
masquerade_classes = envelope_sender, header_sender, header_recipient
masquerade_domains =
masquerade_exceptions = root
message_size_limit = 4000000
mydestination = <dnsname2.mydomain.com>
mydomain = <mydomain.com>
myhostname = <dnsname2.mydomain.com>
mynetworks = <interne IPs, DMZ-IPs, nicht eht0!>
mynetworks_style = subnet
myorigin = /etc/mailname-out
newaliases_path = /usr/bin/newaliases
queue_directory = /var/spool/postfix-out
readme_directory = /usr/share/doc/packages/postfix/README_FILES
recipient_delimiter = +
relayhost =
relocated_maps = hash:/etc/postfix-out/relocated
sample_directory = /usr/share/doc/packages/postfix/samples
sender_canonical_maps = hash:/etc/postfix-out/sender_canonical
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop
smtp_bind_address = <IP eth1>
smtp_sasl_auth_enable = no
smtp_use_tls = no
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_client_restrictions =
smtpd_helo_restrictions =
smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination
smtpd_sasl_auth_enable = no
smtpd_sender_restrictions = hash:/etc/postfix-out/access
smtpd_use_tls = no
strict_8bitmime = no
strict_rfc821_envelopes = no
syslog_name = mailout
transport_maps = hash:/etc/postfix-out/transport
unknown_local_recipient_reject_code = 450
virtual_alias_domains = hash:/etc/postfix-out/virtual
virtual_alias_maps = hash:/etc/postfix-out/virtual
Gruß Michael Peter
* Michael Peter Michael.Peter@unitedplanet.com wrote:
Nach einiger Zeit (mal 1-2 Minuten, mal erst nach 30 Minuten) hängen aber Mails in der Queue (Timeout). Grund ist, dass Postfix-in die zweite NIC eth1 zum Versenden der Mails an den internen Exchange-Server nutzt statt eth0. Die Firewall lässt nur von eth0 eine Verbindung nach intern zu. Netstat zeigt an, dass eben eth1 versucht den Exchangeserver zu kontaktieren.
Ich habe schon jede Menge mit smtp_bind_address und inet_interfaces herumprobiert. Ohne Erfolg.
Zeig doch mal die Routing-Tabelle und die Interface-Konfiguration.
Ciao Stefan
Zeig doch mal die Routing-Tabelle und die Interface-Konfiguration.
Ciao Stefan -- Stefan Förster http://www.incertum.net/ Public Key: 0xBBE2A9E9 FdI #231: Debugger - Psychologe, der einem erklärt, warum man beim >Anbaggern abgeblitzt ist. (Manfred Worm Schäfer) _______________________________________________ postfix-users mailing list postfix-users@de.postfix.org http://de.postfix.org/cgi-bin/mailman/listinfo/postfix-users
Hier die Infos:
route -n: Ziel Router Genmask Flags Metric Ref Use Iface 10.30.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 10.30.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 0.0.0.0 10.30.1.1 0.0.0.0 UG 0 0 0 eth1 0.0.0.0 10.30.1.1 0.0.0.0 UG 0 0 0 eth0
Ifconfig: eth0 Protokoll:Ethernet Hardware Adresse 00:1E:C9:BA:D3:50 inet Adresse:10.30.1.186 Bcast:10.30.1.255 Maske:255.255.255.0 inet6 Adresse: fe80::21e:c9ff:feba:d350/64 Gültigkeitsbereich:Verbindung UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:5666449 errors:0 dropped:0 overruns:0 frame:0 TX packets:5234734 errors:0 dropped:0 overruns:0 carrier:0 Kollisionen:0 Sendewarteschlangenlänge:1000 RX bytes:1174468193 (1.0 GiB) TX bytes:949519941 (905.5 MiB) Interrupt:169
eth1 Protokoll:Ethernet Hardware Adresse 00:1E:C9:BA:D3:51 inet Adresse:10.30.1.185 Bcast:10.30.1.255 Maske:255.255.255.0 inet6 Adresse: fe80::21e:c9ff:feba:d351/64 Gültigkeitsbereich:Verbindung UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:7 errors:0 dropped:0 overruns:0 frame:0 TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 Kollisionen:0 Sendewarteschlangenlänge:1000 RX bytes:1007 (1007.0 b) TX bytes:492 (492.0 b) Interrupt:177
lo Protokoll:Lokale Schleife inet Adresse:127.0.0.1 Maske:255.0.0.0 inet6 Adresse: ::1/128 Gültigkeitsbereich:Maschine UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:818151 errors:0 dropped:0 overruns:0 frame:0 TX packets:818151 errors:0 dropped:0 overruns:0 carrier:0 Kollisionen:0 Sendewarteschlangenlänge:0 RX bytes:782100431 (745.8 MiB) TX bytes:782100431 (745.8 MiB)
Gruß Michael
On Tue, Jul 29, 2008 at 1:47 PM, Michael Peter Michael.Peter@unitedplanet.com wrote:
eth0 Protokoll:Ethernet Hardware Adresse 00:1E:C9:BA:D3:50 inet Adresse:10.30.1.186 Bcast:10.30.1.255 Maske:255.255.255.0
[...]
eth1 Protokoll:Ethernet Hardware Adresse 00:1E:C9:BA:D3:51 inet Adresse:10.30.1.185 Bcast:10.30.1.255 Maske:255.255.255.0
Wofür soll die zweite Netzwerkkarte genau sein? Die zweite IP könntest Du ebensogut mit auf die erste Karte legen...
On Tue, Jul 29, 2008 at 1:47 PM, Michael Peter Michael.Peter@unitedplanet.com wrote:
route -n: Ziel Router Genmask Flags Metric Ref Use Iface 10.30.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 10.30.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 0.0.0.0 10.30.1.1 0.0.0.0 UG 0 0 0 eth1 0.0.0.0 10.30.1.1 0.0.0.0 UG 0 0 0 eth0
Ach - ich glaube übrigens nicht, daß diese Konfiguration sinnvoll ist. Zwei IPs aus dem selben Subnetz an zwei Interfaces mag ja noch gehen, aber - ich hab's nicht ausprobiert - woher soll der Kernel denn bei dieser Konfiguration wissen, ob er ein Paket an 10.30.1.1 nun über eth0 oder eth1 routen soll? Zwei default Gateways ansich sind ja schon paradox, aber auch noch auf zwei Interfaces das gleiche default Gateway - das kann eigentlich nicht gut gehen.
Ach - ich glaube übrigens nicht, daß diese Konfiguration sinnvoll ist. Zwei IPs aus dem selben Subnetz an zwei Interfaces mag ja noch gehen, aber - ich hab's nicht ausprobiert - woher soll der Kernel denn bei dieser Konfiguration wissen, ob er ein Paket an 10.30.1.1 nun über eth0 oder eth1 routen soll? Zwei default Gateways ansich sind ja schon paradox, aber auch noch auf zwei Interfaces das gleiche default Gateway - das kann eigentlich nicht gut gehen. _______________________________________________ postfix-users mailing list postfix-users@de.postfix.org http://de.postfix.org/cgi-bin/mailman/listinfo/postfix-users
Das mit den 2 Default-GW leuchtet ein. Hab die 2. IP-Adresse mal auf die 1. gebunden und nur bei eth0 ein Gateway eingetragen. Es scheint auch zu funktionieren! Mails werden derzeit richtig geroutet bzw. nicht mehr über die falsche IP versendet - und das schon seit über einer Stunde.
Somit sollte mein Problem gelöst sein.
Danke vielmals @ nighthawk und Stefan
* Michael Peter Michael.Peter@unitedplanet.com wrote:
Zeig doch mal die Routing-Tabelle und die Interface-Konfiguration.
Ziel Router Genmask Flags Metric Ref Use Iface 10.30.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 10.30.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 0.0.0.0 10.30.1.1 0.0.0.0 UG 0 0 0 eth1 0.0.0.0 10.30.1.1 0.0.0.0 UG 0 0 0 eth0
Herzlichen Glühstrumpf. Wenn Du das so machst, dann darfst Du Dir eine Form von Policy-Routing an's Bein binden. Für Linux-Derivate habe ich das damals - für mich und sehr kurz - unter http://www.incertum.net/archives/145-Policy-Routing-mit-mehreren-Upstreams.h... dokumentiert, für andere Unix-Derivate kann ich Dir nicht helfen.
Ciao Stefan
participants (3)
-
Michael Peter
-
nighthawk
-
Stefan Förster