Пример добавления ipv6 вручную (через консоль)
Иногда возникает задача вручную прописать IPv6 адрес на сервере Linux, и часто возникает вопрос “а как это сделать?”. В этой статье мы рассмотрим пример добавления IPv6 адреса вручную, используя команды ip
из пакета iproute2
. Эти команды применимы к большинству современных дистрибутивов Linux, таких как Ubuntu, Debian, CentOS, Fedora и другие.
Для начала я вам советую очистить таблицы маршрутизации и адресов, для того, чтобы убедится, что все команды были введены верно и старые записи не помешали для тестирования ipv6 адресов
ip -6 route flush table all ip -6 a flush eth0 ip -6 a flush lo ip -6 n flush all
ip -6 route flush table all: Очищает все таблицы маршрутизации IPv6.
ip -6 a flush eth0: Очищает все IPv6 адреса на интерфейсе eth0
.
ip -6 a flush lo: Очищает все IPv6 адреса на интерфейсе lo
(loopback).
ip -6 n flush all: Очищает все записи соседей (neighbors) для IPv6.
Добавляем ipv6 адрес на интерфейс
ip -6 a a 2a05:541:139::114/48 dev eth0
ip -6 a a 2a05:541:139::114/48 dev eth0: Добавляет IPv6 адрес 2a05:541:139::114
с префиксом /48
на интерфейс eth0
.
Добавляем локальный маршрут
ip -6 route add local 2a05:541:139::1/48 dev lo
ip -6 route add local 2a05:541:139::1/48 dev lo: Добавляет локальный маршрут для адреса 2a05:541:139::1/48
на интерфейс lo
. Это необходимо для того, чтобы система знала, что этот адрес принадлежит локальному интерфейсу.
Добавляем маршрут для трафика по умолчанию
ip -6 route add default via 2a05:541:139::1
ip -6 route add default via 2a05:541:139::1: Добавляет маршрут по умолчанию через шлюз 2a05:541:139::1
. Это означает, что все пакеты, которые не соответствуют другим маршрутам, будут отправлены через этот шлюз.
Добавляем перманентную запись “соседа”, чтобы трафик шел в верную область (применимо для некоторых хостингов)
ip -6 neigh replace 2a05:541:139::1 lladdr c8:e7:f0:b0:e1:00 dev eth0
ip -6 neigh replace 2a05:541:139::1 lladdr c8:e7:f0:b0:e1:00 dev eth0: Добавляет запись соседа для IPv6 адреса 2a05:541:139::1
с MAC-адресом c8:e7:f0:b0:e1:00
на интерфейсе eth0
. Это необходимо для того, чтобы система знала, как найти устройство с этим IPv6 адресом в локальной сети.
Эти команды применимы к большинству современных дистрибутивов Linux, таких как:
- Ubuntu
- Debian
- CentOS
- Fedora
- Arch Linux
- OpenSUSE
Они используют пакет iproute2
, который является стандартным инструментом для управления сетевыми интерфейсами и маршрутизацией в Linux.