I have had tremendous success with a product called Kreem. The kit consists of a three pack with an acid, a neutralizer, and a protective liner. They also have a mask you can brush on to protect the paint. Use these products in a well ventilated garage.
Remove the petcock and anything else from the tank. Make plates or use corks that will seal the tank. Check with water to ensure that you have sealed up the openings.
Pour in the acid, then fill with hot water. Position the tank over a pan to catch any drips/leaks that may develop. Leave it for at least 2 days. Carefully drain the acid into a container for transport to a hazard disposal facility (check your local garbage dump/landfill).
Fill the tank with water and check for the leaks that may occur when the rust is dissolved. Any leak must be repaired now. Brazing is best. Remove the plates or plugs. Get a guy that knows how to deal with welding a gas tank as this is a dangerous procedure. When the leaks are fixed, pour in the neutralizer. Shake it around, then pour it out and dry the tank. You can use compressed air or put it on an oil filled radiator for a while. When dry you may find a light coat of rust. This is OK. Leave it alone.
Pour in the liner and turn the tank over and over to get a thin, even coat. Position the tank to get excess liner fluid over the petcock hole, then let it drain out into a pan or garbage pail.
Now walk away for 10 days. Let it set up completely. Clean up any flash-over and any mounting threads that may have gotten covered. It is now ready for service.
Two of my own bikes have this treatment. My XS650 has been perfect inside for almost 30 years. I've repaired many customer tanks with this product and procedure. It works and it is permanent.