I am currently in the same position. In order for me to follow the career that I want, I need to have experience in it, and the only way to do this is to take part in some unpaid work experience.
I know the thought of working for no money doesn't sound very inviting, but it will be worth it in the end when you have secured a job in a field that you want to be in.
Before you decide to take the unpaid work however, you will need to make sure that you will be able to live off not having an income for a while.
For example, make sure that you have enough to pay rent for a month or two, enough for your weekly shop and bills. Or make sure that you have someone that can help you out financially for a while.
Although in most case I would say yes, it is aright to work for free for a while in order to gain new skills, you do have to be careful...
There are some companies out there who will try and exploit you, and have you doing mundane, skill-less jobs in order to get free work done.
When you undertake unpaid work, make sure your employer has you doing something that is advantageous to you. Either something that has you developing a new skill, or a task that you can put on a CV.
It is also not uncommon for an employer of unpaid work to pay some expenses, for costs such as travel and lunch. So it might be worth looking into placements that will at least provide this.
At the end of the day, unpaid work will give you experience in something new and help you gain new skills, while also letting you see if you like the industry you are trying to get into. It will only be for a little while so I would say that it is worth doing.