You can apply for Iranian visa from here
The main types of visas issued are:
Tourist Visa
Entry Visa (Business Visa)
Press Visa
Transit Visa
Work Permit Visa
Pilgrimage Visa
Student Visa
Diplomatic and Service Visa
We suggest you to get a tourist Visa.
The whole process will normally take a minimum of one month. Please note, however, that the Ministry of Foreign Affairs is the sole decision making authority as to whether or not to issue your visa or when. If they have any concerns about your application, this could hold up the application process. It is advisable, therefore, to allow at least 8 weeks before you intend to travel
You can obtain a visa on arrival for a stay of 30 days (extendable for another 15 days), at the following airports.
Konarak Airport (Chah-Bahar)
Isfahan International Airport (Isfahan)
Kish International Airport (Kish Island)
Mashhad International Airport (Mashad)
Dayrestan Airport (Qeshm Island)
Shiraz International Airport (Shiraz)
Tabriz International Airport (Tabriz)
Imam Khomeini International Airport and Mehrabad International Airport (Tehran)
Unless you hold one of these passports
Afghanistan, Bangladesh, Canada, Colombia, India, Iraq, Jordan, Pakistan, Somalia, United Kingdom, United States.