• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

linux-mail

Status
Für weitere Antworten geschlossen.

Rain-Air

Newbie
habe eine amanda-sicherung laufen, und möchte, dass die status-mails nicht mehr an den root user gehen, sondern an eine externe adresse. noch besser wäre, wenn sie direkt an den exchane gingen, der direkt daneben steht...
das ganze ging einmal, als der rechner hinter einem netgear-router hing. mittlerweile ist ein linux-iptables-router dazwischen, und es geht nicht mehr. man sollte denken, dass smtp nicht geroutet wird, komischerweise kann ich aber über mein Outlook direkt mit meiner privaten smtp-adresse emails verschicken (am exchange vorbei). hier das von mir verwendete iptables-script:
#!/bin/bash
############# Firewallskript fuer einen Linux Router
# copyright (c) gaw
# Autor: gaw
# Oktober 2004
############# Initialisierung der Variablen

############# Interfaces
INTERFACE_EXT="eth1"
INTERFACE_INT="eth0"
INTERFACES="$INTERFACE_EXT $INTERFACE_INT"
ROUTER_IP="192.9.200.205"
WEB_SERVER_IP="192.9.200.201"
LOCAL_NET="192.9.200.0/24"
NETBIOS_PORTS=""
HTTP_PORT="80"

############# Portnummern
PORTS_HIGH="1024:65535"
# Bei mir stehen noch ein paar mehr;)

############# Programm
IPTABLES="/sbin/iptables"


############# Grundkonfiguration

############# Vorlaeufiges Ausschalten des IP Forwarding.
echo "0" > /proc/sys/net/ipv4/ip_forward

############# TCP-Syncookies, AbwehrmaÃahme gegen das SYN Flooding.
echo "1" > /proc/sys/net/ipv4/tcp_syncookies

############# Ignorieren von Echoauforderungen von icmp
############# AbwehrmaÃahme gegen Broadcast-Stuerme
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

############# Das Loggen ungueltiger ICMP-Pakete wird ausgeschaltet,
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

############# Schleife fuer alle Schnittstellen in $INTERFACES
for if in $INTERFACES;
do
##### IP-Spoof Protection
echo "1" > /proc/sys/net/ipv4/conf/$if/rp_filter

##### Keine Redirections
echo "0" > /proc/sys/net/ipv4/conf/$if/accept_redirects

##### Kein Source-Routing
echo "0" > /proc/sys/net/ipv4/conf/$if/accept_source_route

##### Kein Bootstrap Protokoll
echo "0" > /proc/sys/net/ipv4/conf/$if/bootp_relay

##### Ungueltige IP-Pakete werden geloggt.
echo "1" > /proc/sys/net/ipv4/conf/$if/log_martians
done
echo "Dynamische Kernelparameter gesetzt"

############ Alle Pakete der Grundeinstellung werden verworfen
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT DROP

############ Alle eventuell noch vorhandenen Regeln werden geloescht

############ Loesche alle Regeln aus der Filter Tabelle
$IPTABLES -F

############ Loesche aller Regeln aus der NAT Tabelle
$IPTABLES -t nat -F

############ Loesche alle selbstdefinierten Regeln
$IPTABLES -X
echo "Alles verboten und alle Regeln geloescht"

############ Selbstdefinierte Regelkette zum Loggen wird erstellt
$IPTABLES -N TRASH
# Hier folgen Regeln fuer Pakete die nicht geloggt werden sollen als
# Schutz gegen ein ueberquellen der Logdateien
$IPTABLES -A TRASH -p UDP --dport 123 -j DROP
# IPP-Anfragen zur Druckereinstellungen muessen nicht geloggt werden
$IPTABLES -A TRASH -p UDP --dport 631 -j DROP
#$IPTABLES -A TRASH -p UDP --dport $NETBIOS_PORTS -j DROP
#$IPTABLES -A TRASH -p TCP --dport $NETBIOS_PORTS -j DROP
$IPTABLES -A TRASH -p TCP --dport 445 -j DROP
$IPTABLES -A TRASH -p TCP --dport 135 -j DROP
# Diese Pakete sollen geloggt werden
$IPTABLES -A TRASH -p ICMP -j LOG --log-prefix "Abgelehnte-ICMP-Pakete "
$IPTABLES -A TRASH -p UDP -j LOG --log-prefix "Abgelehnte-UDP-Pakete "
$IPTABLES -A TRASH -p TCP -j LOG --log-prefix "Abgelehnte-TCP-Pakete "
$IPTABLES -A TRASH -j DROP
echo "Loggin eingeschaltet"

############ Bis hier ist alles verboten. Nun werden bestimmte
############ Pakete wieder akzeptiert

############ Lokale Prozesse auf dem Rechner akzeptieren ###############
$IPTABLES -A OUTPUT -o lo -j ACCEPT
$IPTABLES -A INPUT -i lo -j ACCEPT
echo "LOCALHOST.....................................ACCEPTED"

############ SSH Verbindungen vom internen Netz erlauben
$IPTABLES -A INPUT -i $INTERFACE_INT -s $LOCAL_NET -d $ROUTER_IP \
-p TCP --sport $PORTS_HIGH --dport ssh \
-m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -o $INTERFACE_INT -s $ROUTER_IP -d $LOCAL_NET \
-p TCP --dport $PORTS_HIGH --sport ssh \
-m state --state ESTABLISHED,RELATED -j ACCEPT
echo "SSH LAN->ROUTER...............................ACCEPTED"

########### Squid Verbindungen vom internen Netz erlauben
$IPTABLES -A INPUT -i $INTERFACE_INT -s $LOCAL_NET -d $ROUTER_IP \
-p TCP --sport $PORTS_HIGH --dport 3128 \
-m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -o $INTERFACE_INT -s $ROUTER_IP -d $LOCAL_NET \
-p TCP --dport $PORTS_HIGH --sport 3128 \
-m state --state ESTABLISHED,RELATED -j ACCEPT
echo "SQUID LAN->ROUTER.............................ACCEPTED"

########### Masquarading einschalten
$IPTABLES -t nat -A POSTROUTING -o $INTERFACE_EXT -j MASQUERADE

########### IP-Forwarding und DNAT einschalten
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
echo "MASQUERADING........................................ON"

########### Web-Anfragen werden auf internen Webserver umgelenkt
$IPTABLES -A PREROUTING -t nat -p tcp --dport $HTTP_PORT -i $INTERFACE_INT \
-j DNAT --to-destination $WEB_SERVER_IP
echo "PORTFORWARDING PORT:$HTTP_PORT->$WEB_SERVER_IP...............ON"

########### WEB-Anfragen zum Weiterleiten werden akzeptiert
$IPTABLES -A FORWARD -i $INTERFACE_EXT -o $INTERFACE_INT \
-d $WEB_SERVER_IP -m state \
--state NEW,ESTABLISHED,RELATED -p TCP \
--sport $PORTS_HIGH \
--dport http -j ACCEPT
$IPTABLES -A FORWARD -i $INTERFACE_INT -o $INTERFACE_EXT \
-s $WEB_SERVER_IP -m state \
--state ESTABLISHED,RELATED -p TCP \
--sport http \
--dport $PORTS_HIGH -j ACCEPT
echo "HTTP $WEB_SERVER_IP<->WAN............................ON"

########### DNS Verbindungen erlauben
$IPTABLES -A FORWARD -i $INTERFACE_INT -o $INTERFACE_EXT -m state \
--state NEW,ESTABLISHED,RELATED -p UDP --sport $PORTS_HIGH \
--dport 53 -j ACCEPT
$IPTABLES -A FORWARD -i $INTERFACE_EXT -o $INTERFACE_INT -m state \
--state ESTABLISHED,RELATED -p UDP --sport 53 \
--dport $PORTS_HIGH -j ACCEPT
echo "DNS LAN->WAN..................................ACCEPTED"

########### DNS Verbindungen fuer Squid erlauben
$IPTABLES -A OUTPUT -o $INTERFACE_EXT -m state \
--state NEW,ESTABLISHED,RELATED -p UDP --sport $PORTS_HIGH \
--dport 53 -j ACCEPT
$IPTABLES -A INPUT -i $INTERFACE_EXT -m state \
--state ESTABLISHED,RELATED -p UDP --sport 53 \
--dport $PORTS_HIGH -j ACCEPT
echo "DNS SQUID->WAN................................ACCEPTED"

########### smtp Verbindungen erlauben
$IPTABLES -A FORWARD -i $INTERFACE_INT -o $INTERFACE_EXT -m state \
--state NEW,ESTABLISHED,RELATED -p TCP --sport $PORTS_HIGH \
--dport smtp -j ACCEPT
$IPTABLES -A FORWARD -i $INTERFACE_EXT -o $INTERFACE_INT -m state \
--state ESTABLISHED,RELATED -p TCP --sport smtp \
--dport $PORTS_HIGH -j ACCEPT
echo "SMTP LAN->WAN.................................ACCEPTED"

########### http-Verbindungen fuer Squid erlauben
$IPTABLES -A OUTPUT -o $INTERFACE_EXT -m state \
--state NEW,ESTABLISHED,RELATED -p TCP --sport $PORTS_HIGH \
--dport http -j ACCEPT
$IPTABLES -A INPUT -i $INTERFACE_EXT -m state \
--state ESTABLISHED,RELATED -p TCP --sport http \
--dport $PORTS_HIGH -j ACCEPT
echo "HTTP SQUID->WAN...............................ACCEPTED"

########### https-Verbindungen fuer Squid erlauben
$IPTABLES -A OUTPUT -o $INTERFACE_EXT -m state \
--state NEW,ESTABLISHED,RELATED -p TCP --sport $PORTS_HIGH \
--dport https -j ACCEPT
$IPTABLES -A INPUT -i $INTERFACE_EXT -m state \
--state ESTABLISHED,RELATED -p TCP --sport https \
--dport $PORTS_HIGH -j ACCEPT
echo "HTTPS SQUID->WAN..............................ACCEPTED"

########### POP3 Verbindungen erlauben
$IPTABLES -A FORWARD -i $INTERFACE_INT -o $INTERFACE_EXT -m state \
--state NEW,ESTABLISHED,RELATED -p TCP --sport $PORTS_HIGH \
--dport 110 -j ACCEPT
$IPTABLES -A FORWARD -i $INTERFACE_EXT -o $INTERFACE_INT -m state \
--state ESTABLISHED,RELATED -p TCP --sport 110 \
--dport $PORTS_HIGH -j ACCEPT
echo "POP3 LAN->WAN.................................ACCEPTED"

########### Bestimmte ICMP Anfragen werden gestattet.
# Vom Netz ins Internet zur Diagnose nuetzlich
$IPTABLES -A FORWARD -p ICMP --icmp-type echo-request -j ACCEPT
$IPTABLES -A FORWARD -p ICMP --icmp-type echo-reply -j ACCEPT
echo "ICMP LAN->WAN.................................ACCEPTED"

# ROUTER_IP
$IPTABLES -A OUTPUT -p ICMP --icmp-type echo-request -j ACCEPT
$IPTABLES -A OUTPUT -p ICMP --icmp-type echo-reply -j ACCEPT
$IPTABLES -A OUTPUT -p ICMP --icmp-type redirect -j ACCEPT
$IPTABLES -A INPUT -p ICMP --icmp-type echo-request -j ACCEPT
$IPTABLES -A INPUT -p ICMP --icmp-type echo-reply -j ACCEPT
$IPTABLES -A INPUT -p ICMP --icmp-type redirect -j ACCEPT
echo "ICMP LAN<->ROUTER->WAN........................ACCEPTED"

############ Rest wird gesperrt und geloggt
$IPTABLES -A INPUT -j TRASH
$IPTABLES -A FORWARD -j TRASH
$IPTABLES -A OUTPUT -j TRASH
echo "FIREWALL............................................ON"



Hier das was der route Befehl mir ausgiebt:
Kernel IP Routentabelle
Ziel Router Genmask Flags Metric Ref Use Iface
192.168.0.0 * 255.255.255.0 U 0 0 0 eth1
192.9.200.0 * 255.255.255.0 U 0 0 0 eth0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default 192.168.0.1 0.0.0.0 UG 0 0 0 eth1


Und so versuche ich das senden nach extern zu testen:

send -s test extern@mailadresse.de
blablabla
Strg-D ENTER

Eine direkte Fehlermeldung bekomme ich keine. Es passiert einfach nix. Nach etlichen Stunden bekommt dann wohl der root eine Medlung, das irgendwas nicht ging...
Ein ping auf die entsprechenden Server (z.B. mailadresse.de) funktioniert.

Weiß jemand rat?
 
OP
R

Rain-Air

Newbie
es waren wohl anfänglich irgendwelche netzwerkeinstellungen falsch. hatte diese dann wohl korrigiert, aber trotzdem gings nicht. erst nach einem neustart der maschine kann ich jetzt wieder mailen. woran kanns gelegen haben? auch alle anderen testmails der letzten tage kamen auf einmal an...
wie kann ich das mail-programm manuell neu starten?
 
Status
Für weitere Antworten geschlossen.
Oben