Pep Guardiola's ManchesterCity will play Romanian side Steaua Bucharest in the Champions League playoff round after the draw was made in Nyon on Friday.
Guardiola, who twice won the competition as manager with Barcelona, will see his new side travel to the home of the 1986 champions for the first leg as they attempt to reach the lucrative group stages.
City sporting director Txiki Begiristain said: "It's going to be a difficult tie because Steaua are on the up again in Europe and have a lot of talent."
Porto, the 2004 winners, have been handed a tough tie against AS Roma while four-times winners Ajax Amsterdam face Russia's Rostov.
Celtic must find a way past Israel's Hapoel Beer-Sheva, who knocked out Greek side Olympiakos Piraeus in the previous round.
New Celtic manager Brendan Rodgers has said reaching the group stages is a priority for a side who were the first British winners of the European Cup in 1967.
Ireland's Dundalk, who have never reached the group stage, play Poland's Legia Warsaw, with the first leg switched to Dublin's Aviva Stadium.
First-leg ties will be played on August 16-17 with the reverse fixtures a week later.
In the Europa League playoff round, West Ham United face Romanian side FC Astra who knocked them out of the competition last season.
Champions League Full draw:
Ludogorets v Viktoria Plzen
Celtic v Hapoel Beer-Sheva
FC Copenhagen v Apoel Nicosia
Dundalk v Legia Warsaw
Dinamo Zagreb v Salzburg
Steaua Bucharest v ManchesterCity
Porto v AS Roma
Ajax Amsterdamv Rostov
Young Boys v Borussia Moenchengladbach
Villarreal v Monaco