Хостинг веб-сайтов на общедоступном IP направил через частную подсеть с помощью одной машины Linux и в качестве маршрутизатора и в качестве сервера

Простой способ:

в Вашей конфигурации делают maxmem=memory, который отключает драйвер PoD.

Иначе необходимо будет установить драйвер воздушного шара в госте ОС.

1
задан 13 April 2017 в 15:14
2 ответа

Использование адресов RFC1918 для соединений маршрутизатор-маршрутизатор не одобряется, если оно находится в общедоступном Интернете, особенно при использовании на интерфейсе между интернет-провайдером и клиентом (в отличие от двух маршрутизаторов внутри сети интернет-провайдера). Это связано с тем, что они снижают полезность traceroute из-за того, что некоторые сайты блокируют все пакеты к этим адресам или с этих адресов, и потому, что невозможно прикрепить значимые имена к этим адресам через записи DNS PTR, потому что они заставляют маршрутизаторы создавать сообщения ICMP, которые не могут быть прослеживается до их источника и, возможно, по другим причинам. Однако похоже, что ваш интернет-провайдер настроен на использование RFC1918 / 30 для нумерации интерфейса между ними и вами. Несмотря на рекомендацию не делать этого, на самом деле все будет нормально, и вы можете справиться с этой ситуацией только с одной трудностью (см. ниже).

Жалобы интернет-провайдера на проблемы ARP с подсетью больше / 30 звучат фальшиво. Это правда, что на производительность маршрутизатора могут влиять бесполезные запросы ARP для несуществующих адресов на интерфейсе с большой разреженной подсетью, но для этого подсеть должна быть как большой, так и разреженной (содержать очень много неиспользуемых адресов). Это связано с тем, что только запросы ARP для адресов, которые не используются в подсети, должны бесконечно задерживаться и повторяться, что приведет к зависанию маршрутизатора. Если они обновят ваш интерфейс до (общедоступного) / 29, он не будет ни большим, ни разреженным (я предполагаю, что вы действительно будете использовать все или почти все адреса в / 29). Люди справедливо обеспокоены проблемами ARP с подсетями / 64 IPv6 (которые, очевидно, велики и всегда будут редкими, поскольку количество хостов в подсети никогда не будет приближаться к максимуму), но это звучит смешно, чтобы беспокоиться об этом для / 29.

У этой конфигурации есть хорошие новости: поскольку интернет-провайдер не настраивает ваш public / 29 на каком-либо интерфейсе, нет необходимости резервировать первый и последний IP-адрес блока в качестве широковещательных адресов, и нет необходимости в Интернет-провайдер использует один из адресов на собственном маршрутизаторе. Таким образом, вы можете использовать для себя все 8 адресов, а не только 5.

Вот что вы делаете:

  1. Настройте интерфейс, обращенный к интернет-провайдеру, с адресом 172.16.xx / 30, предоставленным им.

  2. Добавьте Блок / 29 к интерфейсу lo: / etc / network / interfaces :

     iface lo inet loopback При настройке вашего public / 29 на любом интерфейсе нет необходимости резервировать первый и последний IP-адрес блока в качестве широковещательных адресов, а также нет необходимости в том, чтобы провайдер использовал один из адресов на своем собственном маршрутизаторе. Таким образом, вы можете использовать для себя все 8 адресов, а не только 5. 

    Вот что вы делаете:

    1. Настройте интерфейс, обращенный к интернет-провайдеру, с адресом 172.16.xx / 30, предоставленным им.

    2. Добавьте Блок / 29 к интерфейсу lo: / etc / network / interfaces :

       iface lo inet loopback При настройке вашего public / 29 на любом интерфейсе нет необходимости резервировать первый и последний IP-адрес блока в качестве широковещательных адресов, а также нет необходимости в том, чтобы провайдер использовал один из адресов на своем собственном маршрутизаторе. Таким образом, вы можете использовать для себя все 8 адресов, а не только 5. 

      Вот что вы делаете:

      1. Настройте интерфейс, обращенный к интернет-провайдеру, с адресом 172.16.xx / 30, предоставленным им.

      2. Добавьте Блок / 29 к интерфейсу lo: / etc / network / interfaces :

         iface lo inet loopback
        вверх ip адрес добавить abcd / 29 dev lo
        
      3. Установите шлюз по умолчанию на стороне ISP этой ссылки 172.16.x.otherside.

        Теперь возникает проблема, о которой я упоминал ранее: по умолчанию, когда ваш сервер инициирует исходящие подключения (запросы DNS, отправка электронной почты, обновление программного обеспечения проверки, исходящие соединения с базами данных или что-то еще, что делает ваш сервер, который инициируется самим собой, а не клиентом, связывающимся с сервером), сервер будет использовать 172.16.xx в качестве исходного адреса пакетов, потому что это адрес, прикрепленный к интерфейс, через который собираются исходить пакеты. Когда сервер пытается связаться с целевыми объектами в Интернете, используя этот исходный адрес, очевидно, что это не сработает. Вам необходимо указать параметр для команды route для установки маршрута по умолчанию с настроенным исходным адресом.

        Опустите обычный шлюз 172.16.x. [другие директивы конфигурации] up ip route добавить по умолчанию через 172.16.x.otherside src abcd

      Для abcd выберите один из адресов из вашего / 29, который вы считаете «основным» адресом вашего сервера.

2
ответ дан 3 December 2019 в 21:46

Я попросил провайдера предоставить блок адресов ipv6. Они говорят, что маршрутизатор, на котором заканчивается мой канал у провайдера, не имеет поддержки ipv6.

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

Так они сказал, что если я готов подключиться к их граничному маршрутизатору через частную подсеть 172.16.xx / 30, они могут предоставить мне блок ipv6. Однако они дадут мне общедоступный ipv4 / 29, направленный мне через 172.16.xx / 30, который я могу использовать для размещения своих сайтов. Но проблема, которая у меня есть в том, что я не хочу покупать другой роутер, чтобы поставить 172.16.x. x / 30 на интерфейсе, обращенном к Интернет-провайдеру, и public / 29 на другом интерфейсе, обращенном к моему серверу и маршрутизатору NAT.

Ой, более или менее. Вот что я прочитал как происходящее: их маршрутизатор предоставит вам туннель от 6 до 4 через частное IP-пространство со следующим переходом другого маршрутизатора в их сети. Он также будет использовать протокол внутренней маршрутизации, который объявляет, что ваша система частного пространства является адресом следующего перехода для вашего публичного адресного пространства.

Я хочу знать, могу ли я использовать 172.16.xx / 30 для подключения к Интернет-провайдеру. а также использовать public / 29 на том же сервере Ubuntu для размещения веб-сайтов и выполнения NAT. У моего маршрутизатора более 5 сетевых адаптеров, и я также могу использовать vlan.

Граничный маршрутизатор ISP поддерживает ipv6, но причина, по которой они не могут напрямую предоставить мне общедоступную подсеть, заключается в следующем. В настоящее время моя ссылка заканчивается на коммутаторе, который подключен к периферии через 172.16.xx

Мне кажется, что вам следует разместить внешние адреса всего, что вы хотите, чтобы сервер обслуживал через один внешний интерфейс, который подключил к роутеру. Назначьте все для eth0 и различных подинтерфейсов (eth0: 0, eth0: 1 и т. Д.) И установите шлюз по умолчанию в качестве интерфейса их маршрутизатора.

0
ответ дан 3 December 2019 в 21:46

Теги

Похожие вопросы