Solaris 10 и ping только по IPv6..внутренняя сеть.

Вопрос или проблема

На Solaris10 (виртуальная машина на qemu) я настраиваю IPv6

ipsec и брандмауэр отключены

svcs -a|gegrep 'ipfilter|ipsec'
disabled        1:00:14 svc:/network/ipfilter:default
disabled       23:38:28 svc:/network/ipsec/manual-key:default
disabled        1:00:18 svc:/network/ipsec/policy:default
disabled        1:00:18 svc:/network/ipsec/ike:default

IPv6 настроен

ifconfig -a6
e1000g1: flags=2104841<UP,RUNNING,MULTICAST,DHCP,ROUTER,IPv6> mtu 1500 index 3
    inet6 fe80::5254:ee:fdc7:a479/10 
e1000g1:1: flags=2100841<UP,RUNNING,MULTICAST,ROUTER,IPv6> mtu 1500 index 3
    inet6 418:5b17:d32a:8023::2/64 

но не могу пинговать “внешний” свитч (это виртуальная сеть, созданная с помощью libvirt), могу пинговать только собственный адрес

ping -A inet6 -s 418:5b17:d32a:8023::2
PING 418:5b17:d32a:8023::2: 56 data bytes
64 bytes from 418:5b17:d32a:8023::2: icmp_seq=0. time=0.0300 ms
64 bytes from 418:5b17:d32a:8023::2: icmp_seq=1. time=0.0400 m

ping -A inet6 -s 418:5b17:d32a:8023::1
PING 418:5b17:d32a:8023::1: 56 data bytes

маршрут, кажется, правильный

netstat -rn
Routing Table: IPv6
  Destination/Mask            Gateway                   Flags Ref   Use    If   
--------------------------- --------------------------- ----- --- ------- ----- 
418:5b17:d32a:8023::/64     418:5b17:d32a:8023::2       U       1      98 e1000g1:1 
fe80::/10                   fe80::5254:ee:fdc7:a479     U       1      69 e1000g1 

Другая машина (Slackware Linux), подключенная к тому же виртуальному свитчу, может пинговать без проблем

ping -6 fe80::5254:ee:fdc7:a481
PING fe80::5254:ee:fdc7:a481(fe80::5254:ee:fdc7:a481) 56 data bytes
64 bytes from fe80::5254:ee:fdc7:a481%eth0: icmp_seq=1 ttl=64 time=0.029 ms
64 bytes from fe80::5254:ee:fdc7:a481%eth0: icmp_seq=2 ttl=64 time=0.028 ms
64 bytes from fe80::5254:ee:fdc7:a481%eth0: icmp_seq=3 ttl=64 time=0.028 ms

почему сеть Solaris остаётся изолированной?

Отчёт routeadm

routeadm 
              Configuration   Current              Current
                     Option   Configuration        System State
---------------------------------------------------------------
               IPv4 routing   enabled              enabled
               IPv6 routing   enabled              enabled
            IPv4 forwarding   enabled              enabled
            IPv6 forwarding   enabled              enabled

С внешней машины я могу пинговать Linux виртуальную машину, но не Solaris виртуальную машину.

Решение найдено: это был проблемный драйвер/конфигурация.
В предыдущей конфигурации у меня было 4 сетевых интерфейса (все e1000g0), я изменил драйвер для четвертого (который не использовался) на rtl8139. Я перезагрузился и…

root@solaris10:~# ping  418:5b17:d32a:8023::1
418:5b17:d32a:8023::1 is alive
root@solaris10:~# ping  418:5b17:d32a:8023::2
418:5b17:d32a:8023::2 is alive
root@solaris10:~# ping  418:5b17:d32a:8023::3
418:5b17:d32a:8023::3 is alive

Ответ или решение

Проблема, описанная в вопросе, связана с недоступностью сети в виртуальной машине Solaris 10 с настроенным протоколом IPv6. Здесь важно оценить все возможные факторы, которые могут влиять на работу сети и выявить причины, почему система не может корректно взаимодействовать с внешними устройствами.

Теория

Виртуальные машины, работающие в гипервизорах, таких как QEMU или VirtualBox, часто зависят от корректной настройки сетевых интерфейсов и драйверов. Solaris 10, как операционная система, в которой уже давно не выпускаются обновления, может демонстрировать проблемы с поддержкой современных сетевых стандартов и драйверов.

IPv6 — это протокол, который обеспечивает большую адресную емкость по сравнению с IPv4 и используется для прямой маршетизации без NAT. Важными пунктами управления в обстановке с IPv6 являются:

  • Согласованность настроек сетевых интерфейсов. Необходимо, чтобы интерфейсы были настроены корректно без конфликта адресов и наложений.
  • Драйверы сетевых карт. Низкопроизводительные драйверы или драйверы с ошибками могут искажать работу сетевой коммутации.
  • Правильная настройка маршрутизации и соответствующих таблиц. Важно, чтобы маршруты были прописаны так, чтобы пакеты доходили от источника к пункту назначения.
  • Отключенные механизмы безопасности, такие как IPSEC или фильтрация, которые часто создают барьеры для трафика.

Пример

В представленном случае мы наблюдаем, что после изменения драйвера сетевой карты с e1000 на rtl8139 проблема была устранена. Это достаточно характерная проблема с виртуализированными средами, где отображения аппаратных ресурсов (виртуальные устройства) могут вести себя не так стабильно, как настоящие аппаратные аналоги.

Применение

Для ваших задач это означает следующее:

  1. Проверка сетевых интерфейсов: Начните с конфигурации ifconfig -a6, чтобы удостовериться, что все интерфейсы имеют верные IP-адреса и активированы. Здесь ключевую роль сыграет команда для IPV6, которая должна показывать правильные параметры, такие как UP, RUNNING для интерфейсов.

  2. Анализ драйверов: Убедитесь, что ваш виртуальный адаптер использует стабильный драйвер. Это можно осуществить через изменение конфигурации сети в файлах конфигурации QEMU или через интерфейсы управления, такие как libvirt.

  3. Проверка маршрутизации: Команда netstat -rn дает представление о маршрутизации. Все маршруты должны быть актуальны и приведены в порядок. Это особенно важно для сетей IPv6.

  4. Диагностика сети: Используйте команды ping и traceroute для проверки доступности адресов. Это помогает точно определить, на каком этапе может происходить задержка или потеря пакетов.

  5. Состояние службы: Периодически проверяйте состояния сервисов в Solaris с помощью команды svcs -a, чтобы убедиться, что никакие важные службы не остаются по ошибке выключенными.

  6. Журналы и мониторинг: Журналы системных событий Solaris и сообщения #la помогут глубже понять, где могут скрываться ошибки. Разбор логов – это ключевой момент в диагностике.

  7. Обновление и поддержка: Возможно, ваш гипервизор имеет обновления, которые могут решить проблемы совместимости с Solaris 10. Изучите документацию вашего гипервизора на предмет обновлений или улучшений совместимости.

Для решения подобных проблем следует провести полный цикл диагностики от настройки сетей и проверке драйверов до поиска и устранения аппаратных или программных сбоев в настройках виртуальной машины. Введение дополнительных тестов на другом гипервизоре или даже физических серверах также может дать больше информации о природе проблемы.

Оцените материал
Добавить комментарий

Капча загружается...