Этимологический словарь Крылова
Заимствование из итальянского, где laguna – образовано от lago – "озеро, болото", восходящего к латинскому lacus (с тем же значением). Обратим внимание, что к той же основе восходит и современное английское lake – "озеро".