По работе мне постоянно приходится иметь дело с виртуальными стендами. Бывает и так, что приходится моделировать среды из нескольких IP-подсетей, между которыми необходимо обеспечить маршрутизацию пакетов. В статье описывается часть моих решений применительно к хост-системе Windows, однако, с незначительными изменениями, они могут применяться и в других средах (VMware vSphere/ESXi, например).
1. Хост-система.
Традиционно я использую в качестве хост-системы Windows Server, на которой поднимается либо Hyper-V, либо VMware Workstation/Player, с необходимым числом виртуальных сетей. Долгое время я пытался организовывать маршрутизацию между гостевыми сетями через хост c с поднятой на нем службой RRAS, однако в конце концов от этой идеи пришлось отказаться. Взаимодействие гипервизора даже с RRAS на одной системе порождает трудноуловимые сетевые проблемы; если же пытаться использовать решения типа TMG либо Kerio (имеющие, в числе прочего, функционал программной маршрутизации), добавляются еще и трудности сосуществования гипервизора и достаточно глубокого брандмауэра. И, в любом случае, такая маршрутизация нормально не заработает без NAT (т.е. объявления одного из интерфейсов хост-системы “внешним”), что на хосте не всегда приемлемо. Проблем может добавить еще и нагромождающийся на все это хостовой антивирусный модуль, неважно даже, какой именно - такие антивирусы обычно имеют собственный сетевой компонент.
Решение, к которому я пришел за долгие годы экспериментов – организовывать роутер в гостевой VM. Гостевая VM создается с необходимым количеством сетевых интерфейсов (multihomed), и в ней уже поднимается маршрутизатор. Мы рассмотрим как вариант с гостевой ОС Windows Server 2016 с RRAS, так и с гостевым маршрутизатором на CentOS (любой UNIX можно так приспособить; у меня CentOS только потому, что он гарантированно работает в Hyper-V).
Отдельное замечание касается файрволльного модуля в антивирусе хост-системы. Трафик даже между гостевыми виртуальными сетями, так или иначе, через него проходит. Поэтому, может понадобиться некая настройка брандмауэра антивируса для корректной обработки трафика, не подпадающего под правила - “Unmatched IP Traffic” (правила относятся к хост-системе). В Symantec Endpoint Protection клиенте, например, эта настройка выглядит так:Переходим к конфигурациям VM.
2. Виртуальный маршрутизатор на Windows Server 2016 RRAS, гипервизор VMware Workstation 12.
Имеем хост-систему Windows Server с установленной VMware Workstation 12 и неким набором виртуальных машин в разных подсетях. Конфигурация виртуальных сетей VMware, к примеру, такая:
Для стендовых виртуальных машин мы используем сети VMNet1 (192.168.121.0/24), VMNet2 (192.168.122.0/24), VMNet3 (192.168.44.0/24). VMNet0 – это мост в физическую сеть (используются адреса в подсети 192.168.250.0/24). Роутер VM будет осуществлять маршрутизацию между ними всеми, поэтому у созданной VM программного RRAS-маршрутизатора (ROUTER1) четыре интерфейса:
В VM ROUTER1 устанавливаем операционную систему Windows Server 2016. На ней поднимаем роль Remote Access, служба Web Application Proxy, как и компонент DirectAccess, нам не понадобятся:
После установки конфигурируем службу RRAS и запускаем ее. В задачу узла входит только маршрутизация пакетов, поэтому RRAS у нас работает в режиме LAN Routing Only:
Ни маршрутизация по требованию, ни удаленный доступ VPN нам не нужны. Сетевые интерфейсы в оснастке RRAS выглядят так:
(видно, что Ethernet0 – это мост в физическую сеть, то есть, если можно так выразиться, “uplink”).
Конфигурация интерфейсов по Ipconfig / all:
Windows IP Configuration
Ethernet adapter Ethernet0:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::f9c2:c00d:b442:efc0%18
IPv4 Address. . . . . . . . . . . : 192.168.250.10
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.250.1
Ethernet adapter Ethernet1:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::f875:715a:74c2:8463%10
IPv4 Address. . . . . . . . . . . : 192.168.44.2
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
Ethernet adapter Ethernet2:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::bdd5:7d16:7b99:b456%14
IPv4 Address. . . . . . . . . . . : 192.168.122.2
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
Ethernet adapter Ethernet3:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::58b8:5340:3b0b:9593%2
IPv4 Address. . . . . . . . . . . : 192.168.121.2
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
Ethernet adapter Ethernet0:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::f9c2:c00d:b442:efc0%18
IPv4 Address. . . . . . . . . . . : 192.168.250.10
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.250.1
Ethernet adapter Ethernet1:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::f875:715a:74c2:8463%10
IPv4 Address. . . . . . . . . . . : 192.168.44.2
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
Ethernet adapter Ethernet2:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::bdd5:7d16:7b99:b456%14
IPv4 Address. . . . . . . . . . . : 192.168.122.2
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
Ethernet adapter Ethernet3:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::58b8:5340:3b0b:9593%2
IPv4 Address. . . . . . . . . . . : 192.168.121.2
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
Только Ethernet0 имеет шлюз по умолчанию. Казалось бы, все должно работать, однако, у Windows Server RRAS есть одна особенность – не удается заставить работать маршрутизацию без NAT (в Linux это возможно). Нам нужен интерфейс, объявленный внешним с точки зрения трансляции адресов. Идеальный кандидат на эту роль – Ethernet0. Поэтому, его мы объявляем как Public, а остальные – как Private:
Таблица маршрутизации, выдаваемая через команду route print, получается такая (строки протокола IPv6 для краткости не приводим):
===========================================================================
Interface List
18...00 0c 29 01 88 59 ......Intel® 82574L Gigabit Network Connection
10...00 0c 29 01 88 63 ......Intel® 82574L Gigabit Network Connection #2
14...00 0c 29 01 88 6d ......Intel® 82574L Gigabit Network Connection #3
2...00 0c 29 01 88 77 ......Intel® 82574L Gigabit Network Connection #4
1...........................Software Loopback Interface 1
16...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter
15...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2
5...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #3
17...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #4
===========================================================================
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.250.1 192.168.250.10 257
127.0.0.0 255.0.0.0 On-link 127.0.0.1 331
127.0.0.1 255.255.255.255 On-link 127.0.0.1 331
127.255.255.255 255.255.255.255 On-link 127.0.0.1 331
192.168.44.0 255.255.255.0 On-link 192.168.44.2 281
192.168.44.2 255.255.255.255 On-link 192.168.44.2 281
192.168.44.255 255.255.255.255 On-link 192.168.44.2 281
192.168.121.0 255.255.255.0 On-link 192.168.121.2 281
192.168.121.2 255.255.255.255 On-link 192.168.121.2 281
192.168.121.255 255.255.255.255 On-link 192.168.121.2 281
192.168.122.0 255.255.255.0 On-link 192.168.122.2 281
192.168.122.2 255.255.255.255 On-link 192.168.122.2 281
192.168.122.255 255.255.255.255 On-link 192.168.122.2 281
192.168.250.0 255.255.255.0 On-link 192.168.250.10 257
192.168.250.10 255.255.255.255 On-link 192.168.250.10 257
192.168.250.255 255.255.255.255 On-link 192.168.250.10 257
224.0.0.0 240.0.0.0 On-link 127.0.0.1 331
224.0.0.0 240.0.0.0 On-link 192.168.122.2 281
224.0.0.0 240.0.0.0 On-link 192.168.250.10 257
224.0.0.0 240.0.0.0 On-link 192.168.121.2 281
224.0.0.0 240.0.0.0 On-link 192.168.44.2 281
255.255.255.255 255.255.255.255 On-link 127.0.0.1 331
255.255.255.255 255.255.255.255 On-link 192.168.122.2 281
255.255.255.255 255.255.255.255 On-link 192.168.250.10 257
255.255.255.255 255.255.255.255 On-link 192.168.121.2 281
255.255.255.255 255.255.255.255 On-link 192.168.44.2 281
===========================================================================
Persistent Routes:
Network Address Netmask Gateway Address Metric
0.0.0.0 0.0.0.0 192.168.250.1 Default
Interface List
18...00 0c 29 01 88 59 ......Intel® 82574L Gigabit Network Connection
10...00 0c 29 01 88 63 ......Intel® 82574L Gigabit Network Connection #2
14...00 0c 29 01 88 6d ......Intel® 82574L Gigabit Network Connection #3
2...00 0c 29 01 88 77 ......Intel® 82574L Gigabit Network Connection #4
1...........................Software Loopback Interface 1
16...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter
15...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2
5...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #3
17...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #4
===========================================================================
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.250.1 192.168.250.10 257
127.0.0.0 255.0.0.0 On-link 127.0.0.1 331
127.0.0.1 255.255.255.255 On-link 127.0.0.1 331
127.255.255.255 255.255.255.255 On-link 127.0.0.1 331
192.168.44.0 255.255.255.0 On-link 192.168.44.2 281
192.168.44.2 255.255.255.255 On-link 192.168.44.2 281
192.168.44.255 255.255.255.255 On-link 192.168.44.2 281
192.168.121.0 255.255.255.0 On-link 192.168.121.2 281
192.168.121.2 255.255.255.255 On-link 192.168.121.2 281
192.168.121.255 255.255.255.255 On-link 192.168.121.2 281
192.168.122.0 255.255.255.0 On-link 192.168.122.2 281
192.168.122.2 255.255.255.255 On-link 192.168.122.2 281
192.168.122.255 255.255.255.255 On-link 192.168.122.2 281
192.168.250.0 255.255.255.0 On-link 192.168.250.10 257
192.168.250.10 255.255.255.255 On-link 192.168.250.10 257
192.168.250.255 255.255.255.255 On-link 192.168.250.10 257
224.0.0.0 240.0.0.0 On-link 127.0.0.1 331
224.0.0.0 240.0.0.0 On-link 192.168.122.2 281
224.0.0.0 240.0.0.0 On-link 192.168.250.10 257
224.0.0.0 240.0.0.0 On-link 192.168.121.2 281
224.0.0.0 240.0.0.0 On-link 192.168.44.2 281
255.255.255.255 255.255.255.255 On-link 127.0.0.1 331
255.255.255.255 255.255.255.255 On-link 192.168.122.2 281
255.255.255.255 255.255.255.255 On-link 192.168.250.10 257
255.255.255.255 255.255.255.255 On-link 192.168.121.2 281
255.255.255.255 255.255.255.255 On-link 192.168.44.2 281
===========================================================================
Persistent Routes:
Network Address Netmask Gateway Address Metric
0.0.0.0 0.0.0.0 192.168.250.1 Default
Полученная конфигурация полностью рабочая, и позволяет VM ROUTER1 маршрутизировать пакеты между подсетями 192.168.121.0/24, 192.168.122.0/24, 192.168.44.0/24, 192.168.250.0/24, а также из первых трех подсетей в физическую сеть и, при необходимости, в Интернет. Естественно, для виртуальных машин в этих подсетях, именно интерфейсы VM ROUTER1 (то есть 192.168.121.2, 192.168.122.2 и 192.168.44.2) нужно указывать в качестве шлюзов по умолчанию.
К слову сказать, в Windows Server 2012/R2 настройки точно такие же. Компонент RRAS в Windows Server 2016 по сравнению с предыдущими версиями не изменился.
К слову сказать, в Windows Server 2012/R2 настройки точно такие же. Компонент RRAS в Windows Server 2016 по сравнению с предыдущими версиями не изменился.
3. Виртуальный маршрутизатор на CentOS 6.4, гипервизор Windows Server 2016 Hyper- V.
Сценарий очень похожий. Хост-система Windows Server 2016 с установленной ролью Hyper-V и набором виртуальных машин в разных подсетях. В числе прочих, есть три виртуальных коммутатора типа Internal – Papapach, Bugravsk и Puksyalovo, и коммутатор BRIDGED типа External (мост в физическую сеть - “uplink”):
Сценарий очень похожий. Хост-система Windows Server 2016 с установленной ролью Hyper-V и набором виртуальных машин в разных подсетях. В числе прочих, есть три виртуальных коммутатора типа Internal – Papapach, Bugravsk и Puksyalovo, и коммутатор BRIDGED типа External (мост в физическую сеть - “uplink”):
Виртуальные сети типа Internal имеют такую адресацию: Papapach - 192.168.44.0/24, Bugravsk - 192.168.41.0/24, и Puksyalovo - 192.168.40.0/24. VM роутера UNIX (CNTR-1- ROUTER) будет осуществлять маршрутизацию между всеми ними, поэтому у нее четыре интерфейса:
Устанавливается ОС CentOS 6.4 с инсталл-профилем Minimal. Далее нам понадобятся следующие пошаговые руководства по конфигурированию сети, маршрутизации и NAT:
· "Home Lab: CentOS 6.3 as a firewall and Router", http://www.itadmintools.com/2012/10/home-lab-centos-63-as-firewall-and.html;
· "Moo Trader – IT Infrastructure", http://www.keymoo.info/trading/wp-content/uploads/2012/08/Steps-to-configure-a-CentOS-router.pdf;
· "Linux Static IP Address Configuration", https://www.cyberciti.biz/faq/linux-configure-a-static-ip-address-tutorial.
Дополнительно про NAT:
· "Quick-Tip: Linux NAT in Four Steps using iptables. By Frank Wiles", http://www.revsys.com/writings/quicktips/nat.html;
· "Red Hat Enterprise Linux 4 : Security Guide . Chapter 7. Firewalls. 7.4. FORWARD and NAT Rules", https://www.centos.org/docs/4/html/rhel-sg-en-4/s1-firewall-ipt-fwd.html;
· "Moo Trader – IT Infrastructure", http://www.keymoo.info/trading/wp-content/uploads/2012/08/Steps-to-configure-a-CentOS-router.pdf;
· "Linux Static IP Address Configuration", https://www.cyberciti.biz/faq/linux-configure-a-static-ip-address-tutorial.
Дополнительно про NAT:
· "Quick-Tip: Linux NAT in Four Steps using iptables. By Frank Wiles", http://www.revsys.com/writings/quicktips/nat.html;
· "Red Hat Enterprise Linux 4 : Security Guide . Chapter 7. Firewalls. 7.4. FORWARD and NAT Rules", https://www.centos.org/docs/4/html/rhel-sg-en-4/s1-firewall-ipt-fwd.html;
Конфигурация сети (вывод команды ifconfig) такая:
eth0 Link encap:Ethernet HWaddr 00:15:5D:FA:05:07
inet addr:192.168.250.10 Bcast:192.168.250.255 Mask:255.255.255.0
inet6 addr: fe80::215:5dff:fefa:507/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:648 errors:0 dropped:0 overruns:0 frame:0
TX packets:23 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:54842 (53.5 KiB) TX bytes:2260 (2.2 KiB)
eth1 Link encap:Ethernet HWaddr 00:15:5D:FA:05:08
inet addr:192.168.44.2 Bcast:192.168.44.255 Mask:255.255.255.0
inet6 addr: fe80::215:5dff:fefa:508/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:264 errors:0 dropped:0 overruns:0 frame:0
TX packets:96 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:28478 (27.8 KiB) TX bytes:15707 (15.3 KiB)
eth2 Link encap:Ethernet HWaddr 00:15:5D:FA:05:09
inet addr:192.168.40.2 Bcast:192.168.40.255 Mask:255.255.255.0
inet6 addr: fe80::215:5dff:fefa:509/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:144 errors:0 dropped:0 overruns:0 frame:0
TX packets:86 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:12794 (12.4 KiB) TX bytes:3828 (3.7 KiB)
eth3 Link encap:Ethernet HWaddr 00:15:5D:FA:05:0A
inet addr:192.168.41.2 Bcast:192.168.41.255 Mask:255.255.255.0
inet6 addr: fe80::215:5dff:fefa:50a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:225 errors:0 dropped:0 overruns:0 frame:0
TX packets:65 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:25729 (25.1 KiB) TX bytes:9569 (9.3 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
inet addr:192.168.250.10 Bcast:192.168.250.255 Mask:255.255.255.0
inet6 addr: fe80::215:5dff:fefa:507/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:648 errors:0 dropped:0 overruns:0 frame:0
TX packets:23 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:54842 (53.5 KiB) TX bytes:2260 (2.2 KiB)
eth1 Link encap:Ethernet HWaddr 00:15:5D:FA:05:08
inet addr:192.168.44.2 Bcast:192.168.44.255 Mask:255.255.255.0
inet6 addr: fe80::215:5dff:fefa:508/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:264 errors:0 dropped:0 overruns:0 frame:0
TX packets:96 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:28478 (27.8 KiB) TX bytes:15707 (15.3 KiB)
eth2 Link encap:Ethernet HWaddr 00:15:5D:FA:05:09
inet addr:192.168.40.2 Bcast:192.168.40.255 Mask:255.255.255.0
inet6 addr: fe80::215:5dff:fefa:509/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:144 errors:0 dropped:0 overruns:0 frame:0
TX packets:86 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:12794 (12.4 KiB) TX bytes:3828 (3.7 KiB)
eth3 Link encap:Ethernet HWaddr 00:15:5D:FA:05:0A
inet addr:192.168.41.2 Bcast:192.168.41.255 Mask:255.255.255.0
inet6 addr: fe80::215:5dff:fefa:50a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:225 errors:0 dropped:0 overruns:0 frame:0
TX packets:65 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:25729 (25.1 KiB) TX bytes:9569 (9.3 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
“Рабочими” являются интерфейсы eth0-eth3. Eth0 смотрит в физическую сеть (то есть, подключен к виртуальному коммутатору BRIDGED типа External). Остальные интерфейсы подключены к коммутаторам типа Internal, и каждый из них относится к соответствующей подсети виртуального стенда. IP-адреса этих интерфейсах указываются в других VM в качестве шлюзов по умолчанию.
Включаем NAT для интерфейса eth0. Таблица iptables (файл / etc/ sysconfig/ iptables) получается такой:
# Generated by iptables-save v1.4.7 on Mon Jan 30 23:45:45 2017
*filter
:INPUT ACCEPT [1438:192141]
:FORWARD ACCEPT [8777:3124578]
:oUTPUT ACCEPT [1745:143062]
-A FORWARD -i eth0 -j ACCEPT
-A FORWARD -o eth0 -j ACCEPT
COMMIT
# Completed on Mon Jan 30 23:45:45 2017
# Generated by iptables-save v1.4.7 on Mon Jan 30 23:45:45 2017
*nat
:PREROUTING ACCEPT [5401:731115]
:POSTROUTING ACCEPT [2490:181208]
:oUTPUT ACCEPT [0:0]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Mon Jan 30 23:45:45 2017
*filter
:INPUT ACCEPT [1438:192141]
:FORWARD ACCEPT [8777:3124578]
:oUTPUT ACCEPT [1745:143062]
-A FORWARD -i eth0 -j ACCEPT
-A FORWARD -o eth0 -j ACCEPT
COMMIT
# Completed on Mon Jan 30 23:45:45 2017
# Generated by iptables-save v1.4.7 on Mon Jan 30 23:45:45 2017
*nat
:PREROUTING ACCEPT [5401:731115]
:POSTROUTING ACCEPT [2490:181208]
:oUTPUT ACCEPT [0:0]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Mon Jan 30 23:45:45 2017
В CentOS маршрутизация будет работать и без NAT. Однако, наличие NAT позволяет, в случае необходимости, публиковать порты.
Вывод команды route:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.44.0 * 255.255.255.0 U 0 0 0 eth1
192.168.250.0 * 255.255.255.0 U 0 0 0 eth0
192.168.40.0 * 255.255.255.0 U 0 0 0 eth2
192.168.41.0 * 255.255.255.0 U 0 0 0 eth3
link-local * 255.255.0.0 U 1002 0 0 eth0
link-local * 255.255.0.0 U 1003 0 0 eth1
link-local * 255.255.0.0 U 1004 0 0 eth2
link-local * 255.255.0.0 U 1005 0 0 eth3
default 192.168.250.1 0.0.0.0 UG 0 0 0 eth0
Шлюз по умолчанию в системе указывается только для eth0, это позволяет маршрутизировать трафик VM в Интернет.
Полученная конфигурация полностью рабочая, и по функциональности аналогична приведенной в разделе 2.
Полученная конфигурация полностью рабочая, и по функциональности аналогична приведенной в разделе 2.
4. Заключение
Вместо программного маршрутизатора RRAS или CentOS можно было бы использовать “псевдо-аппаратный” на эмуляторе GNS3 (https://www.gns3.com). GNS3 – это полнофункциональный эмулятор Cisco, который, в отличие от Packet Tracer, можно использовать в кастомизированной виртуальной среде. Изначально он доступен в качестве VMware VM, но существуют и способы его адаптации под Hyper-V (Google в помощь). Использование GNS3 позволяет привнести в стенд еще и логику Cisco устройств - возможности для экспериментирования здесь безграничные.