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 туннель

Начнем с создания 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

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

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

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

Наши возможности лицензии позволяют нам проводить псевдо 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 активны только с вашего согласия.

Настройка