Alter.Org.UA
 << Back Home EN en   Donate Donate

Access Dell iDRAC6 IPKVM under Linux

Investigation story

Потратил пол-дня на то, чтобы зайти на Dell'овский IPKVM iDRAC6 из под Ubuntu 16.04 Linux. Началось с того, что формируемый .jnlp файл вроде как запускался, но не мог подключиться. Устойчивое "Connection failed". Google быстро подсказал, что если установлено JDK 1.8 и соответственно IcedTea 8, то нужно вернуться на 1.7 или даже 1.6

apt-get install openjdk-7-jdk
apt install policycoreutils
setsebool -P allow_execmod on

одна беда - из текущего репозитория эти версии уже выпилены. Ок

add-apt-repository ppa:openjdk-r/ppa
apt-get install openjdk-7-jdk
update-java-alternatives -s java-1.7.0-openjdk-amd64

Не хватает IcedTea 1.7. Ок

apt-get install icedtea-7-plugin

Его в репозитории нет :( Пришлось искать .deb и устанавливать руками. Как оказалось, есть еще зависимость от icedtea-netx 1.5

dpkg -i icedtea-netx_1.5-1ubuntu1_amd64.deb
dpkg -i icedtea-7-plugin_1.5-1ubuntu1_amd64.deb
update-java-alternatives -s java-1.7.0-openjdk-amd64

Теперь переключение на JDK 1.7 прошло успешно. Далее, согласно мануалу, нужно с IPKVM'а забрать исполнимый модуль avctKVM.jar и хитро запустить его. Лежит он в https://$drachost:443/software/avctKVM.jar, там же где и остальные модули. Можно подробнее глянуть внутри .jnlp файла, образующегося при запуске Virtual Console.

ipkvm.sh

#!/bin/bash

echo -n 'Host: '
read drachost

echo -n 'Username: '
read dracuser

echo -n 'Password: '
read -s dracpwd
echo

/usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/java -verbose -cp avctKVM.jar \
 -Djava.library.path=./lib \
 com.avocent.idrac.kvm.Main ip=$drachost kmport=5900 vport=5900 \
 user=$dracuser passwd=$dracpwd apcp=1 version=2 vmprivilege=true \
 "helpurl=https://$drachost:443/help/contents.html"

Вроде бы работает. Консоль открылась, клавиатура работает. Переходим к монтированию iso-образа. Но при попытке обратиться к настройкам Virtual Media получаем "Failed to launch VirtualMedia" без каких-либо подробностей. Возникла догадка, что не хватает еще одного файла - avctVMLinux64.jar. Попытки подсунуть его локально или внести в classpath успехом не увенчались. Зато google подсказал еще варианты попробовать JDK 1.7 32bit и JDK 1.6 (как 32, так и 64 бит). Далее следовала масса веселья с поиском .deb, из установкой, разруливанием зависимостей и т.п. Не работает. Консоль запускается, VM - нет. Нашел даже какую-то виндовую машину с IE11, водрузил на нее JDK 1.8 - опять "Connection failed". Хотя утверждалось, что уж где-где, а под Windows все работает. Снижение уровня безопасности Java тоже эффекта не возимело.

И тут нашелся еще один мануал, уже по поиску упоминаний об avctVMLinux64.jar и avctVMLinux32.jar. Предлагали запускать непосредственно .jnlp через javaws. Ок. idrac_console.sh

javaws veiwer.jnlp(a-lot-of-unique-cheracters-comes-here)

Видимо, мне повезло, и в 1й раз я запусил самый свежий из скачаных .jnlp. Повторить фокус с этим же файлом или с ранее сохраненными не получилось. Были вновь проверены разные JDK на всякий случай. И в конечном итоге под 1.7 64bit после logout/login/Launch console удалось снова успешно запустить свежий .jnlp. Модуль Virtual Media успещно стартовал.

Switch between JDK versions

PS. В процессе обнаружилось, что просто так держать на одной системе IcedTea разных версий не получается, потому что они хотят разных версий icedtea-netx, а их совместное проживание не предусмотрено, update-java-alternatives задачу не решает. А при переустановке JDK/IcedTea 1.8 слетает (удаляется из системы) IcedTea 1.7. Поэтому

# switch to JDK/IcedTea 7
dpkg -i icedtea-netx_1.5-1ubuntu1_amd64.deb
dpkg -i icedtea-7-plugin_1.5-1ubuntu1_amd64.deb
update-java-alternatives -s java-1.7.0-openjdk-amd64

# switch to JDK/IcedTea 8
dpkg -r icedtea-7-plugin
dpkg -r icedtea-netx
apt-get -f install
apt-get install icedtea-netx
apt-get install icedtea-8-plugin
update-java-alternatives -s java-1.8.0-openjdk-amd64

Final solution

add-apt-repository ppa:openjdk-r/ppa
apt-get install openjdk-7-jdk
dpkg -i icedtea-netx_1.5-1ubuntu1_amd64.deb
dpkg -i icedtea-7-plugin_1.5-1ubuntu1_amd64.deb
apt install policycoreutils
update-java-alternatives -s java-1.7.0-openjdk-amd64
setsebool -P allow_execmod on

# re-login on IPKVM Web, download fresh viewer.jnlp (Launch Virtual Console)

javaws viewer.jnlp.....
2018.12.15

See also:


FB or mail alterX@alter.org.ua (remove X)   Share
Автор: Alter (Александр А. Телятников) Сервер: Apache+PHP под FBSD © 2002-2024