Позвольте мне раскрыть свое намерение.
Мой хостер предоставляет сотни адресов 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