У меня была таже самая ситуация (beeline+DIR-400+попытки завести последний с pppt/l2tp на dd-wrt), но не было сервера, в итоге я пришел к пункту 2 на базе Intel D510MO (atom+пассивное охлаждение+самый дешевый atx блок питания с 12см кулером+доп. резистор чтоб его замедлить), при этом dlink принял роль свича + wifi-моста. Общая стоимость такого роутера уложилась в 5к: motherboard+memory+power supply+WD WD5001AALS, правда диски тогда были дешевле.
В вашем случае действительно имеет смысл п.3 + iptables + dhcp-server, при этом:
— от iptables вам нужно — заNATить локалку + форвардить порты (для локальных машин) + принимать соединения на для сервисов «торчащих» наружу + все остальное — DROP
— роль dhcp-сервера может взять dnsmasq — прост в настройке и локальный dns — как-то ближе к сердцу, чтоли =)
— dir-400 с dd-wrt переводится в мост совсем просто и практически лишается всех своих болячек, а Schedule Reboot — решат даже не излечимые из них, блато мосту много времени на ребут не надо.