Not all of these links are directly about building a router or firewall using GNU/Linux, but they offer information that is helpful in doing so.
The main problem with listing books you learned with is that unless the topic doesn't change often, or it has been a short time since you started learning the topic, the books you suggest will likely be quite dated.
That is the problem here. GNU/Linux is in a rapid state of development and it's been many years since I first started using it.
Running Linux is a book I first picked up from Half.com and read along with lots of printed guides from tldp.org. I would still recommend it (the link is to a 5th edition copy) even though I would imagine some of the material might be dated.
Aside from that I would recommend reading about everything you can get your hands on from the links listed above and then try distrobutions. Try as many as you can force yourself to download and install and then stick to one for a while.
I recommend any of these as good ones to try:
Reviews, links to download distros and much more can be found at LinuxQuestions.org.