Пошаговая инструкция по установке IXNetwork VE (Ubuntu)
18.03.2026
Настройка сервера, установка необходимых приложений окружения, разворачивание сетей, установка виртуальных машин
В этом документе приводятся в том числе ответы ОС, перед отправкой в терминал стоит проверить, команда это или ответ.
Разворачивание сервера, базовое окружение для собственного удобства
Сервер: Ubuntu Server 22.04 LTS, очень важно для Ixia
Ограничение интернет подключения для приложений IxNetwork
После установки всего окружения IxNetwork, советую устанавливать без подключения к интернету. Нам нужно открыть Монитор Брандмауэра Защитника Windows (Firewall). Пример будет показан для одного из, но процесс для остальных одинаковый.






Тут довольно просто, IxNetwork нельзя установить в иной путь, кроме предалагаемого установщиком, а это C:/Program Files(X86)/Ixia, в этой директории будут расположены все приложения окружения IxNetwork (Ixia Licensing Utility, сам IxNetwork, Deployment Wizzard и тд). Мы просто по очереди задаем им одинаковые правила.


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


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

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

Выбираем блокировать и в профиле выбираем всё.

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



После это ок и применить. Готово. И так для каждого интересующего вас приложения IxNetwork. Он работает через Wireguard и при этом не уходит во всемирную сеть.
Установка приложения для файлового обмена с сервером
curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash
Мы скачали приложение, сразу настроим его под себя
Создадим директории
Создадим директории
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]
[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 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 туннель
Начнем с создания 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

Теперь нам нужно
добавить клиента
, т.е. обновить файл конфигурации
Чтобы обновить конфиг нам требуется отключить wireguard
root@Maxwell:~# systemctl stop wg-quick@wg0
root@Maxwell:~# nano /etc/wireguard/wg0.conf
Вписываем под конфиг интерфейса
[Peer]
[Peer]
PublicKey = <WINDOWS_PUBLIC_KEY>
AllowedIPs = 10.0.0.2/32
Открываем Wireguard
на устройстве с виндовс и копируем публичный ключ из окна создания туннеля (о том как добраться сюда описано ниже)
Обратно запускаем wg на сервере и проверяем на всякий случай файл конфига, если по пути что-то сделали неверно, изменения могли не примениться.
root@Maxwell:~# systemctl start wg-quick@wg0
root@Maxwell:~# nano /etc/wireguard/wg0.conf
Переходим к настройке клиента на Window устройстве


Туда нам нужно вписать конфигурацию уже для подключаемого устройства
[Interface]
[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: … Говорит нам о том что успешно подключен
Так же дублирующая проверка на Window

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>
<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-mgmt, model=virtio \
-- network network=ixia-traffic, model=virtio
-- noautoconsole
Обращаем внимание на порядок и состав сетей, а именно сначала менеджмент сеть, а потом сеть для траффика
Открываем CLI и проверяем выдачу IP. Если выдалось и главное, что в той же подсети, что и шасси, то успех. Далее нам нужно зайти в консоль шасси и отключить проверку лицензии, т.к. у нас нет возможности подключить лицензионный сервер (с сервера даже через мост не видно ILU, т.к. он расположен на loopback адресе Windows)
set license-check disable
Теперь соединяем шасси с Виндовс устройством через 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
Проверяем на виндовс устройстве через пинг наше соединение с шасси
Отлично! Теперь можно пробовать зайти через браузер. Вводим тот же адрес, который мы пинговали в адресную строку браузера. Нас встретит предупреждение о небезопасности подключения. Нажимаем дополнительно и подтверждаем подключение.

Далее нам нужно будет авторизоваться под 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`а.
Из установки я продемонстрирую лишь первое окно в кокпите и далее разводку сетей, т.к. ИВМ вещь опциональная (в случае ПНР у заказчика обычно свои ИУ, которые построены под их конкретные задачи, да и ИУ бывают разные). При установке не было выбрано ничего особого, Дебиан был выбран по причине наименьшей захламенности этой ОС относительно других вариантов.

Наши возможности лицензии позволяют нам проводить псевдо 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», и указать как на скриншоте
Нажать кнопку «Add Interface», у добавленного интерфейса создать адрес при помощи «Add Ipv4», и указать как на скриншоте

Простейшей проверкой является простое включение интерфейса, если горит зеленым без восклицательного знака, то всё отлично, ARP у нас проходит, а значит сделано всё верно.
Так же у нас есть вверху кнопки Send ARP, Ping, Send ARP/NS, а внизу статистика по ним.
Создаем даем второму интерфейсу адрес 10.2.2.1, а в Ixnetwork делаем два виртуальных интерфейса с настройками как на скриншоте.
Создаем даем второму интерфейсу адрес 10.2.2.1, а в Ixnetwork делаем два виртуальных интерфейса с настройками как на скриншоте.
Простейшей проверкой у нас является простое включение интерфейса, если горит зеленым без восклицательного знака, то всё отлично, ARP у нас проходит, а значит сделано всё верно.
Так же у нас есть вверху кнопки Send ARP, Ping, Send ARP/NS, а внизу статистика по ним.
Создаем даем второму интерфейсу адрес 10.2.2.1, а в Ixnetwork делаем два виртуальных интерфейса с настройками как на скриншоте.
Создаем даем второму интерфейсу адрес 10.2.2.1, а в Ixnetwork делаем два виртуальных интерфейса с настройками как на скриншоте.
Теперь дело остается за малым, а именно настроить между двумя интерфейсами маршрутизацию. Мы будем просто гонять траффик через ИУ, никак его не искажая, не меняя и тд, перед нами подобной задачи не стоит впринципе. Мы эмулируем простой маршрутизатор траффика в данном случае, не более.
Создаем подобный файл для конфигурации сетей и еще один /etc/systctl.conf, куда прописываем одну строчку.
net.ipv4.ip_forward=1
Если не работает маршрутизация, то просто прописываем ее в консоль.