Назначение нескольких адресов IPv6 на сервере

Назначение нескольких адресов IPv6 на сервере

Позвольте мне раскрыть свое намерение.

Мой хостер предоставляет сотни адресов IPV6 бесплатно, но берет плату за адрес IPV4. У меня есть несколько сайтов на одном сервере, и мне было интересно, могу ли я дать каждому сайту/домену свой собственный адрес ipv6.

Возможно ли это вообще? Если да, то как?

Я довольно много читал об ipv6, но не понимаю его так ясно, как хотелось бы.

Моя главная цель — чтобы каждый домен/сайт имел свой собственный уникальный IP-адрес, чтобы кто-то не мог выполнить обратный поиск IP-адреса и узнать, какие сайты у меня есть на этом сервере.

Заранее спасибо за терпение.

решение1

Прежде всего, вам нужен план адресации. Если у вас его еще нет, выделите себе сеть /48. Затем выберите одну /64 в качестве вашей текущей основной сети. Вы сэкономите оставшееся адресное пространство в случае, если, я искренне желаю вам этого, ваш бизнес значительно расширится.

ПРИМЕЧАНИЕ: Вам НИКОГДА не понадобится больше, чем /64, но если вы действительно станете крупным, может иметь смысл разделить ваших крупных клиентов на разные /64, чтобы было легче визуально распознавать каждого из них.

Как только у вас появится /64, вы можете либо начать выделять его последовательно (первый IP-адрес первому сайту и т. д.), либо выбрать организационные подгруппы и назначить им подсети (пример: у клиента X 200 сайтов, он получает свою собственную небольшую подсеть). Я предлагаю второй подход, он поможет с маршрутизацией, и у вашего сетевого специалиста не будет головной боли. Я предполагаю, что у вас несколько серверов, возможно, расположенных в разных географических зонах.

Вам нужно будет правильно маршрутизировать ваш назначенный /64, поэтому убедитесь, что вы правильно его распределили у своего поставщика услуг. Наличие собственного основного маршрутизатора помогает в этом (не обязательно).

После этого начните добавлять эти IP-адреса в интерфейс(ы) сервера, который будет обслуживать эти сайты, создавая псевдонимы интерфейсов следующим образом:

$: ifconfig eth0:0 2001:470:1f0a:314::1 up

После того как вы закончите добавлять адреса и убедитесь, что они маршрутизируемы, создайте VirtualHost в Apache, который будет отвечать только на этом IP-адресе/домене.

<VirtualHost [2001:470:1f0a:314::1]:80>

ServerName newhost.ipv6domain.com

Если затем вы добавите правильные записи DNS (newhost.ipv6domain.com -> 2001:470:1f0a:314::1), то все будет в порядке.

Я, очевидно, опустил всю нерелевантную конфигурацию для Apache. Это не полное заявление VirtualHost.

EDIT: Я по ошибке добавил номер порта в строку о правильной записи DNS. Опечатка, вызванная тем, что печатал этот ответ за 10 минут до работы с кофе в одной руке :P

решение2

Это вполне возможно, и именно так и задумано для работы IPv6.

Проблема пока в клиентском подключении. IPv6 не является универсально подключаемым сейчас, и, вероятно, не будет таковым еще несколько лет. Сайт, работающий только по IPv6, не будет таким же доступным, как сайт с адресом v4.

Однако должна быть возможность поддерживать адреса v4 и v6. Все эти сайты могут иметь один адрес v4, но когда клиент подключается к v6, он получает отдельный IP. Этот подход с двойным стеком — то, что большинству из нас придется делать в ближайшем будущем, пока мы продвигаемся через переход на v6.

решение3

С некоторых пор, ifconfigзаменяется программой ip. Вы можете добавить дополнительные IP6 адреса, например, с помощью

sudo ip addr add 2001:470:1f0a:314::1/64 dev eth0

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