I'm not so sure using Samba over the internet is very safe, but I have set up sharing with Samba from a Linux machine and documented my steps and I'll share that with you.
First off, you're gonna need to open up a couple of ports in your firewall.
137 UDP, 138 UDP, 139 TCP, 445 both UDP & TCP
Next, edit your settings and define your shares in the /etc/samba/smb.conf file*
Here's mine:
\#======================= Global Settings======================
[global]
workgroup = MYGROUP
server string = Samba Server Version %v
netbios name = NAS
hosts allow = 127. 10.
security = user
passdb backend = tdbsam
\#====================== Share Definitions =====================
[Public]
comment = Public
path = /shares/Public
public = yes
guest ok = yes
writable = no
printable = no
[upload]
comment = upload
path = /shares/Public/upload
public = yes
guest ok = no
writable = yes
printable = no
valid users = myusername
* location may vary according to distro, I used CentOS
Now obviously your "hosts allow" section should be adjusted to allow your client.
Some security measures are in place in this example config, so that the upload folder is only accessibly by 'myusername', which is a linux user account on the server. The public folder however is wide open to everyone, although it is read-only.
If your smb service is running and the right firewall ports are open, this should work.
Good luck!