Имеет ли право провайдер отказывать в открытии портов?
Да.
Задача провайдера обеспечить вам доступ в сеть интернет. За это вы платите им деньги, и если они не обеспечивают можете отказаться от их услуг, или даже взыскать через суд плату за отчетный период(месяц) если услуги не оказаны, или оказаны некачественно.
Позвонил провайдеру. Сказал что нужно открыть порт, в ответ услышал что этот порт открыт
Скорее всего таки и есть. Провайдеры как правило не закрывают порты.
Они отключились, после - проверил - пишет "порт закрыт".
Вероятно неправильно проверили. Может файервол блокирует, может через маршрутизатор не пробросили, может порт никто не слушает, может у вас банально нет белого адреса.
Я слышал, что они не имеют право отказывать в открытии портов...
С чего бы? Все обязанности прописаны в договоре.
Если в договоре не прописана такая обязанность провайдера, значит ее нет.