Time to change his sleep times. Going to bed at 6:00 is still in the day, and he needs to go to bed later! Plus, he needs to eat more during the day.
Start putting him down later for naptime. Move his bedtime forward at the same time. Do it in 1/2 hour increments over a week or so. Feed him before he goes to bed. Cereal as well as formula will help hold him longer. The teething will get better. Don't pick him up and rock or sing. That's not going to teach him to self-soothe back to sleep. After you give him the Motrin (during the teething phase), just pat him on the back. Then walk out. Wait 5 minutes, and then come back in and pat him on the back. Walk out and wait 10 minutes. Increase the time 5 minutes each time. Don't talk to him either. He will cry and that's okay. You aren't ignoring him or leaving him alone (although there is nothing wrong with that, and letting them cry it out will fix this problem a lot faster.)
The thing is, you have to be 100% consistent. If you are wishy-washy, go into him at other times, pick him up, all of that, he will NOT get better through this. If he knows that you will bail him out, he will cry all the more. Your goal is for him to learn to put himself back to sleep without you doing it for him. He cries the way he cries, and it isn't going to hurt him. However, you will all get more sleep, and by moving up his bedtime, you'll be sleeping more like regular families do - closer to the same hours.
Dawn