Pnetlab. Подключить виртуальное устройство к физической сети: различия между версиями
Cless (обсуждение | вклад) |
Cless (обсуждение | вклад) |
||
| Строка 6: | Строка 6: | ||
==== ESXi ==== | ==== ESXi ==== | ||
Обязательно необходимо включить параметры | Обязательно необходимо включить параметры на vSwitch, в который включён физический интерфейс ESXi, к которому подключен виртуальный интерфейс ВМ Pnetlab: | ||
* http://<esxi_ip>/ui | * http://<esxi_ip>/ui | ||
Версия 13:18, 20 июля 2022
Вариант 1. Устройство подключается по L2 к той же подсети, в какой находится виртуальная машина Pnetlab
Если ВМ PNETLAB установлена в ESXi
ESXi
Обязательно необходимо включить параметры на vSwitch, в который включён физический интерфейс ESXi, к которому подключен виртуальный интерфейс ВМ Pnetlab:
- http://<esxi_ip>/ui
- Networking
- Virtual Switches
- vSwitch02 (виртуальный свитч, в которой подключен физ интерфейс ESXI, к которому подключен вирт интерфейс ВМ pnetlab)
- Edit settings
- Security
- Promiscuous mode: Accept
- MAC address changes: Accept
- Forged transmits: Accept
- Save
- Security
- Edit settings
- vSwitch02 (виртуальный свитч, в которой подключен физ интерфейс ESXI, к которому подключен вирт интерфейс ВМ pnetlab)
- Virtual Switches
- Networking
Параметры для физического интерфейса берем автоматом от свитча
- http://<esxi_ip>/ui
- Networking
- Port groups
- VM Network (сеть, в которой подключен интерфейс ВМ)
- Edit settings
- Promiscuous mode: Inherit from vSwitch
- MAC address changes: Inherit from vSwitch
- Forged transmits: Inherit from vSwitch
- Save
- Edit settings
- VM Network (сеть, в которой подключен интерфейс ВМ)
- Port groups
- Networking
Создаем ВМ PNETLAB с типом сетевого интерфейса "VMXNET 3"
Pnetlab веб-интерфейс
nano /etc/sysctl.conf
... # uncomment net.ipv4.ip_forward=1 ...
reboot
- http://<pnetlab_ip>
- создаем новую лабу test01:
- Добавляем виртуальную сеть Net17, которая по L2 будет связана с физическим интерфейсом ВМ PNETLAB
- Add an object - Network:
- Name: Net17 // например, наша физическая подсеть - 192.168.17.0/24
- Type: Management(Cloud0)
- Add an object - Network:
- Добавляем виртуальную сеть Net17, которая по L2 будет связана с физическим интерфейсом ВМ PNETLAB
- создаем новую лабу test01:
После этого в shell PNETLAB должны увидеть следующее:
pnet0 - бридж на PNETLAB с адресом 192.168.17.249/24
eth0 - физический интерфейс ВМ PNETLAB
vunl2_3 - виртуальный интерфейс виртуальной сети Management(Cloud0)
root@pnetlab:~# brctl show
... bridge name bridge id STP enabled interfaces ... pnet0 8000.0050569cc983 no eth0 vunl2_3 ...
Добавляем виртуальный хост Mikrotik
- Add an object - Nodes - Mikrotik RouterOS:
- Name: Mikrotik
- Ethernet: 5
Линкуем интерфейс микрота ether2 с сетью Net17
На интерфейсе микрота ether2 прописываем адрес 192.168.17.201/24,
Шлюз по-умолчанию 192.168.17.8 (физический маршрутизатор - шлюз по-умолчанию в сети 17)
DNS - 8.8.8.8
Проверяем
[admin@MikroTik] > tool traceroute ya.ru
# ADDRESS LOSS SENT LAST AVG BEST WORST STD-DEV STATUS 1 192.168.17.8 0% 1 1.5ms 1.5 1.5 1.5 0 2 193.34.13.97 0% 1 3.2ms 3.2 3.2 3.2 0 3 213.135.130.21 0% 1 3.3ms 3.3 3.3 3.3 0 4 95.167.13.2 0% 1 3.6ms 3.6 3.6 3.6 0 5 87.226.181.89 0% 1 23.9ms 23.9 23.9 23.9 0 6 5.143.250.94 0% 1 23.1ms 23.1 23.1 23.1 0 7 10.4.4.1 0% 1 20.4ms 20.4 20.4 20.4 0 8 87.250.250.242 0% 1 26.7ms 26.7 26.7 26.7 0
Готово, наш микрот в локальной сети 17
Теперь можно подключиться к нему через Winbox
Вариант 2. Устройство имеет свою подсеть и подключается через NAT к внешней подсети, в которой находится виртуальная машина Pnetlab
Pnetlab веб-интерфейс
- http://<pnetlab_ip>
- Создаем новую лабу test01:
- Добавляем виртуальную сеть Net_172.16.1.0/24
- Add an object - Network:
- Name: Net_172.16.1.0/24
- Type: Cloud5
- Добавляем виртуальную сеть Net_172.16.1.0/24
- Создаем новую лабу test01:
В shell ВМ PNETLAB
Проверяем что разрешен форвардинг пакетов между интерфейсами
"1" - значит включен, всё ок.
Если нет - прописываем в этот файл "1"
root@pnetlab:~# cat /proc/sys/net/ipv4/ip_forward
... 1 ...
Прописываем адрес на интерфейсе
root@pnetlab:~# ip address add 172.16.1.1/24 dev pnet5
Добавляем правило src-nat на PNETLAB
iptables -t nat -A POSTROUTING -o pnet0 -s 172.16.1.0/24 -j MASQUERADE
После этого в shell PNETLAB должны увидеть следующее
root@pnetlab:~# ip a
... 9: pnet5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000 inet 172.16.1.1/24 scope global pnet5 ...
root@pnetlab:~# iptables -L -v -n -t nat
... 3 107 MASQUERADE all -- * pnet0 172.16.1.0/24 0.0.0.0/0 ...
Сохраняем настройки
root@pnetlab:~# iptables-save > /etc/network/iptables.rules
root@pnetlab:~# nano /etc/network/if-pre-up.d/iptables-load
#!/bin/sh ip address add 172.16.1.1/24 dev pnet5 iptables-restore < /etc/network/iptables.rules echo "1" > /proc/sys/net/ipv4/ip_forward exit 0
root@pnetlab:~# chmod +x /etc/network/if-pre-up.d/iptables-load
Добавляем виртуальный хост микротик
- Add an object - Nodes - Mikrotik RouterOS:
- Name: Mikrotik
- Ethernet: 5
Линкуем интерфейс микрота ether3 с сетью Net_172.16.1.0/24
На интерфейсе микрота ether3 прописываем адрес 172.16.1.100/24,
Шлюз по-умолчанию 172.16.1.1 (адрес интерфейса pnet5 в PNETLAB)
DNS - 8.8.8.8
Проверяем
[admin@MikroTik] > tool traceroute ya.ru
# ADDRESS LOSS SENT LAST AVG BEST WORST STD-DEV STATUS 1 172.16.1.1 0% 3 0.8ms 1.1 0.8 1.2 0.2 2 192.168.17.8 0% 3 1.1ms 1.1 1 1.3 0.1 3 193.34.13.97 0% 3 1.7ms 2.8 1.7 4.8 1.4 4 213.135.130.21 0% 3 4.4ms 4.9 4.4 5.9 0.7 5 95.167.13.2 0% 3 3.2ms 4.4 3.2 6.4 1.4 6 87.226.181.89 0% 3 22.6ms 22.8 22.6 23 0.2 7 5.143.250.94 0% 2 26.1ms 24.4 22.6 26.1 1.8 8 100% 2 timeout 9 87.250.250.242 0% 2 26.2ms 25.9 25.6 26.2 0.3
Готово, наш микрот выходит через NAT в физическую локальную сеть 17, а оттуда в интернет