Невозможно использовать внешний IP на Hetzner VPS

Невозможно использовать внешний IP на Hetzner VPS

Недавно я изменил модель своего виртуального сервера на Hetzner. У нового есть внешний адрес IPv4, по которому он доступен из интернета (как и должен). Но я не могу использовать этот внешний IP в конфигурации: iptablesправила не действуют, openvpnсервер не может привязать прослушиватель ни к одному порту, используя этот IP и т. д. Я нашел «локальный» IP-адрес ( 172.31.x.x) в ifconfigвыводе, и если я использую его в конфигурации, все работает как часы.

На моем старом сервере я мог использовать его где угодно. Поэтому я просто задаюсь вопросом: почему внешний IP может не работать на моем новом сервере? ОСUbuntu 15.04

решение1

Hetzner прекратила назначать публичные адреса IPv4 виртуальным серверам. Насколько я могу судить, это изменение произошло, когда они изменили название продукта с VQ на CX. Однако использование NAT не упоминается в описании продукта.

В конце концов Hetzner представила новую облачную платформу, в которой виртуальные машины получают реальные публичные адреса IPv4 и маршрутизируемый префикс IPv6 /64. Обе версии имеют общее имя CX.

Виртуальные серверы, заказанные в 2012 и 2013 годах, сохранят свой публичный адрес IPv4 до 2019 года, когда линия VQ будет прекращена. Но виртуальные серверы, заказанные в 2016 году, имеют только адрес RFC1918, и Hetzner не будет маршрутизировать публичный адрес IPv4 на такой виртуальный сервер.

Они по-прежнему выделяли выделенный публичный адрес IPv4 для каждого виртуального сервера, который они транслировали с помощью NAT на назначенный адрес RFC1918. Hetzner считал, что это не проблема, поскольку это был NAT 1:1.

Как вы узнали, это подвержено ошибкам при настройке сервера. Вы должны знать об этом NAT. И вам нужно искать сопоставление всякий раз, когда вы что-то настраиваете. Для первого виртуального сервера, который мы получили в такой конфигурации, он был неправильно настроен дважды в первые пару дней из-за этого.

Любое программное обеспечение, которое полагается на знание публичного адреса IPv4, либо сломается, либо потребует специальной настройки. Кроме того, некоторые VPN и IP-туннели могут иметь проблемы, поскольку туннелируемые пакеты не будут транслироваться NAT.

Если вы установили, что эти потенциальные проблемы не повлияют на предполагаемое использование, и если вас устраивает необходимость учитывать сопоставление публичных и частных адресов при внесении изменений в конфигурацию, вы можете смириться с такой ситуацией.

Однако имейте в виду, что большинство реализаций NAT являются stateful. Если NAT действительно stateful, вы можете столкнуться с остановкой TCP-соединений при потере состояния.

Я не знаю, является ли NAT, используемый Hetzner, сохраняющим или не сохраняющим состояние. Самый очевидный способ, который я смог придумать для тестирования сохранения состояния, — это туннелирование установления соединения и отключение туннеля после установки TCP-соединения. Увы, именно такой тип туннелирования не будет работать, поэтому для проведения этого эксперимента сначала придется повторить их конфигурацию NAT 1:1. Я не пытался провести этот довольно сложный эксперимент.

Вот какие у вас есть варианты:

  • Обновитесь до новой линейки CX, на которой Hetzner предоставит вам реальный адрес IPv4 и маршрутизируемый префикс IPv6 /64.
  • Примите тот факт, что ваш трафик будет проходить через NAT 1:1 со всеми вытекающими отсюда недостатками.
  • Передавайте весь важный трафик по IPv6, поскольку Hetzner правильно маршрутизирует трафик IPv6 без NAT.
  • Переключитесь на выделенный сервер (предполагая, что они по-прежнему получат публичный адрес IPv4, что трудно понять, поскольку использование NAT нигде не упоминается в описании продукта).
  • Переключитесь на другого провайдера.

решение2

Поскольку вы арендуете у Hetzner, я полагаю, вы говорите по-немецки, поэтому вот ответ напрямую отПоддержка вики Hetzner:

Что такое мой IP-адрес виртуальной машины 172.31.1.100?

или еще:

Почему у моей виртуальной машины есть другой IP-адрес, который я использую в качестве робота?

Почему у моей виртуальной машины есть частный IP?

В моделях CX IPv4-адреса на vServer являются частными IP-адресами, 1:1 для каждого NAT или открытого IPv4-адреса. В настоящее время это частный IP-адрес с адресом: 172.31.1.100. В Hetzner Robot указан явный IP-адрес.

По-английски:

Почему моя виртуальная машина имеет IP-адрес 172.31.1.100?

Или также:

Почему IP-адрес моей виртуальной машины отличается от указанного в Robot?

Почему у моей виртуальной машины частный IP-адрес?

В моделях CX IPv4-адрес виртуального сервера — это частный IP, который настраивается 1:1 через NAT на публичном IP. В настоящее время частный IP-адрес одинаков для всех: 172.31.1.100. Публичный IP-адрес отображается в Robot.

Связанный контент