In an ideal world, people should not be discriminated against because of their birth-location. The fact that we do, is indeed a great injustice.
However, as a utilitarian, I'm opposed to open borders for utilitarian reasons. Having unchecked immigration would destroy the culture and institutions of the successful societies. They would lose the very culture and institutions that made them successful and attractive to immigrants in the first place.
I think that successful countries have a moral obligation to absorb as many immigrants as they can assimilate - no more and no less.