E-Mail von dd-wrt-Router

Post new topic   Reply to topic    DD-WRT Forum Forum Index -> Broadcom SoC basierende Hardware
Goto page 1, 2, 3  Next
Author Message
Victor F.
DD-WRT Novice


Joined: 07 Jun 2009
Posts: 18

PostPosted: Sun Jun 07, 2009 9:32    Post subject: E-Mail von dd-wrt-Router Reply with quote
Hallo community,
folgendes Problem konnte ich bisher nicht lösen. Könnt Ihr helfen?

Infos:
1. Um welches Router Modell handelt es sich? WRT54gl V1.1
2: Welche Firmwareversion wird verwendet? mini
3: Wie wurde der Router Geflasht -> 30/30/30 sec. ok
4: Wie sind die lokalen Netzwerkgegebenheiten? Der Router ist einem LAN und realisiert dort ein WLAN-Unternetz. Das funktioniert auch alles sehr gut.
5. Wie ist der Router an das Internet angebunden? Über das LAN, das wiederum über einen Netgear-Router FWG-114 an DSL (Alice)angeschlossen ist. Das funkioniert auch alles.
6. Was soll realisiert werden / Was führ ein Problem besteht? Ich möchte automatisch E-Mails vom DD-WRT-Router zugeschickt bekommen. (Sie sollen die log-Dateien enthalten.) Dazu habe ich im jffs-Ordner ein Script platziert, das später durch ein cron-job gestartet werden soll. Leider funtkioniert es nicht vom DD-WRT-Router aus. Bei anderen Rechnern - sogar welchen, die im Subnetz des DD-WRT-Routers sind - funktioniert das Script. Es kann also nicht ganz falsch sein. In den iptables habe ich nichts gefunden, was Port 25 sperrt. Was könnte es noch sein?

Danke,
Victor

Es folgt das Script: (Nicht von mir geschrieben.)


#!/bin/sh
# simple script to connect to deliver mail to an SMTP server without
# having to rely on Postfix or Sendmail (long story). Initially
# I tried to use telnet but telnet can't handle automated interaction.
# Netcat however turns out to be one awesome 'swiss army knife'.
# My production version of this has a separate script dynamically
# determine variables based off certain database values & time of
# day conditions, exports them and calls this script to
# handle the emails, which delivers them in mere seconds instead of
# minutes or never (still, long story).

EMAIL_TO="*******@web.de"
EMAIL_SUBJECT="SYSLOGD Report"
EMAIL_DATA="line 1
line 2
line 3
test test."

# could use HELO instead -- guess it depends on the SMTP server. It
# should default back to HELO if EHLO isn't supported
(echo EHLO $USER@wrt54gl
sleep 1
echo MAIL FROM: syslogd@dd-wrt.com
sleep 1
echo RCPT TO: $EMAIL_TO
sleep 1
echo "DATA
From: syslogd@dd-wrt.com
To: $EMAIL_TO
Subject: $EMAIL_SUBJECT

$EMAIL_DATA"
sleep 1
echo '.'
sleep 1
echo QUIT) | nc smtp.web.de 25
Sponsor
pepe
DD-WRT Guru


Joined: 16 Jun 2006
Posts: 2427
Location: Berlin, Germany

PostPosted: Sun Jun 07, 2009 9:47    Post subject: Reply with quote
Kannst ja mal
Code:
iptables -I OUTPUT 1 -p tcp --dport 25 -m state --state NEW -j ACCEPT
iptables - I OUTPUT 2 -m state --state ESTABLISHED,RELEATED -j ACCEPT

probieren wenn der PORT 25 ausgehend geblockt werden sollte

_________________
http://www.dd-wrt.com/phpBB2/search.php?
http://www.dd-wrt.com/wiki/index.php/Main_Page
http://www.dd-wrt.com/wiki/index.php/Category:Deutsche_Dokumentation

http://i-use.ipfire.org/profile/454051a193d29c9019ea3d0ce3c4b801435fd682/0.png
Victor F.
DD-WRT Novice


Joined: 07 Jun 2009
Posts: 18

PostPosted: Sun Jun 07, 2009 10:34    Post subject: Reply with quote
Hallo pepe,
danke für die schnelle Antwort. Ich entnehme Deiner Antwort, dass es eigentlich gehen müsste. Ist das so?

Leider kann ich Deinen Vorschlag nicht sofort testen, da der Router in der Schule steht. (Soll ein HotSpot werden.) Morgen kann ich ihn mitbringen.

Ich habe aber die iptables hier. Vielleicht siehst Du da ja schon etwas.

Vielen Dank.

Victor



root@DD-WRT:/usr/sbin# iptables -L

Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT 0 -- anywhere anywhere state RELATED,ESTAB
LISHED
DROP udp -- anywhere anywhere udp dpt:route
DROP udp -- anywhere anywhere udp dpt:route
ACCEPT udp -- anywhere anywhere udp dpt:route
logdrop icmp -- anywhere anywhere
logdrop igmp -- anywhere anywhere
ACCEPT 0 -- anywhere anywhere state NEW
logaccept 0 -- anywhere anywhere state NEW
logdrop 0 -- anywhere anywhere

Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT 0 -- anywhere anywhere
logdrop 0 -- anywhere anywhere state INVALID
TCPMSS tcp -- anywhere anywhere tcp flags:SYN,RST/S
YN tcpmss match 1461:65535 TCPMSS set 1460
lan2wan 0 -- anywhere anywhere
ACCEPT 0 -- anywhere anywhere state RELATED,ESTAB
LISHED
logdrop tcp -- anywhere anywhere tcp dpt:1723
logdrop udp -- anywhere anywhere udp dpt:1701
logdrop udp -- anywhere anywhere udp dpt:500
TRIGGER 0 -- anywhere anywhere TRIGGER type:in mat
ch:0 relate:0
trigger_out 0 -- anywhere anywhere
logaccept 0 -- anywhere anywhere state NEW
logdrop 0 -- anywhere anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain advgrp_1 (0 references)
target prot opt source destination

Chain advgrp_10 (0 references)
target prot opt source destination

Chain advgrp_2 (0 references)
target prot opt source destination

Chain advgrp_3 (0 references)
target prot opt source destination

Chain advgrp_4 (0 references)
target prot opt source destination

Chain advgrp_5 (0 references)
target prot opt source destination

Chain advgrp_6 (0 references)
target prot opt source destination

Chain advgrp_7 (0 references)
target prot opt source destination

Chain advgrp_8 (0 references)
target prot opt source destination

Chain advgrp_9 (0 references)
target prot opt source destination

Chain grp_1 (0 references)
target prot opt source destination

Chain grp_10 (0 references)
target prot opt source destination

Chain grp_2 (0 references)
target prot opt source destination

Chain grp_3 (0 references)
target prot opt source destination

Chain grp_4 (0 references)
target prot opt source destination

Chain grp_5 (0 references)
target prot opt source destination

Chain grp_6 (0 references)
target prot opt source destination

Chain grp_7 (0 references)
target prot opt source destination

Chain grp_8 (0 references)
target prot opt source destination

Chain grp_9 (0 references)
target prot opt source destination

Chain lan2wan (1 references)
target prot opt source destination

Chain logaccept (2 references)
target prot opt source destination
ACCEPT 0 -- anywhere anywhere

Chain logdrop (8 references)
target prot opt source destination
DROP 0 -- anywhere anywhere

Chain logreject (0 references)
target prot opt source destination
REJECT tcp -- anywhere anywhere tcp reject-with tcp
-reset

Chain trigger_out (1 references)
target prot opt source destination
pepe
DD-WRT Guru


Joined: 16 Jun 2006
Posts: 2427
Location: Berlin, Germany

PostPosted: Sun Jun 07, 2009 10:47    Post subject: Reply with quote
Sieht nach den Stad Rules von dd-wrt aus!

ACHTUNG nicht verwirren lassen das die default policy auf ACCEPT steht was den Anschein erwägt das dort Tür und Tor offensteht dem ist aber nicht so!
Da gibt es noch eine Verknüpfung zu Chain logdrop (8 references)
Der Grund (default policy auf ACCEPT ) dafür findet sich vermutlich in Verbindung mit den L7 Patches / Filtern!


Ob das gehen müsste kann ich dir nicht sagen es gibt hier nicht sehr oft Projekte dieser Art deswegen hab ich da auch keine Erfahrungswerte oder Anhaltspunkte die bei der Fehler Suche helfen könnten, es hilft also nur Probieren!
Teste das ganze doch mal zuhause bei dir wenn das möglich sein sollte!
mein Vermutung ist das ausgehender Verkehr der vom Router selbst erzeugt wir geblockt wird (ist ja auch vernünftig) deswegen die ACCPET Regel für Port 25 in der OUTPUT Kette

Hab die beiden FW Regeln gerade mal bei mir eingebaut und das Script per ssh laufen lassen
folgendes ist bei rausgekommen
Code:
220 smtp08.web.de ESMTP WEB.DE V4.110#277 Sun, 07 Jun 2009 12:59:15 +0200
501 syntactically invalid EHLO argument(s)
550 HELO or EHLO required
503 No sender yet given
503 MAIL FROM command must precede DATA
500 Unrecognized command
500 Unrecognized command
500 Unrecognized command
500 Unrecognized command
500 Unrecognized command
500 Unrecognized command
500 Unrecognized command
500 Unrecognized command
500 Unrecognized command
221 smtp08.web.de closing connection

Sieht für mich so aus das eine ausgehenden Verbindung vom Router selbst auf Port 25 erlaubt wird und auch sattfindet.
Es scheint allerdings ein Problem mit dem EHLO zugeben!
Da müsste man sich mal das Script in Ruhe anschauen und schauen wo es Klemmt!

So habe noch ein bisschen weiter getestet!
auch ohne die FW Regeln klappt es soweit
allerdings treten immer wieder Authentifizierungs Probleme auf
scheint also am Script zu liegen!

_________________
http://www.dd-wrt.com/phpBB2/search.php?
http://www.dd-wrt.com/wiki/index.php/Main_Page
http://www.dd-wrt.com/wiki/index.php/Category:Deutsche_Dokumentation

http://i-use.ipfire.org/profile/454051a193d29c9019ea3d0ce3c4b801435fd682/0.png
Victor F.
DD-WRT Novice


Joined: 07 Jun 2009
Posts: 18

PostPosted: Sun Jun 07, 2009 12:17    Post subject: Reply with quote
Ok, vielen Dank, pepe. Ich teste alles - und melde mich auf jeden Fall mit den Ergebnissen.

Einen schönen Tag noch wünscht

Victor
pepe
DD-WRT Guru


Joined: 16 Jun 2006
Posts: 2427
Location: Berlin, Germany

PostPosted: Sun Jun 07, 2009 15:23    Post subject: Reply with quote
So hab nochmal ein bisschen mit dem script gespielt!
und es funktioniert einwandfrei auch ohne Firewall Regeln in der OUTPUT Kette!

Code:
!/bin/sh
# simple script to connect to deliver mail to an SMTP server without
# having to rely on Postfix or Sendmail (long story). Initially
# I tried to use telnet but telnet can't handle automated interaction.
# Netcat however turns out to be one awesome 'swiss army knife'.
# My production version of this has a separate script dynamically
# determine variables based off certain database values & time of
# day conditions, exports them and calls this script to
# handle the emails, which delivers them in mere seconds instead of
# minutes or never (still, long story).


EMAIL_TO="Empfängeradresse"
EMAIL_SUBJECT="SYSLOGD Report"
EMAIL_DATA="line 1
line 2
line 3
test test."
# could use HELO instead -- guess it depends on the SMTP server. It
# should default back to HELO if EHLO isn't supported
(echo helo web.de
sleep 6
echo MAIL FROM: router@dd-wrt.com
sleep 1
echo RCPT TO: $EMAIL_TO
sleep 1
echo "DATA"
sleep 1
echo "From: router@dd-wrt.com 
To: $EMAIL_TO
Subject: $EMAIL_SUBJECT

$EMAIL_DATA"
sleep 1
echo '.'
sleep 1
echo QUIT) | nc Postausgangsserver 25


Wenn irgendwas nicht klappt musst du mal die "Fehler"meldungen auswerten die dir der Mail Server zurückgibt, an dd-wrt liegt das jedenfalls nicht!

am besten du machst das von der ssh Konsole des Routers aus damit du die Meldungen auch siehst!



sysmail.JPG
 Description:
 Filesize:  7.91 KB
 Viewed:  11454 Time(s)

sysmail.JPG



ssh-.JPG
 Description:
 Filesize:  40.5 KB
 Viewed:  11460 Time(s)

ssh-.JPG



_________________
http://www.dd-wrt.com/phpBB2/search.php?
http://www.dd-wrt.com/wiki/index.php/Main_Page
http://www.dd-wrt.com/wiki/index.php/Category:Deutsche_Dokumentation

http://i-use.ipfire.org/profile/454051a193d29c9019ea3d0ce3c4b801435fd682/0.png
Victor F.
DD-WRT Novice


Joined: 07 Jun 2009
Posts: 18

PostPosted: Sun Jun 07, 2009 17:25    Post subject: Reply with quote
Hallo pepe,
das ist ja toll. Es funktioniert also bei Dir. Ich werde es morgen ausprobieren und hoffe, dass es dann auch bei mir läuft. Das Problem bei meinen Tests war, dass ich nach dem Scriptstart gar keine Meldung, auch keine Fehlermeldung bekommen hatte, sodass die Analyse schwer war.

Ich bin gespannt auf morgen. Vielen Dank, dass Du Dich der Sache so intensiv angenommen hast.

Tschüss,
Victor
Victor F.
DD-WRT Novice


Joined: 07 Jun 2009
Posts: 18

PostPosted: Mon Jun 08, 2009 16:27    Post subject: Reply with quote
Hallo pepe,
leider funktioniert es nicht bei mir. Folgendes habe ich getestet.

Ich habe Dein Script übernommen und im Verzeichnis jffs auf dem Router gespeichert, es ausfuehrbar gemacht und gestartet. Ich bekam keine Antwort: nach etlicher Zeit kam die Meldung über die Zeitüberschreitung.

Habe die iptable-Kommandos ausgeführt - keine Änderung beim anschließenden Abschicken des Scripts.
(Im übrigen habe ich keine Änderungen in den iptables festgestellt nach Ausführung der Befehle. Müsste dort nicht irgendetwas von Port 25 stehen?)

Nun habe ich unter Ubuntu in einer virtuellen Maschine das script installiert und dort gestestet:

bei web.de
victor@ubuntu-vm:~$ sh webmailscript2.sh
220 smtp06.web.de ESMTP WEB.DE V4.110#277 Mon, 08 Jun 2009 16:37:26 +0200
250 smtp06.web.de Hello *********.adsl.alicedsl.de [ip]
501 Keine Authentifizierung, oder POP3-Anmeldung zu weit in der Vergangenheit . / Authentification failed, or POP3 logon too old.
503 No sender yet given
503 MAIL FROM command must precede DATA
500 Unrecognized command
500 Unrecognized command
500 Unrecognized command
500 Unrecognized command
500 Unrecognized command
500 Unrecognized command
500 Unrecognized command
500 Unrecognized command
500 Unrecognized command
221 smtp06.web.de closing connection
victor@ubuntu-vm:~$


Also ähnliches Ergebnis wie bei Dir gestern.

Jetzt habe ich das gleiche mit einem anderen E-Mail-Provider gemacht.

bei e******u.org
victor@ubuntu-vm:~$ sh e*****umailscript.sh
220 e*****u.org ESMTP Postfix
250 e*****u.org
250 2.1.0 Ok
250 2.1.5 Ok
354 End data with <CR><LF>.<CR><LF>
250 2.0.0 Ok: queued as 48B8A24D813C
221 2.0.0 Bye
victor@ubuntu-vm:~$


Also positives Ergebnis. E-Mail kam an. Leider als Spam Wink Aber das ist ein anderes Problem.

Das script funktioniert also, es kommt durch meinen Netgear-Router durch. Es sieht aber so aus, als ob dd-wrt keine Verbindung aufbauen kann.

Hast Du noch eine Idee? Was soll ich noch ändern? Als Du das Script getestet hast, da hast Du es aus dd-wrt gestartet? Welchen Ordner hast Du benutzt?

Vielen Dank,
Victor
pepe
DD-WRT Guru


Joined: 16 Jun 2006
Posts: 2427
Location: Berlin, Germany

PostPosted: Mon Jun 08, 2009 17:54    Post subject: Reply with quote
Ich habe das direkt in der ssh Konsole über Putty getestet!
funktioniert einwandfrei!

Script auch ausführbar gemacht?
Code:
chmod +x /pfad/zum/scrip/mailscript.sh


ansonnsten
ssh sitzung mit putty o.ä. eröffnen
und dann copy script
paste script
enter

dann siehst du auch alle Meldungen!

dd-wrt kann sehr wohl raus eine Verbindung aufbauen!
an geschlossenen ports liegt es definitiv nicht!

es ist nur sehr wichtig wie du den mail Server begrüßt!
auf keinen Fall als localhost
helo web.de geht z.B. ganz gut!

nimm mal deine Version und paste das in einer putty Sitzung
dann kannst du den ablauf verfolgen!

_________________
http://www.dd-wrt.com/phpBB2/search.php?
http://www.dd-wrt.com/wiki/index.php/Main_Page
http://www.dd-wrt.com/wiki/index.php/Category:Deutsche_Dokumentation

http://i-use.ipfire.org/profile/454051a193d29c9019ea3d0ce3c4b801435fd682/0.png
Victor F.
DD-WRT Novice


Joined: 07 Jun 2009
Posts: 18

PostPosted: Mon Jun 08, 2009 18:04    Post subject: Reply with quote
Was meinst Du mit "ssh Konsole des Routers"? Ist das die "Diagnose" unter "Administration"? Wie teste ich dort das Script?

Ich zähle mal auf, was ich noch in dd-wrt eingestellt habe:

- spi-Firewall ein
- Administration Fernzugriff SSH-Mangement ein
- SSHd ein
- SSH TCP Weiterleitung ein
- Telnet ein

Ich schreibe mal auf, wie ich die iptable-Regeln versucht habe zu setzen:

- Kopieren Deiner Zeile
- in Putty einfügen
- ENTER
- Dann zweite Zeile von Dir kopieren.
- in Putty einfügen
- ENTER

Bin gespannt, ob wir das noch hinbekommen.

Tschüss,
Victor
pepe
DD-WRT Guru


Joined: 16 Jun 2006
Posts: 2427
Location: Berlin, Germany

PostPosted: Mon Jun 08, 2009 18:12    Post subject: Reply with quote
Victor F. wrote:


Ich schreibe mal auf, wie ich die iptable-Regeln versucht habe zu setzen:

- Kopieren Deiner Zeile
- in Putty einfügen
- ENTER
- Dann zweite Zeile von Dir kopieren.
- in Putty einfügen
- ENTER

Bin gespannt, ob wir das noch hinbekommen.

Tschüss,
Victor


Und genauso machst du das auch mit dem script!
brauchst aber nicht zeile für zeil -> kannst gleich alle zeile nehmen!
ps die FW regeln kannst du so eingeben aber dann überleben sie keinen neustart!
Administration-Command ->FW regeln reinschreiben
Save Firewall
dann sind sie dauerhaft!

_________________
http://www.dd-wrt.com/phpBB2/search.php?
http://www.dd-wrt.com/wiki/index.php/Main_Page
http://www.dd-wrt.com/wiki/index.php/Category:Deutsche_Dokumentation

http://i-use.ipfire.org/profile/454051a193d29c9019ea3d0ce3c4b801435fd682/0.png
pepe
DD-WRT Guru


Joined: 16 Jun 2006
Posts: 2427
Location: Berlin, Germany

PostPosted: Mon Jun 08, 2009 18:19    Post subject: Reply with quote
Hab es gerade mal als StartUp Script gespeichert -> geht auch!
_________________
http://www.dd-wrt.com/phpBB2/search.php?
http://www.dd-wrt.com/wiki/index.php/Main_Page
http://www.dd-wrt.com/wiki/index.php/Category:Deutsche_Dokumentation

http://i-use.ipfire.org/profile/454051a193d29c9019ea3d0ce3c4b801435fd682/0.png
Victor F.
DD-WRT Novice


Joined: 07 Jun 2009
Posts: 18

PostPosted: Mon Jun 08, 2009 18:50    Post subject: Reply with quote
Deine vielen Tipps habe ich alle getestet. Danke dafür.

Ich bin inzwischen ziemlich sicher, dass das Script ok ist und dass ich es auch richtig benutzte. Egal ob ich es einfüge oder als Script starte, das Ergebnis ist dasselbe. Beim Hineinkopieren wird alles abgearbeitet und nach der letzten Zeile bleibt er wartend stehen bis die Zeitüberschreitung kommt.

Es reagiert wirklich anders als bei Dir.

Dafür noch ein Indiz: Gebe ich ping web.de ein, bekomme ich Antwort. Gebe ich telnet smtp.web.de 25 ein, bekomme ich keine Antwort mehr. Das ist bei meinem UBUNTU-Rechner nicht so. Und dort läuft auch das Script ...
Was könnte die Ursache sein?

Danke, Victor



dd-wrt.jpg
 Description:
 Filesize:  63.37 KB
 Viewed:  11326 Time(s)

dd-wrt.jpg


Victor F.
DD-WRT Novice


Joined: 07 Jun 2009
Posts: 18

PostPosted: Tue Jun 09, 2009 4:25    Post subject: Reply with quote
Auch der hinter dem dd-wrt-Router liegende WLAN-Client zeigt dieses merkwürdige Verhalten nicht: Hier funktioniert sowohl die Ping-Anfrage als auch die Telnet-Anfrage bei web.de.

Beim dd-wrt-Router funktioniert nur die ping-Anfrage, die telnet-Anfrage nicht.

Ob Du mal prüfen könntest, wie sich Dein Router verhält?

Danke, Victor

PS: Die genaue Firmware-Version, die ich installiert habe ist: DD-WRT v24-sp1 (07/27/08) mini. Und jetzt sehe ich es auch: es ist die oben als buggy beschriebene Version. Ich werde also heute Nachmittag die empfohlene Version flashen und alles noch einmal probieren.

Mal sehen, ob es daran liegt.
Victor F.
DD-WRT Novice


Joined: 07 Jun 2009
Posts: 18

PostPosted: Tue Jun 09, 2009 6:06    Post subject: Reply with quote
Problem nicht gelöst:

Es lag wohl nicht an der Firmware-Version. Nach dem Flashen auf die neue Version dd-wrt.v24-11296_NEWD_mini.bin hat sich das Verhalten nicht geändert: keine telnet-Verbindung möglich.
Goto page 1, 2, 3  Next Display posts from previous:    Page 1 of 3
Post new topic   Reply to topic    DD-WRT Forum Forum Index -> Broadcom SoC basierende Hardware All times are GMT

Navigation

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum