What is the difference between legitimate and legal?

Legitimate is defined as "reasonable". Reasonable is defined as "fair". Therefore, something that is legitimate is fair.

Legal, on the other hand, is defined as "in accordance with established procedures".