Those numbers are the packet and byte counters for each chain. The first number indicates the number of packets that have been processed by that chain. The second lists the total number of bytes in those packets.
The numbers in ip route show are entirely different and are the routing table priority indicators. There is some info describing what each prority does in the ip man page.
why would someone wanna create their own chain instead of using the iptable's default output,input...etc...?
When creating your own firewall rules user-defined chains are handy for splitting traffic off into different "branches" so that every single packet doesn't have to flow through all of the firewall rules in a linear manner. This can make the firewall faster and more efficient. A good example of this would be rules to check for invalid packet flag combinations (like SYN FIN, or Xmas scan). It doesn't make sense to have UDP of ICMP traffic checked against those rules, since only TCP uses them. So often you'll see a "Bad Flags" chain that has only TCP traffic passed to it and filters those illegal packets.
how would iptables know when to process a customised chain if i would to create one call prerouting_temp?
First you need to define the chain use the -N switch, then you need to actually pass traffic to the user-defined chain, like this for example:
Code:
iptables -N MY_CHAIN
iptables -A INPUT -p tcp -j MY_CHAIN
iptables -A MYCHAIN -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP #DROP SYN-FIN SCANS
will it know to read it during the prerouting process?
If you put it in the nat table and hand the packets from the PREROUTING chain over to the user-defined chain, then yes it would.