色々勉強していて、なやんでいるで違いのわかる方がいたら教えてください。

/etc/hosts.allowと/etc/hosts.denyでアクセスを制御するのと
ファイアフォールで制御するのでは、なにがちがうのですか?