What do you mean by LAN only? If you objective is merely to host a server that will accept connections from a LAN and the internet, let's take an example. Counter Strike. It will accept lan connections and internet connections at once, just set it up as a listen server (i.e. default) and password it or something to prevent the public from joining. You may have to forward ports for it to work.
HOWEVER, if your objective is to set up a LAN server that won't ask valve for authentication, this is a bit differant

I'm not sure how to go about doing that. I don't think it will accept connections from internet in that case, I think it may actually block ranges of IPs, but I'm not sure. I never really tried it.
Note, I know nothing about VPN, so I have no idea how/if that factors into it. But I have run a CS server on my personal computer while it was hooked to the internet, and people on the internet as well as people on my network could see it. I have tried both dedicated and non dedicated counter strike servers.
Anyway, just my 2 cents. It just depends what your ultimate objective is.
Also, any computer behind a lan on your buddies system that then goes through a NAT system and can access the internet, then should then be able to access your counter strike server if its a "public" one.
I just chose counter strike as an example because I'm familiar with it. If you provide more details about what you want to do, I imagine I or more likely other people can probably help better.