I solved in part with bluez "test-tools".
Slackware doesn't include them, but you can get them from the source tarball of bluez-4.99, under subdir "test".
I've used simple-agent and test-device to for phone pairing and trusting on slackware system.
Then I've launched "test-nap".
Then on the phone I can select the bluetooth option "use this for internet access".
Before test-nap launched, there was that option but I can't select it.
At this point on the system appears a new interface called "bnep0".
We have to assign to it an address IP.
Then we have to let the system give the phone an IP too, I chose dnsmaq for that.
Finally we have to add a rule to nat table for address masquerading on POSTROUTING chain throught our internet interface (ppp0 in my case).
If we usually have other restrictive rules in iptables, we have to add also some others rules to let INPUT packet from bnep0 interface and unlock FORWARD packed between bnep0 and "ppp0" (or wathever is your internet-side interface, eth0 eth1 and so on...).
The big matter is that "test-nap" is not a server, but just a testing tool.
Now I'd would like to understand how to configure "bluetoothd" through its "/etc/bluetooth/*" files.
It seems theese infos are hidden somewhere in bluez developers minds. Also "man bluetoothd" refers to a misterious "man /etc/bluetooth/main.conf"... but I've not found it yet!
PS.
Isn't SAMBA for mixed win/unix networks...???
What does it deal with bluetooh PAN? I didn't understand your suggestion...
Thanks anyway.
See you