To allow your internal users to access the site from off-site, you should set them up with VPN access to the network.
As far as advice on setting up access for external users, you will need to know more about who they are and what they will need to access before you can make a good decision on that.
If you will be using the same site for internal and external, you can extend your existing web application, provide another url for your external users, use form-based authentication for them to log in, and place those users into SharePoint groups in order to manage permissions.
How to: Expose a SharePoint Application to the Extranet and Use Forms-Based Authentication
However, depending on your use cases, you may decide to create a separate site for your external users and use content deployment to move data appropriate to those users to that site.