Предположим, что внешний интерфейс у Вас ppp0, а внутренний сервер на котором есть шара 192.168.1.2, тогда можно попробовать сделать следующее (на шлюзе разумеется)
iptables -t nat -A PREROUTING -i ppp0 -p tcp -m tcp --dport 137 -j DNAT --to-destination 192.168.1.2:137
iptables -t nat -A PREROUTING -i ppp0 -p tcp -m tcp --dport 138 -j DNAT --to-destination 192.168.1.2:138
iptables -t nat -A PREROUTING -i ppp0 -p tcp -m tcp --dport 139 -j DNAT --to-destination 192.168.1.2:139
iptables -t nat -A PREROUTING -i ppp0 -p tcp -m tcp --dport 445 -j DNAT --to-destination 192.168.1.2:445
И наверное еще udp
iptables -t nat -A PREROUTING -i ppp0 -p udp -m udp --dport 137 -j DNAT --to-destination 192.168.1.2:137
iptables -t nat -A PREROUTING -i ppp0 -p udp -m udp --dport 138 -j DNAT --to-destination 192.168.1.2:138
iptables -t nat -A PREROUTING -i ppp0 -p udp -m udp --dport 139 -j DNAT --to-destination 192.168.1.2:139
iptables -t nat -A PREROUTING -i ppp0 -p udp -m udp --dport 445 -j DNAT --to-destination 192.168.1.2:445
Еще не забываем
echo "1" > /proc/sys/net/ipv4/ip_forward
При такой конфигурации, при обращении на внешний ip пакеты будут заворачиваться на внутренний адрес 192.168.1.2. Т.к. у вас только один внешний ip, то только один компьютер и можно будет увидеть, если нужно видеть всю сеть, я бы смотрел в сторону OpenVPN, тогда можно будет видеть все ресурсы.