I assume that the compactness theorem says that if every finite subset of S has a model, then the whole S has a model. Continuing your proof, for every finite subset S*, there is an interpretation that makes every sentence in S* true and F false, i.e., S* has a model and S* ∪ {¬F} has a model. But every finite subset of S ∪ {¬F} has the form S* or S* ∪ {¬F} where S* is a finite subset of S. Therefore, S ∪ {¬F} has a model, which contradicts the assumption that S entails F.

It is also easy to show the converse: if for all S and F, S entailing F implies that some finite subset of S entails F, then the (contrapositive of the) compactness theorem holds. Indeed, suppose that S does not have a model. Then S entails falsehood, which by assumption means that some finite subset S* of S entails falsehood. This means that S* does not have a model.