i need to make each router follow certain DNS ips,, so i guess i need to configure something on my DNS server, like creating 3 network for each connection; noting that all routers will follow the IP adress of my DNS server. example:

MY DNS server 10.0.0.1

router 1 router2: router3:

DNS:10.0.0.1 DNS:10.0.0.1 DNS:10.0.0.1

i need to create somthing on my dns server to let each router go through specific DNS server.

Still don't understand what exactly you want to achieve by configuring your routers with different dns servers. You can configure your router individually to use different dns server but let me tell you that you wont gain anything with that. If your true purpose is to block certain sites to certain users that wont do the trick. Because its not which dns server your routers are configured with it is just which dns server your USERS are using to translate names to ips.

If you are on Pfsense then take a look at dansguardian and squid for blocking purposes.

DNS queries are made by the clients inside your network, not by the routers, so what you're asking for doesn't make much sense.

Reading between the lines of what you're asking, do certain clients get routed through certain Internet connections, and therefore you need those clients to use the appropriate DNS server that's associated with their assigned connection? If that really is what you're trying to achieve, then you need to find a way to control which DNS servers those clients use (probably via DHCP assignments)

Whether this question is a pfSense question or not relies heavily on the answer to this question.

Are your routers in bridged mode or routed mode?

I ask this because this will tell you where you need to make the change. If they are in bridged mode, it means the static IP settings are configured on pfSense unter System > General Setup. If they are in routed mode then you will have to configure the upstream DNS servers on the routers themselves.