postfix firewall daemon Probleme

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

HarryPotter

Benutzer
Registriert
24. Aug. 2007
Beiträge
2.156
Reaktionspunkte
0
Punkte
0
  • Perl Module:
    • Net::Server::Multiplex
    • Net::DNS
    Diese Module sollte es in ipkg geben und sonst kann man sie von cpan direkt laden
    Code:
    perl -MCPAN -e shell
    install <Module>

Bin völlig überfordert damit.

Gebe ich

Code:
perl -MPCAN -e shell
ein, macht er irgendwas, danach Frage ob ich manuell konfigurieren wiil. Ich sage nein danke.

Dann kommt

cpan>

da geb ich
Code:
install Net::Server::Multiplex
ein.

Output:

Code:
cpan> install Net::Server::Multiplex
Going to read /root/.cpan/sources/authors/01mailrc.txt.gz
/bin/gzip: invalid option -- -
BusyBox v1.1.0 (2010.01.23-17:19+0000) multi-call binary

Usage: gzip [OPTION]... [FILE]...

Going to read /root/.cpan/sources/modules/02packages.details.txt.gz
/bin/gzip: invalid option -- -
BusyBox v1.1.0 (2010.01.23-17:19+0000) multi-call binary

Usage: gzip [OPTION]... [FILE]...

Warning: Your /root/.cpan/sources/modules/02packages.details.txt.gz does not con
tain a Line-Count header.
Please check the validity of the index file by comparing it to more
than one CPAN mirror. I'll continue but problems seem likely to
happen.
Warning: Your /root/.cpan/sources/modules/02packages.details.txt.gz does not con
tain a Last-Updated header.
Please check the validity of the index file by comparing it to more
than one CPAN mirror. I'll continue but problems seem likely to
happen.
Going to read /root/.cpan/sources/modules/03modlist.data.gz
/bin/gzip: invalid option -- -
BusyBox v1.1.0 (2010.01.23-17:19+0000) multi-call binary

Usage: gzip [OPTION]... [FILE]...

Can't locate object method "data" via package "CPAN::Modulelist" (perhaps you fo
rgot to load "CPAN::Modulelist"?) at (eval 30) line 1.
 at /opt/lib/perl5/5.8.8/CPAN.pm line 3405
        CPAN::Index::rd_modlist('CPAN::Index', '/root/.cpan/sources/modules/03mo
dlist.data.gz') called at /opt/lib/perl5/5.8.8/CPAN.pm line 3128
        CPAN::Index::reload('CPAN::Index') called at /opt/lib/perl5/5.8.8/CPAN.p
m line 675
        CPAN::exists('CPAN=HASH(0x1053f0cc)', 'CPAN::Module', 'Net::Server::Mult
iplex') called at /opt/lib/perl5/5.8.8/CPAN.pm line 1841
        CPAN::Shell::expandany('CPAN::Shell', 'Net::Server::Multiplex') called a
t /opt/lib/perl5/5.8.8/CPAN.pm line 2077
        CPAN::Shell::rematein('CPAN::Shell', 'install', 'Net::Server::Multiplex'
) called at /opt/lib/perl5/5.8.8/CPAN.pm line 2164
        CPAN::Shell::install('CPAN::Shell', 'Net::Server::Multiplex') called at
/opt/lib/perl5/5.8.8/CPAN.pm line 201
        eval {...} called at /opt/lib/perl5/5.8.8/CPAN.pm line 201
        CPAN::shell() called at -e line 1

cpan>

Sieht nicht nach Erfolg aus :mad:
 
warum einfach, wenns kompliziert auch geht... ;)

Rich (BBCode):
ipkg install postgrey

tuts auch. Installiert die PHP-Bilbiotheken mit...

Ich poste mal, wie's bei mir geklappt hat...
 
Ja aber ich will ja nur die Lösung mit postfw, das mit den greylist ist mir eine Nummer zu kompliziet, da blick ich nicht durch.
 
Zuletzt bearbeitet von einem Moderator:
@Buntbaer
postgrey bringt ihm nichts, denn er hat chinesische Besucher, die seine Emailpassworte durchprobieren. Er möchte IP-Blöcke auf dem Postfix blocken und das geht mit postgrey nicht.

@HP
Diese Module solltest du eigentlich auch bei ipkg finden können
Code:
ipkg list | grep perl | grep Multiplex
ipkg list | grep perl | grep DNS
so kriegst du die ipkg Paketnamen raus.
 
ipkg install perl-io-multiplex
ipkg install perl-net-dns


Danach

DS408> /volume2/Dokumente/scripte/postfw/postfwd -d -f /volume2/Dokumente/scripte/postfw/postfw.conf

Can't locate Net/Server/Multiplex.pm in @INC (@INC contains: /usr/lib/perl5/5.8.6/PPC_854X /usr/lib/perl5/5.8.6 /usr/lib/perl5/site_perl/5.8.6/PPC_854X /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl) at /volume2/Dokumente/scripte/postfw/postfwd line 21.
BEGIN failed--compilation aborted at /volume2/Dokumente/scripte/postfw/postfwd line 21.

Hoffentlich merkt keiner dass ich null Plan habe.
 
Hast du auch ipkg perl installiert? Nicht nur die Module sondern auch perl selber?
Der Pfad in der Fehlermeldung sagt mir, dass du das default perl verwendest. Sonst müsste der inc Pfad nach /opt zeigen
 
Ja hab ich installiert. Das mail backup script von DS408 auf DS109 funktioniert ja

Wenn ich

ipkg install perl

mache, kommt

Package perl (5.8.8-23) installed in root is up to date.
Nothing to be done
Successfully terminated.


Es gibt einen Ordner /opt/lib/perl5/5.8.8

Aber in /opt/bin/ ist perl ein Link auf /opt/bin/perl5.8.8

Das Zeugs ist nicht in /usr/lib/perl5 drin, da ist nur 5.8.6, statt 5.8.8


Ich hasse es wenn ich einsehen muss dass ich mit was rumspiele von dem ich keine Ahnung habe :(
 
Zuletzt bearbeitet:
Ja hab ich installiert. Das mail backup script von DS408 auf DS109 funktioniert ja

Wenn ich

ipkg install perl

mache, kommt

Package perl (5.8.8-23) installed in root is up to date.
Nothing to be done
Successfully terminated.


Es gibt einen Ordner /opt/lib/perl5/5.8.8

Aber in /opt/bin/ ist perl ein Link auf /opt/bin/perl5.8.8

Das Zeugs ist nicht in /usr/lib/perl5 drin, da ist nur 5.8.6, statt 5.8.8


Ich hasse es wenn ich einsehen muss dass ich mit was rumspiele von dem ich keine Ahnung habe :(
Dann öffne mal die postfwd perl Datei
/volume2/Dokumente/scripte/postfw/postfwd
und passe den Pfad zum per Interpreter an (erste Zeile oder so). Setz den Interpreter auf
Code:
#!/opt/bin/perl -T -w
 
Sehr gut, danggschön vielmol.

So, jetzt hab ichs glaub ich eingerichtet.

Bloss: wie teste ich die Wirksamkeit jetzt? :D
 
Hast du die China Regel eingebaut? Die Synthax der Regel kannst du ja so prüfen
Code:
[FONT=monospace]
[/FONT]/path/to/postfwd --showconfig -f /path/to/postfwd.cf
Ohne chinesische IP wird es jedoch schwierig das wirklich zu testen ;)
 
Ja die Regel ist da.

Hb jetzt gedacht ich setz mal die IP meines PC in die Datei und versuch dann mit Outlook über den smtp der DS eine Mail zu versenden.

Dummerweise kommt die Mail an.

Also entweder ist das Zeugs im postfix nicht aktiv oder die neue Blockierdatei nicht übernommen.
 
Das mit der lokalen IP wird so nicht klappen weil deine LAN Adressen wohl in mynetworks stehen und damit für Postfix vertrauenswürdig sind. In deiner main.cf steht etwas wie
Code:
smtpd_recipient_restrictions = permit_mynetworks,....,check_policy_service
Du müsstest check_policy_service entweder vor permit_mynetworks setzen oder permit_mynetworks entfernen.
Was du auch machen könntest wäre den policy service aus recipient_restrictions zu entfernen.
Dazu legst du wieder in der main.cf einen Eintrag wie
Code:
smtpd_delay_reject = no
smtpd_client_restrictions = check_policy_service inet:127.0.0.1:10040
dann den Postfix reloaden und testen. Jetzt müsste deine IP geblockt werden.
 
Hab mal die 2. Lösung gewählt, Mails gehen aber raus.

Allerdings wenn ich den postfwd neu starten will, erscheint in messages eine Meldung:

Jan 30 19:58:03 postfwd[13205]: 2010/01/30-19:58:03 Can't connect to TCP port 10040 on 127.0.0.1 [Address already in use] at line 88 in file /opt/lib/perl5/site_perl/5.8.8/Net/Server/Proto/TCP.pm

Hat das was zu bedeuten?
 
Du kannst den Dienst nicht zweimal auf dem selben Port starten. Du solltest vor dem Aufrufen des Befehls zum neustarten erstmal den laufenden Prozess abschiessen
Code:
killall postfwd
Wenn die Mails fälschlicherweise immer noch rausgehen, dann zeig mal deine Config (main.cf) und wie du den Service eingebunden hast
 
#smtpd_delay_reject = no
#smtp_client_restrictions = check_policy_service inet:127.0.0.1:10040
#smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, smtp_recipient_restrictions = check_policy_service
check_policy_service = inet:127.0.0.1:10040
smtpd_sender_restrictions = reject_unknown_sender_domain
smtpd_sasl_authenticated_header = yes
smtpd_tls_cert_file = /usr/syno/etc/ssl/ssl.crt/server.crt
smtpd_tls_key_file = /usr/syno/etc/ssl/ssl.key/server.key

virtual_alias_maps=hash:/usr/syno/mailstation/etc/virtual
smtpd_tls_security_level = may
myhostname =meinedomain
smtpd_sasl_auth_enable = yes
message_size_limit = -2147483648



DS408> /volume2/Dokumente/scripte/postfw/postfwd -d -f /volume2/Dokumente/scripte/postfw/postfwd.conf

Der Output von

/volume2/Dokumente/scripte/postfw/postfwd --showconfig -f /volume2/Dokumente/scripte/postfw/postfwd.conf

entspricht deinem Beispiel im Thread, inkl. der lokalen IP meines PC
 
Du siehst aber schon, dass so dein postfwd NICHT in Postfix eingebunden ist?
#smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, smtp_recipient_restrictions = check_policy_service inet:127.0.0.1:10040
Diese Zeile ergibt eher wenig Sinn und dürfte den Postfix wohl abstürzen lassen (zum Glück hast du sie auskommentiert)
 
Btw: Es heisst smtpd_..._restrictions
 
So ist es drin, und die Mails gehen raus


mailbox_size_limit = 0
broken_sasl_auth_clients = yes
cyrus_sasl_config_path = /usr/syno/mailstation/etc
smtp_recipient_restrictions = check_policy_service
check_policy_service = inet:127.0.0.1:10040
smtpd_sender_restrictions = reject_unknown_sender_domain
smtpd_sasl_authenticated_header = yes
smtpd_tls_cert_file = /usr/syno/etc/ssl/ssl.crt/server.crt
smtpd_tls_key_file = /usr/syno/etc/ssl/ssl.key/server.key

virtual_alias_maps=hash:/usr/syno/mailstation/etc/virtual
smtpd_tls_security_level = may
myhostname = meineDomain
smtpd_sasl_auth_enable = yes
message_size_limit = -2147483648


Allerdings kommt nichts mehr rein, so wie es aussieht
 
Code:
smtpd_delay_reject = no
smtpd_client_restrictions = check_policy_service inet:127.0.0.1:10040
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sender_restrictions = reject_unknown_sender_domain
smtpd_sasl_authenticated_header = yes
smtpd_tls_cert_file = /usr/syno/etc/ssl/ssl.crt/server.crt
smtpd_tls_key_file = /usr/syno/etc/ssl/ssl.key/server.key

virtual_alias_maps=hash:/usr/syno/mailstation/etc/virtual
smtpd_tls_security_level = may
myhostname =[I]meinedomain[/I]
smtpd_sasl_auth_enable = yes
message_size_limit = 0
Woher hattest du die Info, dass eine negative message_size_limit einen Effekt hätte? Teste mal mit obigem Code. So müsste es eigentlich klappen

Gruss

tobi
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat