0
Пошаговая инструкция по установке IXNetwork VE (Ubuntu)

Пошаговая инструкция по установке IXNetwork VE (Ubuntu)

18.03.2026

Настройка сервера, установка необходимых приложений окружения, разворачивание сетей, установка виртуальных машин
В этом документе приводятся в том числе ответы ОС, перед отправкой в терминал стоит проверить, команда это или ответ.

Разворачивание сервера, базовое окружение для собственного удобства

Сервер: Ubuntu Server 22.04 LTS, очень важно для Ixia

Ограничение интернет подключения для приложений IxNetwork

После установки всего окружения IxNetwork, лучше устанавливать без подключения к интернету, нужно открыть Монитор Брандмауэра Защитника Windows (Firewall). Пример будет показан для одного, но процесс для остальных одинаковый.
Picture.jpg
2.jpg
3.jpg
4.jpg
5.jpg
6.jpg
IxNetwork нельзя установить в иной путь, кроме предалагаемого установщиком, а это C:/Program Files(X86)/Ixia, в этой директории будут расположены все приложения окружения IxNetwork (Ixia Licensing Utility, сам IxNetwork, Deployment Wizzard и тд). Задаем им по очереди одинаковые правила.
7.png
8.png

На следующем окне задаем имя правилу и нажимаем ок и попадаем обратно в список всех правил, нажимаем на только что созданное правило правой кнопкой мыши и заходим в Свойства -> Дополнительно.

9.jpg
10.jpg

Далее заходим в интерфейсы и выбираем удаленный доступ.

11.jpg
Далее ок -> Применить. Создаем новое правило для ограничения трафика для того же приложения, для которого до это создавали правило на Удаленный доступ.
Здесь отличие в выборе на окне Действие.
12.jpg
Выбираем блокировать и в профиле выбираем все пункты.
13.jpg
После создания правила на блокировку правила мы должны снова зайти в свойства для уточнения.
14.jpg
15.jpg

16.jpg
После это ок и применить. И так для каждого интересующего вас приложения IxNetwork. Он работает через Wireguard и при этом не уходит во всемирную сеть.

Установка приложения для файлового обмена с сервером

Приложение скачано, сразу настроим его под себя.

Создадим директории:
root@Maxwell:~# ls
snap
root@Maxwell:~# cd ../. ./
root@Maxwell:/# ls
bin    dev               home   lib64       media  proc  sbin  swap.img  usr
boot   etc               lib    libx32      mnt    root  snap  sys       var
cdrom  fail2ban.service  lib32  lost+found  opt    run   srv   tmp
root@Maxwell:/# cd home
root@Maxwell:/home# ls
root@Maxwell:/home# mkdir filebrowser
root@Maxwell:/home# cd filebrowser
root@Maxwell:/home/filebrowser# mkdir share

Теперь нам нужно создать пользователя

, чтобы он был владельцем приложения и всего с ним связанного, передадим ему обладание и создадим systemd unit.
root@Maxwell:/home/filebrowser# useradd --system --home /home/filebrowser --create-home --shell /usr/sbin/nologin filebrowser
useradd: warning: the home directory /home/filebrowser already exists.
useradd: Not copying any file fr om skel directory into it.
root@Maxwell:/home/filebrowser# mkdir -p /home/filebrowser/share /home/filebrowser/config
chown -R filebrowser:filebrowser /home/filebrowser
chmod 750 /home/filebrowser /home/filebrowser/share /home/filebrowser/config
root@Maxwell:/home/filebrowser# nano /etc/systemd/system/filebrowser.service
Текст для заполнения конфига системд
[Unit]
Description=File Browser
After=network.target
[Service]
User=filebrowser
Group=filebrowser
WorkingDirectory=/home/filebrowser
ExecStart=/usr/local/bin/filebrowser \
  -a 0.0.0.0 \
  -p 8080 \
  -r /home/filebrowser/share \
  -d /home/filebrowser/config/filebrowser.db
Restart=always
RestartSec=2
[Install]
WantedBy=multi-user.target

После того, как ввели это, нажимаем команды CTRL+O, Enter, CTRL+X. Запускаем:

root@Maxwell:/home/filebrowser# systemctl daemon-reload
systemctl enable --now filebrowser
systemctl status filebrowser --no-pager
Created symlink /etc/systemd/system/multi-user.target.wants/filebrowser.service → /etc/systemd/system/filebrowser.service.
● filebrowser.service - File Browser
     Loaded: loaded (/etc/systemd/system/filebrowser.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2026-01-29 22:04:53 MSK; 6ms ago
   Main PID: 48378 ((ebrowser))
      Tasks: 1 (lim it: 38139)
     Memory: 768.0K
        CPU: 5ms
     CGroup: /system.slice/filebrowser.service
             └─48378 "(ebrowser)"
Jan 29 22:04:53 Maxwell systemd[1]: Started File Browser.
root@Maxwell:/home/filebrowser#

Важно

, чтобы статус был Active(running), открываем по ip_сервера:8080

Установка веб-панели Ubuntu-Server`а для удобного UI управления сервером

Будем устанавливать стандартное для этой задачи приложение Cockpit.
root@Maxwell:~# apt upd ate
root@Maxwell:~# apt install -y cockpit
root@Maxwell:~# systemctl status cockpit --no-pager
○ cockpit.service - Cockpit Web Service
     Loaded: loaded (/lib/systemd/system/cockpit.service; static)
     Active: inactive (dead)
TriggeredBy: ● cockpit.socket
       Docs: man:cockpit-ws(8)
root@Maxwell:~#
root@Maxwell:~# ufw allow 9090/tcp
root@Maxwell:~# ufw reload
Rules upd ated
Rules updated (v6)
Firewall not enabled (skipping reload)
root@Maxwell:~# ss -tulnp | grep 9090
tcp   LISTEN 0      4096               *:9090            *:*    users:(("systemd",pid=1,fd=77))     
root@Maxwell:~#
Если вывод аналогичный, то открываем веб-панель по <ip сервера>:9090

Разворачивание окружения для Ixia

Начнем с простой установки qemu-kvm.

root@Maxwell:~# apt update
root@Maxwell:~# apt install -y \
  qemu-kvm \
  libvirt-daemon-system \
  libvirt-clients \
  bridge-utils \
  virtinst \
  cpu-checker
root@Maxwell:~# systemctl enable --now libvirtd

Создание сети

Начнем с создания Wireguard туннеля, чтобы после создания сетей не менять их параметры.
root@Maxwell:~# apt update
root@Maxwell:~# apt install -y wireguard
root@Maxwell:~# nano /etc/wireguard/wg0.conf

Теперь впишем

первоначальный конфиг, который потом будем изменять
[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = <СОДЕРЖИМОЕ /etc/wireguard/server.key>
PostUp   = sysctl -w net.ipv4.ip_forward=1
PostDown = sysctl -w net.ipv4.ip_forward=0

Для PrivateKey выполняем команду:

root@Maxwell:~# cat /etc/wireguard/server.key
17.jpg
Теперь нам нужно

добавить клиента

, т.е. обновить файл конфигурации. Чтобы обновить конфиг нам требуется отключить wireguard:
root@Maxwell:~# systemctl stop wg-quick@wg0
root@Maxwell:~# nano /etc/wireguard/wg0.conf
Вписываем под конфиг интерфейса:

[Peer]
PublicKey = <WINDOWS_PUBLIC_KEY>
AllowedIPs = 10.0.0.2/32

Открываем Wireguard

на устройстве с Windows и копируем публичный ключ из окна создания туннеля (о том, как добраться сюда описано ниже):
18.jpg
Обратно запускаем wg на сервере и проверяем на файл конфига, если по пути что-то сделали неверно, изменения могли не примениться:
root@Maxwell:~# systemctl start wg-quick@wg0
root@Maxwell:~# nano /etc/wireguard/wg0.conf

Переходим к настройке клиента на Windows устройстве

19.jpg
20.jpg
Туда нам нужно вписать конфигурацию для подключаемого устройства^

[Interface]
PrivateKey = iD5iRr/o9MQlOIdDHTND34QJ4zu5fyFJY+/mB6FsGHw=
Address = 10.0.0.2/32
DNS = 1.1.1.1
[Peer]
PublicKey = COH2mH1t8RZbn6fr3aMirjh2ucw6C0XH5HmREIUWt1Q=
Endpoint = 94.26.229.66:51820
AllowedIPs = 10.0.0.0/24
PersistentKeepAlive = 25

В разделе [Interface] PrivateKey

сам появляется при создании файла, а PublicKey нужно подсмотреть на сервере:
root@Maxwell:~# cat /etc/wireguard/server.pub

После настройки на обеих сторонах туннеля можно нажать подключиться и проверить наличие подключения уже на сервере:
Peer: … latest handshake: … Говорит нам о том что успешно подключен
Так же дублирующая проверка на Windows:

Backplane сеть

Это внутренняя Ixia сеть, она необходима для корректной работы Virtual Chassi, при этом она не выдает на подключенный к ней порт VM никакого IP.
root@Maxwell:~# nano /tmp/ixia-backplane.xml
Туда мы вписываем:
<network>
  <name>ixia-backplane</name>
  <forward mode="none"/>
  <bridge name="virbr-ixia-bp" stp="off" delay="0"/>
</network>
После описания xml для сети нужно применить и установить параметры запуска:
root@Maxwell:~# virsh net-define /tmp/ixia-backplane.xml
Network ixia-backplane defined from /tmp/ixia-backplane.xml
root@Maxwell:~# virsh net-autostart ixia-backplane
Network ixia-backplane marked as autostarted
root@Maxwell:~# virsh net-start ixia-backplane
Network ixia-backplane started
root@Maxwell:~# virsh net-list --all
 Name             State    Autostart   Persistent
---------------------------------------------------
default          active   yes         yes
 ixia-backplane   active   yes         yes
root@Maxwell:~# ƒ
Последняя команда для проверки, сеть у нас появилась.

Traffic сеть

root@Maxwell:~# nano /tmp/ixia-traffic.xml
XML:
<network>
  <name>ixia-traffic</name>
  <forward mode="none"/>
  <bridge name="virbr-ixia-traf" stp="off" delay="0"/>
</network>
root@Maxwell:~# virsh net-define /tmp/ixia-traffic.xml
Network ixia-traffic defined from /tmp/ixia-traffic.xml
root@Maxwell:~# virsh net-autostart ixia-traffic
Network ixia-traffic marked as autostarted
root@Maxwell:~# virsh net-start ixia-traffic
Network ixia-traffic started
root@Maxwell:~# ip link show | grep virbr
7: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
11: virbr-ixia-bp: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
12: virbr-ixia-traf: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000

У нас создались сети.

MGMT сеть

Сеть для управления всем ВМ:
root@Maxwell:~# nano /tmp/ixia-mgmt.xml

Текст конфига:

<network>
  <name>ixia-mgmt</name>
  <bridge name="virbr-ixia-mgmt" stp="off" delay="0"/>
  <ip address="192.168.150.1" netmask="255.255.255.0">
    <dhcp>
      <range start="192.168.150.50" end="192.168.150.100"/>
    </dhcp>
  </ip>
</network>

Текст конфига:

root@Maxwell:~# virsh net-define /tmp/ixia-mgmt.xml
Network ixia-mgmt defined from /tmp/ixia-mgmt.xml
root@Maxwell:~# virsh net-autostart ixia-mgmt
Network ixia-mgmt marked as autostarted
root@Maxwell:~# virsh net-start ixia-mgmt
Network ixia-mgmt started
root@Maxwell:~# virsh net-list --all
 Name             State    Autostart   Persistent
---------------------------------------------------
default          active   yes         yes
 ixia-backplane   active   yes         yes
 ixia-mgmt        active   yes         yes
 ixia-traffic     active   yes         yes
root@Maxwell:~# ip a show virbr-ixia-mgmt
13: virbr-ixia-mgmt: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:e9:a2:90 brd ff:ff:ff:ff:ff:ff
    inet 192.168.150.1/24 brd 192.168.150.255 scope global virbr-ixia-mgmt
       valid_lft forever preferred_lft forever
root@Maxwell:~#

Настройка сети

Нам нужно

настроить связь Wireguard`а

и наших сетей:
root@Maxwell:~# iptables -A FORWARD -i wg0 -o virbr0 -j ACCEPT
root@Maxwell:~# iptables -A FORWARD -i virbr0 -o wg0 -j ACCEPT
root@Maxwell:~# iptables -A FORWARD -i eth0 -o virbr0 -j DROP
root@Maxwell:~# iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
root@Maxwell:~# iptables -A FORWARD -i wg0 -o virbr-ixia-bp -j ACCEPT
root@Maxwell:~# iptables -A FORWARD -i virbr-ixia-bp -o wg0 -j ACCEPT
root@Maxwell:~# iptables -A FORWARD -i wg0 -o virbr-ixia-traf -j ACCEPT
root@Maxwell:~# iptables -A FORWARD -i virbr-ixia-traf -o wg0 -j ACCEPT
root@Maxwell:~# iptables -A FORWARD -i eth0 -o virbr-ixia-bp -j DROP
root@Maxwell:~# iptables -A FORWARD -i eth0 -o virbr-ixia-traf -j DROP

Так же туннелизируем ssh через Wireguard.

Установка IxVM (manual deployment)

Automatic deployment показал себя плохо, это старый инструмент, который требует точных соблюдений всех контекстов, которые подразумевали, но не упомянули в руководстве по установке для KVM/QEMU, возможно при работе через VMWare это отличный инструмент. 
Начинаем с того, что отправляем на наш сервер через filebrowser файлы c виртуальными машинами (шасси и нагрузочный модуль). Нужно не забыть скопировать образы машин в нужную папку.
root@Maxwell:/home/filebrowser/share# tar -xvjf Ixia_Virtual_Chassis_10.00_KVM.qcow2.tar.bz2
Ждем исполнения разархивации и проделываем то же самое с архивом с нагрузочным модулем. После разархивации файлы *.qcow2 нужно скопировать в директорию для образов ВМ в служебную директорию libvirt.
root@Maxwell:/home/filebrowser/share# mv *. qcow2 /var/lib/libvirt/images/
Из-за * все файлы образов из этой директории будут перемещены в служебную директорию.
Теперь нам нужно провести установку образов (т.е создание домена, подключение к нему сетей, выделение памяти, виртуальный ядер процессора, выделение оперативной памяти), здесь просто взять команду из руководства по установке образов для KVM над Ubuntu.

Это место, где можно ошибиться, если не знать – порядок сетей важен!

root@Maxwe11:/home/filebrowser/share# virt-install \
-- name ixia-chassis \
-- memory 16384
-- vcpus 8 \
-- disk path=/var/lib/libvirt/images/Ixia_Virtual_Chassis_10.00_KVM.qcow2,format=
qcow2, bus=virtio \
-- import \
-- os-variant generic \
-- network network=ixia-mgmt, model=virtio \
-- network network=ixia-backplane, model=virtio \
-- noautoconsole
Для шасси мы первой сетью указываем сеть управления, а потом backplane:

Для проверки правильности открываем CLI консоль через virsh console {VM_name}, логин и пароль admin:adkin:
Ждем сообщения о создании домена, далее переходим к нагрузочному модулю:
root@Maxwe11:/home/filebrowser/share# virt-install \
-- name ixia-loadmodule-1 \
-- memory 16384 \
-- vcpus 8 \
-- disk path=/var/lib/libvirt/images/Ixia_Virtual_Load_Module_IXN_10.00_KVM.qcow2
, format=qcow2,bus=virtio \
-- import \
-- os-variant generic
-- network network=ixia-mgmt, model=virtio \
-- network network=ixia-traffic, model=virtio
-- noautoconsole
Обращаем внимание на порядок и состав сетей, сначала менеджмент сеть, а потом сеть для траффика:
Открываем CLI и проверяем выдачу IP. Если выдалось в той же подсети, что и шасси, то успех. Далее нам нужно зайти в консоль шасси и отключить проверку лицензии, т.к. у нас нет возможности подключить лицензионный сервер (с сервера даже через мост не видно ILU, т.к. он расположен на loopback адресе Windows)
set license-check disable
Теперь соединяем шасси с Windows устройством через Wireguard, нужно настроить маршрутизацию:
root@Maxwell :~ # iptables -I FORWARD 1 -i wg0 -o virbr-ixia-mgmt -s 10.0.0.0/24 -
d 192.168.150.0/24 -j ACCEPT
iptables -I FORWARD 1 -i virbr-ixia-mgmt -o wg0 -s 192.168.150.0/24 -d 10.0.0.0/24 -j ACCEPT
Проверяем на Windiws устройстве через пинг наше соединение с шасси:
Отлично! Теперь можно пробовать зайти через браузер. Вводим тот же адрес, который мы пинговали в адресную строку браузера. Нас встретит предупреждение о небезопасности подключения. Нажимаем дополнительно и подтверждаем подключение.
21.jpg
Далее нам нужно будет авторизоваться под admin:admin и снизу указать Ignore strong password policy:
Заходим в Chassis, это веб панель управления шасси, в ней мы можем зайти в CLI, подключить к ней нагрузочные модули, поменять Владельца модуля, но не можем создавать трафик и так далее. 
Нажимаем Configure Chassis, далее Discover. Он найдет нагрузочный модуль. Нужно использовать именно поиск, чтобы понять, что все сделано правильно. На скриншоте сразу будет показан результат автопоиска, выбираем номер слота (1) и нажимаем Attach. У нас отобразится меню нагрузочный модуль с его адресом в управляющей сети.
Установка успешна. Можем открывать IxNetwork, чтобы подтвердить правильность установки.

Подключение шасси к управляющей консоли IxNetwork



Здесь нам нужно нажать Add Ports, добавить шасси можно кнопкой Add Chassis:

В появившемся окне вводим адрес шасси, если часто пользуетесь IxNetwork, он запоминает адреса ранее веденных шасси:
В левой части отобразится окна шасси и карта (нагрузочный модуль). Если все сделано правильно, то должен отображаться зеленый круг возле всех устройств, не перекрываемый никакими другими символами:
Выделяем нажатием левой кнопкой мыши Port 01 и добавляем его в конфигурацию с помощью “Add Ports”. Откроется окно “Ports”, где будут видны порты, может быть он будет отражаться вначале как красным кругом. Это нормально, нужно отсоединить порт нажав на Release All, а потом Connect All, после этого порт снова загорится зеленым цветом:

Создание испытуемой виртуальной машины (VMUT)

В качестве виртуальной испытуемой машины на Debian, был сделан тест через визуальный интервейс веб-панели Ubuntu Server`а.
Из установки будет продемонстировано только первое окно в кокпите и далее разводку сетей, т.к. ИВМ опуиональна (в случае ПНР у заказчика обычно свои ИУ, которые построены под их конкретные задачи, а также ИУ бывают разные). При установке не было выбрано ничего особого, Debian был выбран по причине наименьшей захламенности этой ОС относительно других вариантов.

Вохможности лицензии позволяют проводить псевдо-two arm испытания, т.е. порт у нас один, но на нём можно возводить интерфейсы. По аналогии с другими виртуальными машинами, подключаем к нашему ИУ несколько интерфейсов трафик сети, просто от двух до n штук, можно и остальные, в нашем случае, например, подключена управляющая сеть, чтобы подключаться по ssh

Наши полезные команды:
Ip addr flush dev <net_interface_name>
ip addr se t <ip/mask> dev <net_interface_name>
ip link se t <net_interface_name> up
Адрес - 10.1.1.2 потому что он будет в будущем указан как шлюз одного из интерфейсов IxNetwork.
Далее мы будем постоянно использовать IxNetwork для проверки правильности настройки сетей нашего ИУ. Что нам нужно сделать:
Нажать кнопку «Add Interface», у добавленного интерфейса создать адрес при помощи «Add Ipv4», и указать как на скриншоте
22.jpg
Проверкой является простое включение интерфейса, если горит зеленым без восклицательного знака, то всё отлично, ARP проходит, всё сделано верно.
Так же у нас есть вверху кнопки Send ARP, Ping, Send ARP/NS, а внизу статистика по ним.
Создаем даем второму интерфейсу адрес 10.2.2.1, а в Ixnetwork делаем два виртуальных интерфейса с настройками как на скриншоте.
Проверкой у нас является простое включение интерфейса, если горит зеленым без восклицательного знака, то всё отлично, ARP у нас проходит, все сделано верно.
Так же у нас есть вверху кнопки Send ARP, Ping, Send ARP/NS, а внизу статистика по ним.
Создаем даем второму интерфейсу адрес 10.2.2.1, а в Ixnetwork делаем два виртуальных интерфейса с настройками как на скриншоте.
Теперь дело остается за малым, а именно настроить между двумя интерфейсами маршрутизацию. Мы будем просто гонять траффик через ИУ, никак его не искажая, не меняя и т.д. В данном случае мы эмулируем простой маршрутизатор траффика.
Создаем подобный файл для конфигурации сетей и еще один /etc/systctl.conf, куда прописываем одну строчку.
net.ipv4.ip_forward=1
Если не работает маршрутизация, то прописываем ее в консоль.

Другие статьи

Возврат к списку

Мы используем файлы cookie

Мы используем cookie для корректной работы сайта, аналитики и улучшения пользовательского опыта. Подробнее об обработке данных — в Политике конфиденциальности.

Настройка cookie

Технические cookie нужны для стабильной работы. Аналитические и другие cookie помогают нам делать сайт лучше для вас: понимать, что вам интересно, и улучшать навигацию. Эти данные анонимны. Разрешая их, вы вносите свой вклад в развитие нашего сайта. Подробности в Политике обработки персональных данных.

Технические Cookie

Эти файлы cookie необходимы для правильной работы сайта и его основных функций (например, навигация, сохранение сессии, работа форм). Без них сайт не сможет функционировать должным образом. Они не собирают информацию для маркетинга или отслеживания. Этот тип cookie нельзя отключить.

Аналитические/Рекламные cookie

Эти файлы cookie позволяют нам собирать информацию о том, как посетители используют наш сайт (например, какие страницы посещают чаще, сколько времени проводят на сайте, возникают ли ошибки). Эта информация собирается в агрегированном или обезличенном виде и используется для анализа и улучшения работы сайта. Данные обрабатываются Яндекс.Метрикой согласно ее политике конфиденциальности (см. сайт Яндекса). Эти cookie активны только с вашего согласия.

Функциональные (остальные) cookie

Эти файлы cookie позволяют сайту запоминать сделанный вами выбор и предоставлять расширенные функции для вашего удобства. Они также могут использоваться для обеспечения работы встроенных на сайт сервисов (например, видеоплееров от Vimeo, виджетов социальных сетей VK), которые улучшают ваш опыт взаимодействия с сайтом. Эти сервисы могут устанавливать свои cookie для корректной работы и запоминания предпочтений. Эти cookie активны только с вашего согласия.

Настройка