На уровне системы реализована поддержка протокола IPv6 для ряда системных интерфейсов.
Для работы системных интерфейсов требуется использовать глобальные IPv6 адреса. При использовании локальных адресов системные интерфейсы работать не будут.
Для использования IPv6 используется следующий формат:
[ip]:port |
Перед тем как присваивать ipv6 адрес на интерфейс командой
Требуется включить возможность назначения IPv6 адреса на интерфейс. Для это следует в файле /proc/sys/net/ipv6/conf/Имя_Интерфейса/disable_ipv6 изменить значение с 1 на 0. |
Данный сервис позволяет выполнять команды Cocon не подключаясь к нему, для этого используется следующий формат:
ccnexec -u *login* -p *password* [*IPv6*]:*port* -c *comand* |
где
Для подключения к удаленному терминалу имеется возможность использовать IPv6, например для подключения к Cocon.
ssh *login*@2*IPv6* -p *port*
где
Для подключения к системному терминалу через IPv6 требуется настроить IP. Для этого требуется ввести:
cluster/mediator/md1/properties/cocon_http_terminal/set md1@ecss1 http_server_listen_iface *IPv6*
где IPv6 - IPv6 адрес, на который требуется заходить для подключения к WEB.
Для системы логирования в поле {udp, {"ipaddr", 514} можно вводить IPv6 адрес.
Для включения IPv6 следует добавить /usr/lib/ecss/ecss-restfs/nginx/ecss-restfs-core:
server {
….
listen [Ip]:Port;
…..
} |
Перезагрузить nginx:
service nginx restart |
Перезагрузить ecss-restfs:
systemctl restart ecss-restfs-core.service |
Добавить сервер:
restfs/declare ip6 http://[Ip]:Port; |
Проверить статус серверов:
restfs/list |
Пример http запроса:
curl -G -d "number=1010&time=1&attempts=1&timeout=10000" http://[::1]:8086/test.ats/service/custom_cb/4b4fdc08e490b7c2-verbose |
Для использования IPv6 в Mycelium нужно в /etc/ecss/ecss-mycelium/mycelium1.config изменить bind_ip_addresses для mycelium_broker. IP задается в виде восьмизначного тапла:
{0,0,0,0,0,0,0,1} — localhost. |
Т.е каждый октет требуется перевести из 16-ти разрядной системы в 10-ти разрядную.
Чтобы ноды подключались к выставленному IP нужно в конфигурационном файле каждого приложения настроить mycelium_client. Например:
В /etc/ecss/ecss-ds/ds.1config для mycelium_client изменить поле host. |
Для открытия соединения IPv6 следует в конфигурационный файл /etc/mysql/mysql.conf.d/mysqld.cnf определить поле:
bind-address = ::1 |
Перезапустить сервис:
systemctl restart mysql |
Сейчас все базы данных определены только для IPv4 адресов. Чтобы подключиться к БД необходимо добавить пользователей для IPv6 адресов.
GRANT ALL PRIVILEGES ON *.* TO 'user_name'@'::1' IDENTIFIED BY 'password'; |
Чтобы открыть соединение для радиус сервера на IPv6 в /etc/freeradius/radiusd.conf (при использовании freeradius) в секции listen необходимо закомментировать ipaddr и добавить ipv6addr = :: (или любой другой IPv6 адрес). Использовать IPv4 и IPv6 одновременно нельзя.
Добавить клиента в /etc/freeradius/cilents.conf.
Например:
client 2001:db8:0:f101::/64 {
secret = secret123
shortname = localhost
} |
Перезагрузить сервис:
service freeradius restart |
Определить account сервер. Пример:
domain/test.ats/aaa/radius/declare account_server6 ::1 account secret123 retry-count = 3, retry-timeout = 250, ip-family = inet6 |
Определить access сервер. Пример:
domain/test.ats/aaa/radius/declare access_server6 ::1 access secret123 retry-count = 3, retry-timeout = 250, ip-family = inet6 |
Опция ip-family используется для разделения типа IP-адреса. Может принимать значение inet6 или inet. Для подключения по IPv6 является обязательной.
Так же для каждого уже созданного сервера можно установить опцию ip-family командой:
domain/test.ats/aaa/radius/set account_server ip-family = inet6 |
Добавить radius сервера:
domain/test.ats/aaa/accounting/set servers add account_server6 domain/test.ats/aaa/access/set servers add access_server6 |
Включить использование radius:
domain/test.ats/aaa/accounting/set enable true domain/test.ats/aaa/access/set enable true |