A couple weeks back I started running most of the mail servers I am
responsible for over ipv6. (I posted a few notes to this list on that)

I'm trying to wrap my head around a new problem - trying to have two postfix
relays and a smart host co-exist where one of the relays is a tiny power
sipping ARM based board... (Read on for details)

To recap, what I did was configure my in-house (and other servers I run)
server to only listen and send on ipv6 via:

smtp_bind_address6 = my:ip:v6:ad:re::ss
smtp_bind_address = 127.0.0.1

And forward mail to my ipv6/ipv4 smarthost located in the co-lo facility
via: 

smtp_fallback_relay = [mysmarthost_onivp6]

For when that doesn't work. Postfix tries connecting directly to the
given email addresses, which are usually ipv4, fails rapidly due to
being bound to localhost only, then forwards to the smart host, for ipv4
hosts.

This handles the common case where people refuse mail delivered directly
to them via ipv4 from invalid reverse dns, and hopefully works
generically for those few sites (including my own) that exchange mail
over ipv6.

That's been working pretty good. I'm not aware of having missed any mail
at all since switching to this method. All the servers I control are
exchanging email directly over ipv6 without the smarthost in the loop. I
like it. Email is as fast as instant messaging once again.

Now I'm trying to wrap my head around a new problem.

Recently I built a 300mw (that's milliwatt!) postfix mail router out of
an old 64MB ram TS7250 ARM board I had lying around and a 4GB usb stick,
running debian lenny.

It works pretty good in my testing so far. STARTTLS Crypto works, it
runs at the speed of my internet link (24KB/sec) without any problem,
and transfers on the internal net at ~500KB/sec (it's bound by the usb
stick, actually). I have not abused it heavily yet - I need to see what
happens when I send very large emails, for example. I will have to limit
the number of inbound and outbound connections, to be sure.

(I live way out in the country, and have a (slow) wireless connection to
the net. Power and/or internet frequently go out. Remember the bad old
days, when mail got transfered via dial up connection or via carrier
pigeon? Technologically, I 'm living there, admittedly with a splendid
view of the ocean.

Running my mail server on 300mw makes a lot of sense - I have enough
battery power to run for days instead of hours sipping it like that (the
wireless router uses about 5w) It beats running mail on my laptop, at
65w, by a country kilometer.)

So what I think I want to do is setup fallback relaying as follows:

MX 5  mylaptop.example.org # if my laptop's up send mail there
MX 10 mytinyarmbox.example.org # if not, try my arm box
MX 20 mysmarthost.example.org # otherwise, default to my well connected host

Now, 99.9999% of the internet is NOT relaying mail over ipv6, so what
happens in that case is my or your mail ends up at my smarthost, which then
relays it for me.

Problem 1) I am under the impression from a foggy memory of reading some
RFC or other, that at minimum, 2 MX records will be tried. So adding a
third might introduce problems with some MTAs that ONLY do 2 MX records,
in that far off day when more stuff speaks ipv6 directly, or when it
fails to fallback to my third, primary smarthost.

Problem 2) My smarthost is only smart enough to try sending to one other
relay (I think). 

Problem 3) Similarly myarmbox is only smart enough to try sending to one
smarthost. I'm afraid if I set it up to relay it will fail to reach my
laptop, then relay mail back to the main smarthost which will relay it
back to the arm box which will relay it back to the smarthost. I guess
I'm looking for some "never use the smarthost relay for these domains"
option in postfix... Obviously, after googling, I'm not phrasing the
question right....

Problem 4) My laptop/primary mail server is actually on a dynamic ipv6
address (I control what ipv6 tunnel it is running on and update its dns
record with nsupdate when it changes), so that no matter where I am, I
have an ipv6 connection, when I have a connection. It seems inefficient
to route mail to my house and then back if I'm not there, especially
when my house is down...

I am patently aware that there are other, less crazy ways to do all this
(like fetchmail or offlineimap), but 1) I get a lot of mail (think:
lkml) so getting email whenever possible, in the background, rather than
via a cron job, is a good idea, and 2) I have to run my own mail servers
anyway, so why not skip that step? And 3) It's kind of fun.)
 
If anyone would like to dink with this little arm box, email me
privately, I'll set you up an account.

-- 
Dave Taht http://the-edge.blogspot.com

"Most people know my father as the despotic warlord that rules Europa
 but he does have his amusing sparky qualities.

 Do you know he really loves waffles?" 
                         - Gil Wulfenbach

Reply via email to