it is there any way to run a domain on my router instead  of running dyndns or other alternatives (Dynamic DNS) etc. on tomato or dd-wrt firmware ?
Run domain on tomato/dd-wrt
dns
DNSMasq & /etc/hostsTake a look at these instructions from the dd-wrt website. The article is titled: DNSMasq Local Network. This method makes use of the routers /etc/hosts file to act as the master list of name/IP mappings. Depending on your needs this might be a good fit.DHCPThere is also this method discussed in this howtogeek.com article titled: How To Access Your Machines Using DNS Names with DD-WRT. With this method you're using the dd-wrt router's DHCP service to do 2 things for you. One, it will force all the systems that lease IP's from it, to get your LAN's domain name. Second, you can use the router's DHCP server to act as your DNS server as well by adding all the hosts in your LAN to the DHCP table. You're using DHCP, but you're using it to statically assign IP's to the same hosts whenever they join the domain.Which method?Either method will do what you want.If I were you and you have a small domain, I'd go with the DHCP route first.