Во многих славянских языках, а также в древнерусском, радуга называется дуга/duga. Древнерусск. дѫга и доуга, чешск. duha, словацк. dúha, сербск. дуга, болг. , дъга, хорв. duga, силезск. danga. Этимологический словарь Фасмера также приводит словенский когнат doga и польский dęga. Все эти слова восходят к праслав. *donga. Это слово, по всей видимости, родственно литовскому dangus "небо". Вероятно, компонент ра- в слове "радуга" появился позже или же это древний реликт, который почему-то сохранился только в восточнославянских языках. Некоторые считают, что от "райская дуга", "рай-дуга", так как в некоторых говорах русского языка и на украинском радугу называют райдуга, но это может быть народной этимологией. К тому же непонятно происхождение диалектного варианта равдуга, который упоминается у Фасмера. Возможно, компонент ра- действительно древний и был переосмыслен как "рай".
Украинское веселка и белорусское вясёлка "радуга" могут быть переосмыслением слова радуга, как будто происходящего от корня рад-, но корень дуга во многих славянских языках, включая древнерусский, говорит о том, что радуга образовано от дуга.
Слово "дуга" имеет нечеткую этимологию, в том же словаре Фасмера не приводится когнатов из языков других групп индоевпропейской семьи, кроме балтийской. Литовское dangus "небо" и связанное с ним dangti "покрывать", может указывать на то, что более древнее значение слова *donga в праславянском не было связано с понятием дуги, арки, а обозначало что-то связанное с небосводом или куполом. Значение дуга и арка во многих славянских языках имеет слово лук (а) : русск. лук (оружие) , Лукоморье "кривая морская коса", польск. łuk "дуга", łuk triumfalny "триумфальная арка", словенск. lok "лук" (оружие) , чешск. oblouk "дуга", македонское лака "дуга".
Возможно, праслав. *donga -- древнее заимствование из неиндоевропейского языка. Есть версия что радуга от древнеосетинского *ardunga, которое в свою очередь заимствование из древнеиранского. Это слово могло быть заимствовано в праславянский период. Заимствования из древнеиранских языков, кстати, есть не только в славянских языках, но и например, в прибалтийско-финских -- эстонском и финском.