Pull to refresh

Comments 18

Может расскажите/напишите создание лабы где будет подключение IPSEC VPN между Linux в Docker и Cisco?
Также интересная тема: Учет трафика Cisco ASA с помощью NetFlow на Linux в Docker.
Заранее спасибо.
Дела по мануалам. но почему то нет части команд
root@Docker:/# ipconfig
bash: ipconfig: command not found
root@Docker:/# ip route
bash: ip: command not found
root@Docker:/#route
bash: route: command not found
root@Docker:/# ping
bash: ping: command not found
возможно не тот образ busybox поставился?
Пробоал ставить убунту (как из мануала на оф сайте) ровно та же картина. может я что то не так делаю… пока в докере не силен. но вроде все по гайдам.
Разобрался со своей проблемой. У меня до этого был установлен образ убунту, как в официальном доке на UNL. и почему то всегда запускался именно он, даже если выбрать бизибокс (видимо та самая сырость UNL). Удалил убунту, поставил один бизибокс — все стало ок.
Не заработал сеть. Если старую руками с ключом "--cap-add=NET_ADMIN " все ок. а из UNL не дает поменять IP:
/ # ip addr add 10.0.0.1/24 dev eth0
ip: RTNETLINK answers: Operation not permitted

Как заставить UNL запускать с этим параметром?
Победил.
Честно пока не знаю на сколько это опасно и костыльно (первый день докер трогаю). Но в UNL часть параметров из стартап конфига у меня не применялась. А из-за сырости докера приходилось удалять докер. добавлять снова. добавлять линк, потом идти писать\править стартап, и в Nodes выбирать стартап конфиг (если выбрать его при создании ноды — оно тоже не работает). надоело тратить кучу временина проверку каждой строки, решил рестартануть контейнер.
#Из консоли UNL:
docker -H=tcp://127.0.0.1:4243  ps -a
#Запущеный UNL-ом контейнер будет с именем типа
#NAMES: 82870f34-925a-438f-a17d-1841250497a6-0-5
#ORTS:  47a9753304cc
#Удаляем его:
docker -H=tcp://127.0.0.1:4243  rm 47a9753304cc
#запускаем с атрибутом NET_ADMIN и таким же именем:
docker -H=tcp://127.0.0.1:4243  run --cap-add=NET_ADMIN -d --name 82870f34-925a-438f-a17d-1841250497a6-0-5 -i -t  busybox  /bin/sh

Полагаю если добавить еще один докер, то надо будет рестартануть опять новый контейнер.
Через startup config разве не работает?
Возможно это как раз сырость докера. У меня не срабатывал роут. ни через ip route ни через route add.
На этой же лабе добавил второй докер — создался второй контейнер и все заработало. До этого исопльзовался всегда один, даже если удаляешь ноду.
По этому я долго мучался с образом убунту, из How To, думая что запускаю бизибокс.

Теперь у меня проблема с Windows образом :))
Интересно!

А как подключится к например busybox если виртуальная машина с unetlab запущена не в виндовс, а в линуксе?
Вебинтерфейс unetlab пытается отктырть ссылку типа «docker://192.168.122.60:4243/ace7062e-b1f3-418e-81db-f8f954ac8ef2-0-1?Docker» но браузер её не распознаёт. Ну это ладно, а через терминал как подключиться к работающему образу busybox? На линксе ведь не поставишь windows integration pack. Спасибо!
в статье есть об этом.надо запустить рег файл, что бы ассоциировать ссылки типа docker:// с docker_warper.bat
Тогда все ок.
хе-хе, это если виртуальная машина в виндовсе запущена. я пытаюсь сделать это в линуксе.
Если FF то добавьте вручную ассоциацию на протокол
Наверняка понадобится поставить докер, и напистаь срипт, который будет цепляться у кдаленому хосту. хотя може есть уже готовй пакет для линуксов.
Спасибо, ещё бы узнать команду для которую нужно передавать для локального докера(docker установлен). Если бы удалось вручную подключиться…

Я пробовал docker attach но что-то не получается.
docker.exe -H=%H% attach %I%
H — берется из ссылки, адрес куда цеплсять.
I — ID докера.Передается в ссылке
Если кому интересно, то я навелосипедил скриптик, который запускает команду соответственно протоколу.

cat ./protocol_handler.sh
#!/bin/bash
protocol=$(echo $1 | cut -d : -f 1)
address=$(echo $1 | cut -d / -f 3)
user=$(echo $address | grep @ | cut -d @ -f 1)
port=$(echo $address | grep : | cut -d : -f 2)
host=$(echo $address | cut -d @ -f 2 | cut -d : -f 1)
case $protocol in
    ssh)
        connectstring=$(echo "$([ -z $user ] || echo "$user@")$host$([ -z $port ] || echo "-p $port")")
        konsole --new-tab -e "$protocol $connectstring"
        ;;
    telnet)
        connectstring=$(echo "$host $([ -z $port ] || echo "$port")$([ -z $user ] || echo "-l $user")")
        konsole --new-tab -e "$protocol $connectstring"
        ;;
    rdesktop)
        connectstring=$(echo "$([ -z $user ] || echo "-u $user ")$host$([ -z $port ] || echo ":$port")")
        rdesktop -g 1280x960 $connectstring
        ;;
    vnc)
        connectstring=$(echo "$host$([ -z $port ] || echo":$port")")
        vncviewer $connectstring
        ;;
    docker)
        konsole --new-tab -e docker -H=$address attach $(echo $1 | cut -d / -f 4 | cut -d \? -f 1) 
        ;;
esa
Sign up to leave a comment.

Articles