Discussion:
salida de mails por defecto en postfix
Alejandro Vargas
2011-08-16 09:12:55 UTC
Permalink
A ver, tengo este escenario:

Un enlace a internet de 8 megabits simétrico (servicio para empresas).
Ahí tengo un linux conectado directamente y varios servicios, entre
ellos postfix.

Por otro lado, ahora agregamos un cabliemodem de 50 megabits de bajada
y 10 de subida (servicio para particulares) conectado mediante
cablemodem+router (que no se puede poner en modo bridge pero no viene
al caso).

Meto mi script de advanced routing para que las conexiones sean
respondidas cada una por el canal por el que vinieron y todo bien.

Pongo un script que permite seleccionar la ruta por defecto y cambiar
de salida si una falla, pero como el servidor hace de NAT para algunos
usuarios, la dejo por defecto por el cablemodem ya que el enlace es
más rápido en ambos sentidos.

Todo bien, ahora viene el problema: resulta que si intento mandar
mails por la IP del cablemodem, me los rechazan porque es una ip
"windoza", o sea, está en un rango de IPs domiciliarias y está por
todos lados en las listas de spammers. No tiene sentido intentar que
la saquen de la lista porque para empezar, es todo el rango lo que
está en el listado, y a demás creo la ip no es fija.

Ahora bien... pensé yo: puedo poner unas reglas para que el puerto 25
salga por el enlace de empresa... pero no, porque la ip de origen
queda decidida desde el momento en que el postfix abre el socket para
transmitir. Y las opciones de ip rule no incluyen el puerto.

¿Alguna idea de cómo podría hacer para que Postfix, por ejemplo,
prefiriera una ip de origen determinada en lugar de usar 0.0.0.0 para
enviar los mensajes? Quiero que pueda recibir por cualquier ip pero
que envíe por una determinada... Sería sucio pero tal vez alguna
trampa haciendo un NAT con los paquetes salientes?
--
Qapla'
Alejandro Vargas
Alejandro Vargas
2011-08-16 11:07:46 UTC
Permalink
Post by Alejandro Vargas
Sería sucio pero tal vez alguna
trampa haciendo un NAT con los paquetes salientes?
Acabo de intentar (por ssh para probar) algo así:

iptables -t nat -I POSTROUTING -p tcp --dport 21 -j SNAT --to <ip del
enlace de empresa>

Hago un ssh a otra máquina, pregunto con un who am i y me sale que
vengo desde la ip del cablemodem.

Supuestamente, el postrouting de la tabla nat debería atrapar todos
los paquetes salientes... pero parece no estar afectando a estos...



[***@mercurio2 ~]# iptables -t nat -I POSTROUTING -p tcp --dport 21
-j SNAT --to <ip1>

[***@mercurio2 ~]# ssh ***@xxxxx
***@xxxx's password:
Last login: Thu Aug 11 11:07:48 2011 from
00.red-00-000-000.staticip.rima-tde.net

[***@server ~]$ who am i
anv pts/8 2011-08-16 13:01 (00.000.00.00.dyn.user.ono.com
Alfredo Daniel Rezinovsky
2011-08-16 11:49:39 UTC
Permalink
Post by Alejandro Vargas
Sería sucio pero tal vez alguna
trampa haciendo un NAT con los paquetes salientes?
iptables -t nat -I POSTROUTING -p tcp --dport 21 -j SNAT --to<ip del
enlace de empresa>
Hago un ssh a otra máquina, pregunto con un who am i y me sale que
vengo desde la ip del cablemodem.
Supuestamente, el postrouting de la tabla nat debería atrapar todos
los paquetes salientes... pero parece no estar afectando a estos...
-j SNAT --to<ip1>
Last login: Thu Aug 11 11:07:48 2011 from
00.red-00-000-000.staticip.rima-tde.net
anv pts/8 2011-08-16 13:01 (00.000.00.00.dyn.user.ono.com
si querés natear ssh, probá con el port 22 en lugar del 21
Alejandro Vargas
2011-08-16 13:28:19 UTC
Permalink
El día 16 de agosto de 2011 13:49, Alfredo Daniel Rezinovsky
Post by Alfredo Daniel Rezinovsky
si querés natear ssh, probá con el port 22 en lugar del 21
Uf! con razón no funcionaba!
--
Qapla'
Alejandro Vargas
Alfredo Daniel Rezinovsky
2011-08-16 11:58:35 UTC
Permalink
Post by Alejandro Vargas
Sería sucio pero tal vez alguna
trampa haciendo un NAT con los paquetes salientes?
ip rule con port 25 a una tabla
ip en esa tabla default route con src
Alejandro Vargas
2011-08-16 13:27:27 UTC
Permalink
El día 16 de agosto de 2011 13:58, Alfredo Daniel Rezinovsky
Post by Alfredo Daniel Rezinovsky
Post by Alejandro Vargas
Sería sucio pero tal vez alguna
trampa haciendo un NAT con los paquetes salientes?
ip rule con port 25 a una tabla
El problema es que ip rule no permite poner port... o si? Yo veo que
soporta from, to, tos, y fwmark

# ip rule help
Usage: ip rule [ list | add | del | flush ] SELECTOR ACTION
SELECTOR := [ not ] [ from PREFIX ] [ to PREFIX ] [ tos TOS ] [ fwmark
FWMARK[/MASK] ]
[ iif STRING ] [ oif STRING ] [ pref NUMBER ]
ACTION := [ table TABLE_ID ]
[ prohibit | reject | unreachable ]
[ realms [SRCREALM/]DSTREALM ]
[ goto NUMBER ]
--
Qapla'
Alejandro Vargas
Rodrigo Campos
2011-08-16 13:16:18 UTC
Permalink
Post by Alejandro Vargas
Post by Alejandro Vargas
Sería sucio pero tal vez alguna
trampa haciendo un NAT con los paquetes salientes?
iptables -t nat -I POSTROUTING -p tcp --dport 21 -j SNAT --to <ip del
enlace de empresa>
Lo que pasa es que aca ya se routeo (porque estas en el postrouting). Si querias
que se rutee usando otra tabla y otro default gw, entonces por mas que hagas el
SNAT ahora es tarde, lo va a mandar por este otro gw (y no seria raro que te
dropee el paquete porque ese source ip no lo puede mandar porque es de otro
isp). Capaz que eso es el problema ? (o sino es otro problema ese si no te
aseguras que se rutee por la tabla que querés que tiene el default gw que
querés)


Hace siglos que no toco de estas cosas, asique me puedo estar acordando mal. Y
no se cómo harás para matchear las tablas, pero si queres que SOLO lo que sale
de la ip del mail server con destino puerto 25 salga por tal isp yo haria algo
como:

iptables -t nat -I PREROUTING -s <ip privada mail sever> -p tcp --dport 25 -j MARK ...
ip rule para los que tienen esa marca vayan a esa tabla
y despues sí el SNAT


Igualmente, creo que yo cuando hacía estas cosas ponía para que todo lo del
mailserver salga con la ip del MX, porque nunca vi ningun buen motivo para no
hacerlo.




Saludos,
Rodrigo
Alejandro Vargas
2011-08-16 13:38:32 UTC
Permalink
El día 16 de agosto de 2011 15:16, Rodrigo Campos
Post by Rodrigo Campos
iptables -t nat -I PREROUTING -s <ip privada mail sever> -p tcp --dport 25 -j MARK ...
ip rule para los que tienen esa marca vayan a esa tabla
y despues sí el SNAT
Humm.... pero yo creo que los paquetes generados localmente no pasan
por prerouting, no? pasarían por output y postrouting...
Post by Rodrigo Campos
Igualmente, creo que yo cuando hacía estas cosas ponía  para que todo lo del
mailserver salga con la ip del MX, porque nunca vi ningun buen motivo para no
hacerlo.
Sí, eso es lo que estaba preguntando inicialmente cómo hacer.
Alfredo Daniel Rezinovsky
2011-08-16 13:51:55 UTC
Permalink
Post by Alejandro Vargas
El día 16 de agosto de 2011 15:16, Rodrigo Campos
iptables -t nat -I PREROUTING -s<ip privada mail sever> -p tcp --dport 25 -j MARK ...
ip rule para los que tienen esa marca vayan a esa tabla
y despues sí el SNAT
Humm.... pero yo creo que los paquetes generados localmente no pasan
por prerouting, no? pasarían por output y postrouting...
exacto. los paquetes locales los tenes que marcar en output
Post by Alejandro Vargas
Igualmente, creo que yo cuando hacía estas cosas ponía para que todo lo del
mailserver salga con la ip del MX, porque nunca vi ningun buen motivo para no
hacerlo.
Sí, eso es lo que estaba preguntando inicialmente cómo hacer.
Rodrigo Campos
2011-08-16 15:30:37 UTC
Permalink
Post by Alejandro Vargas
El día 16 de agosto de 2011 15:16, Rodrigo Campos
Post by Rodrigo Campos
iptables -t nat -I PREROUTING -s <ip privada mail sever> -p tcp --dport 25 -j MARK ...
ip rule para los que tienen esa marca vayan a esa tabla
y despues sí el SNAT
Humm.... pero yo creo que los paquetes generados localmente no pasan
por prerouting, no? pasarían por output y postrouting...
Ahh, no vi que dijiste que eran locales, perdon. Sí, entonces output IIRC. Pero
de todas formas, lo importante de lo que queria decir es: los tenes que enrutar
bien, y en postrouting ya estás tarde para eso.
Post by Alejandro Vargas
Post by Rodrigo Campos
Igualmente, creo que yo cuando hacía estas cosas ponía  para que todo lo del
mailserver salga con la ip del MX, porque nunca vi ningun buen motivo para no
hacerlo.
Sí, eso es lo que estaba preguntando inicialmente cómo hacer.
Entendí que solo el port 25 querías que salga por una ip...

Si queres que *todo* lo de localhost salga por un enlace, hay que ver bien cómo
tenés hechas las cosas, pero si usas reglas para que una vez que ya salió por
uno se mantenga, tenés que hacer que solo inicialmente salga por el que querés.
Eso es, que se rutee por la tabla que tenga el default gw que quieras y se haga
el snat. Me explico ?
Alejandro Vargas
2011-08-17 07:13:16 UTC
Permalink
El día 16 de agosto de 2011 17:30, Rodrigo Campos
Post by Rodrigo Campos
Si queres que *todo* lo de localhost salga por un enlace, hay que ver bien cómo
tenés hechas las cosas, pero si usas reglas para que una vez que ya salió por
uno se mantenga, tenés que hacer que solo inicialmente salga por el que querés.
Eso es, que se rutee por la tabla que tenga el default gw que quieras y se haga
el snat. Me explico ?
Como dije al principio, lo que me interesa es que el tráfico normal
salga por donde yo quiera pero el envío de mails del servidor salga
siempre por un enlace porque no tiene sentido intentar enviarlo por
otro: me los rechazan.

Para decidir las rutas yo tengo un script que pasé hace tiempo, que
básicametne hace lo que explica el documento de ruteo avanzado en
linux. La idea es que si tenemos más de una salida a internet, cuando
un pedido viene por una de esas salidas sea respondido por donde vino
y no por la primera ruta por defecto que vea. Lo posteé hace un tiempo
pero te lo copio:


#! /bin/bash
# script /etc/rc.d/rc.autoadvrouting
#set -x


#limpiar reglas viejas

ip rule show | awk 'BEGIN{FS=":"}{if(index($2,"lookup main")==0 &&
index($2,"lookup default")==0 && index($2,"lookup local")==0) system
("ip rule del " $2) }'

#recorrer las intefaces de red
#para cada una crear una tabla


cuenta=0
for ifcfg in /etc/sysconfig/network-scripts/ifcfg-*
do
cuenta=$(( cuenta + 1 ))
TABLE=100$cuenta

. $ifcfg
echo "DEVICE=$DEVICE"

export `ipcalc -n $IPADDR $NETMASK`
NET=$NETWORK/$NETMASK

ip route flush table $TABLE

ip route add $NET dev $DEVICE src $IPADDR table $TABLE
if [ "$GATEWAY" != "" ]
then
ip route add default via $GATEWAY table $TABLE
fi

ip route add $NETWORK dev $DEVICE src $IPADDR

#ip rule flush ??
ip rule add from $IPADDR table $TABLE
ip rule add fwmark $TABLE table $TABLE



tables="$tables $TABLE"
if [ "$GATEWAY" != "" ]
then
ip route add default via $GATEWAY table $TABLE
fi
ip route add $NETWORK dev $DEVICE src $IPADDR

#ip rule flush ??
ip rule add from $IPADDR table $TABLE
ip rule add fwmark $TABLE table $TABLE



tables="$tables $TABLE"
if [ "$GATEWAY" != "" ]
then
ip route add default via $GATEWAY table $TABLE
fi

echo
echo
echo
echo
done



for TABLE in $tables
do
for ifcfg in /etc/sysconfig/network-scripts/ifcfg-*
do
. $ifcfg
export `ipcalc -n $IPADDR $NETMASK`
NET=$NETWORK/$NETMASK

ip route add $NET dev $DEVICE table $TABLE
done

done

echo 0 > /proc/sys/net/ipv4/conf/eth0/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/eth2/rp_filter


Después de esto, lo que tenemos son varias tablas de ruteo pero en la
principal aparecen dos rutas a internet. El sistema utiliza la primera
que aparece cuando tiene que hacer masquerading o iniciar una conexión
hacia afuera. Yo selecciono por donde quiero que salga cambiando de
orden estas rutas por defecto. Prefiero tener la salida por el enlace
más rápido pero quiero que el mail salga por el que no es "windozo".
Rodrigo Campos
2011-08-17 14:41:20 UTC
Permalink
Post by Alejandro Vargas
El día 16 de agosto de 2011 17:30, Rodrigo Campos
Post by Rodrigo Campos
Si queres que *todo* lo de localhost salga por un enlace, hay que ver bien cómo
tenés hechas las cosas, pero si usas reglas para que una vez que ya salió por
uno se mantenga, tenés que hacer que solo inicialmente salga por el que querés.
Eso es, que se rutee por la tabla que tenga el default gw que quieras y se haga
el snat. Me explico ?
Supongo que no me explico entonces ? :)
Post by Alejandro Vargas
Como dije al principio, lo que me interesa es que el tráfico normal
salga por donde yo quiera pero el envío de mails del servidor salga
siempre por un enlace porque no tiene sentido intentar enviarlo por
otro: me los rechazan.
Para decidir las rutas yo tengo un script que pasé hace tiempo, que
básicametne hace lo que explica el documento de ruteo avanzado en
linux. La idea es que si tenemos más de una salida a internet, cuando
un pedido viene por una de esas salidas sea respondido por donde vino
y no por la primera ruta por defecto que vea. Lo posteé hace un tiempo
Entiendo que si los marcas en el prerouting de la tabla nat, pones una regla de
ip rule para esa marca (y que no matchee antes en otra regla con mas prioridad)
y vaya a la tabla que tiene ese default gw, y haces el SNAT a la ip
correspondiente a ese enlace, debería andar. Probaste esto al final ?
Post by Alejandro Vargas
#! /bin/bash
# script /etc/rc.d/rc.autoadvrouting
#set -x
#limpiar reglas viejas
ip rule show | awk 'BEGIN{FS=":"}{if(index($2,"lookup main")==0 &&
index($2,"lookup default")==0 && index($2,"lookup local")==0) system
("ip rule del " $2) }'
#recorrer las intefaces de red
#para cada una crear una tabla
cuenta=0
for ifcfg in /etc/sysconfig/network-scripts/ifcfg-*
do
cuenta=$(( cuenta + 1 ))
TABLE=100$cuenta
. $ifcfg
echo "DEVICE=$DEVICE"
export `ipcalc -n $IPADDR $NETMASK`
NET=$NETWORK/$NETMASK
ip route flush table $TABLE
ip route add $NET dev $DEVICE src $IPADDR table $TABLE
if [ "$GATEWAY" != "" ]
then
ip route add default via $GATEWAY table $TABLE
fi
ip route add $NETWORK dev $DEVICE src $IPADDR
#ip rule flush ??
ip rule add from $IPADDR table $TABLE
ip rule add fwmark $TABLE table $TABLE
tables="$tables $TABLE"
if [ "$GATEWAY" != "" ]
then
ip route add default via $GATEWAY table $TABLE
fi
ip route add $NETWORK dev $DEVICE src $IPADDR
#ip rule flush ??
ip rule add from $IPADDR table $TABLE
ip rule add fwmark $TABLE table $TABLE
tables="$tables $TABLE"
if [ "$GATEWAY" != "" ]
then
ip route add default via $GATEWAY table $TABLE
fi
echo
echo
echo
echo
done
for TABLE in $tables
do
for ifcfg in /etc/sysconfig/network-scripts/ifcfg-*
do
. $ifcfg
export `ipcalc -n $IPADDR $NETMASK`
NET=$NETWORK/$NETMASK
ip route add $NET dev $DEVICE table $TABLE
done
done
echo 0 > /proc/sys/net/ipv4/conf/eth0/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/eth2/rp_filter
Acá no veo que estés haciendo (igual se suele hacer con iptables, asique capaz
lo tenés) para que las conexiones que se iniciaron por un enlace las mandes
después siempre por ese.
Alejandro Vargas
2011-08-17 16:39:19 UTC
Permalink
El día 17 de agosto de 2011 16:41, Rodrigo Campos
Post by Rodrigo Campos
Entiendo que si los marcas en el prerouting de la tabla nat, pones una regla de
ip rule para esa marca (y que no matchee antes en otra regla con mas prioridad)
y vaya a la tabla que tiene ese default gw, y haces el SNAT a la ip
correspondiente a ese enlace, debería andar. Probaste esto al final ?
Mi problema es que cuando el mismo servidor genera un paquete para
enviar, éste elige la IP de orígen en el momento de crear el paquete,
así que no puedo cambiarla a no ser que la parche con SNAT. Lo ideal
era cambiar la configuración del postfix para que cuando hace el bind
para el envío, no lo haga con 0.0.0.0 dejando al sistema elegir la
dirección de origen sino que use siempre una en particular.
Post by Rodrigo Campos
Post by Alejandro Vargas
#! /bin/bash
# script /etc/rc.d/rc.autoadvrouting
#set -x
#limpiar reglas viejas
ip rule show | awk 'BEGIN{FS=":"}{if(index($2,"lookup main")==0 &&
index($2,"lookup default")==0 && index($2,"lookup local")==0) system
("ip rule del " $2) }'
#recorrer las intefaces de red
#para cada una crear una tabla
cuenta=0
for ifcfg in /etc/sysconfig/network-scripts/ifcfg-*
do
      cuenta=$(( cuenta + 1 ))
      TABLE=100$cuenta
      . $ifcfg
      echo "DEVICE=$DEVICE"
      export `ipcalc -n $IPADDR $NETMASK`
      NET=$NETWORK/$NETMASK
      ip route flush table $TABLE
      ip route add $NET dev $DEVICE src $IPADDR table $TABLE
      if [ "$GATEWAY" != "" ]
      then
         ip route add default via $GATEWAY table $TABLE
      fi
      ip route add $NETWORK dev $DEVICE src $IPADDR
      #ip rule flush ??
      ip rule add from $IPADDR table $TABLE
      ip rule add fwmark $TABLE table $TABLE
      tables="$tables $TABLE"
      if [ "$GATEWAY" != "" ]
      then
         ip route add default via $GATEWAY table $TABLE
      fi
     ip route add $NETWORK dev $DEVICE src $IPADDR
      #ip rule flush ??
      ip rule add from $IPADDR table $TABLE
      ip rule add fwmark $TABLE table $TABLE
      tables="$tables $TABLE"
      if [ "$GATEWAY" != "" ]
      then
         ip route add default via $GATEWAY table $TABLE
      fi
      echo
      echo
      echo
      echo
done
for TABLE in $tables
do
   for ifcfg in /etc/sysconfig/network-scripts/ifcfg-*
   do
      . $ifcfg
      export `ipcalc -n $IPADDR $NETMASK`
      NET=$NETWORK/$NETMASK
      ip route add $NET dev $DEVICE table $TABLE
   done
done
echo 0 > /proc/sys/net/ipv4/conf/eth0/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/eth2/rp_filter
Acá no veo que estés haciendo (igual se suele hacer con iptables, asique capaz
lo tenés) para que las conexiones que se iniciaron por un enlace las mandes
después siempre por ese.
La cosa es así, supongamos que mi máquina tiene dos conexiones a
internet, una tiene la IP 1.2.3.4 con gateway 1.2.3.1 y otra tiene
2.3.4.5 con gateway 2.3.4.1. Tengo dos rutas por defecto, una por
1.2.3.1 y la otra por 2.3.4.1. el sistema elige la primera que haya.
Supongamos que es 1.2.3.1. Pero la ip de origen es 2.3.4.5 y ese
paquete no va a llegar a su destino si sale por la 1.2.3.1.

Si alguien manda un paquete a la 2.3.4.5, cuando envíe la respuesta la
va a enviar por la ruta por defecto, que es 1.2.3.1, cosa que no va a
funcionar. Para evitar eso el script crea varias tablas, una por cada
placa de red. En cada tabla pone las reglas como si la única ruta por
defecto fuera la que sale por esa placa y después agrega una regla
para que los paquetes de esa placa de red usen esa tabla (ip rule add
from $IPADDR table $TABLE) . O sea que en el ejemplo, si el paquete
sale con IP de origen 2.3.4.5, va a usar la 2.3.4.1 como ruta. A demás
estoy agregando una regla para una fwmark que me sirve por si quiero
elegir la tabla via iptables marcando los paquetes.

Todo esto se hace en el primer for. El segundo for agrega rutas para
las ips de las demás placas a cada una de las otras.
--
Qapla'
Alejandro Vargas
Rodrigo Campos
2011-08-20 02:24:23 UTC
Permalink
Post by Alejandro Vargas
El día 17 de agosto de 2011 16:41, Rodrigo Campos
La cosa es así, supongamos que mi máquina tiene dos conexiones a
internet, una tiene la IP 1.2.3.4 con gateway 1.2.3.1 y otra tiene
2.3.4.5 con gateway 2.3.4.1. Tengo dos rutas por defecto, una por
1.2.3.1 y la otra por 2.3.4.1. el sistema elige la primera que haya.
Supongamos que es 1.2.3.1. Pero la ip de origen es 2.3.4.5 y ese
paquete no va a llegar a su destino si sale por la 1.2.3.1.
Claro... eso es lo que te dije que era tu error un par de mails atrás...
Post by Alejandro Vargas
Todo esto se hace en el primer for. El segundo for agrega rutas para
las ips de las demás placas a cada una de las otras.
Eso, si lei bien, lo hace solo para localhost (salvo que con iptables hagas mas
cosas). Y esto es lo que te estaba señalando.





Saludos,
Rodrigo
Alejandro Vargas
2011-08-22 09:42:18 UTC
Permalink
El día 20 de agosto de 2011 04:24, Rodrigo Campos
Post by Rodrigo Campos
Post by Alejandro Vargas
Todo esto se hace en el primer for. El segundo for agrega rutas para
las ips de las demás placas a cada una de las otras.
Eso, si lei bien, lo hace solo para localhost (salvo que con iptables hagas mas
cosas). Y esto es lo que te estaba señalando.
Claro, lo hace para localhost.. Para otras rutas las agrego a mano
cuando agrego la ruta. Y con iptables lo que hay es masquerading y
esas cosas.

Ahora que lo decís, sería bueno en lugar de poner ip rule add from
$IPADDR table $TABLE, poner ip rule add from $NET, pero... estas
reglas se aplican antes o después del masquerading?
Rodrigo Campos
2011-08-22 13:39:40 UTC
Permalink
Post by Alejandro Vargas
El día 20 de agosto de 2011 04:24, Rodrigo Campos
Post by Rodrigo Campos
Post by Alejandro Vargas
Todo esto se hace en el primer for. El segundo for agrega rutas para
las ips de las demás placas a cada una de las otras.
Eso, si lei bien, lo hace solo para localhost (salvo que con iptables hagas mas
cosas). Y esto es lo que te estaba señalando.
Claro, lo hace para localhost.. Para otras rutas las agrego a mano
cuando agrego la ruta. Y con iptables lo que hay es masquerading y
esas cosas.
No se a que otras rutas te referis. PEro digo que con eso no estas haciendo nada
para el trafico que ruteas/snateas (de la lan ponele) y por agregar alguna ruta
no lo vas a hacer. Casi seguro que tenes que hacerlo con iptables (salvo que
ahora puedas hacerlo todo con ip rule/route, pero dudo)
Post by Alejandro Vargas
Ahora que lo decís, sería bueno en lugar de poner ip rule add from
$IPADDR table $TABLE, poner ip rule add from $NET, pero... estas
reglas se aplican antes o después del masquerading?
Sí, se suele usar $NET
Y se aplican antes, porque esto es para rutear y el masquerade es en el
postrouting... Leiste algún mail o estás contestando por deporte ? ;)





Saludos,
Rodrigo
Alejandro Vargas
2011-08-23 12:40:24 UTC
Permalink
Post by Rodrigo Campos
No se a que otras rutas te referis. PEro digo que con eso no estas haciendo nada
para el trafico que ruteas/snateas (de la lan ponele) y por agregar alguna ruta
no lo vas a hacer. Casi seguro que tenes que hacerlo con iptables (salvo que
ahora puedas hacerlo todo con ip rule/route, pero dudo)
Hummm... a ver, a demás de esto que pasé, estan las rutas normales que
el sistema configura configura al arrancar. A demás de eso hago un
MASQUERADE con iptables y no mucho más. Tengo la posibilidad de marcar
paquetes para que usen determinadas rutas pero no suelo usarlo.

Pablo S. Dagfal
2011-08-16 14:05:04 UTC
Permalink
Postfix usa dos procesos distintos para enviar y recibir correos:

En el caso de recepción el proceso es SMTPD y en el caso de envío es SMTP, vos podes configurar en master.cf a que ip
queres que haga bind cada uno de estos procesos. En tu caso bastaría con poner el proceso SMTP en la interface del
dedicado y todos los correos saldrían con esa IP.

Aca tenes explicado un poco más el tema:

http://www.postfix.org/postconf.5.html#inet_interfaces


Saludos
--
Pablo S. Dagfal
Alejandro Vargas
2011-08-17 06:58:41 UTC
Permalink
El día 16 de agosto de 2011 16:05, Pablo S. Dagfal
Post by Pablo S. Dagfal
En el caso de recepción el proceso es SMTPD y en el caso de envío es SMTP,
vos podes configurar en master.cf a que ip queres
O sea que puedo cambiar

smtp unix - - y - - smtp

por

<ip_que_yo_quiero_usar>:smtp unix - - y -
- smtp

y saldría siempre por ahí? Voy a probar.
Pablo S. Dagfal
2011-08-17 10:41:50 UTC
Permalink
Post by Alejandro Vargas
El día 16 de agosto de 2011 16:05, Pablo S. Dagfal
Post by Pablo S. Dagfal
En el caso de recepción el proceso es SMTPD y en el caso de envío es SMTP,
vos podes configurar en master.cf a que ip queres
O sea que puedo cambiar
smtp unix - - y - - smtp
por
<ip_que_yo_quiero_usar>:smtp unix - - y -
- smtp
y saldría siempre por ahí? Voy a probar.
Me parece que Type debería ser: "inet" en lugar de "unix".


--
Pablo S. Dagfal
Loading...