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
