Среда, 12.08.2020 09:14

Подключаем GNS3 к локальной сети и интернету

Подключаем GNS3 к локальной сети и интернету

В прошлой статье, мы рассмотрели установку GNS 3 на Hyper-V. Сегодня мы предоставим устройствам, запущенным в GNS3, доступ к нашей ЛВС и сети Интернет. 

Всё рассмотренное далее, подразумевает, что вы установили и настроили GNS3 согласно предыдущей статье. 

Если вы попробуете запустить GNS3 после перезагрузки, вы можете обнаружить что клиент GNS3 не может соединиться с сервером. Происходит это потому, что виртуальный коммутатор, к которому мы подключаемся, по умолчанию, каждый раз выдает нам новый ip-адрес, он может выдать и тот же самый, тут все дело случая. Нас это не устраивает, нам нужна предсказуемая адресация.

 Для этого мы добавим новый виртуальный коммутатор с жёстко заданным ip-адресом.

 Откройте диспетчер Hyper-V, выберите локальный сервер Hyper-V и справа в разделе «Действия» выберите «Диспетчер виртуальных коммутаторов»

 2020-08-10_16-09-16.png

Откроется окно “Диспетчер виртуальных коммутаторов”

2020-08-10_16-10-25.png

Если вы устанавливали Hyper-V впервые, у вас должен быть только один виртуальный коммутатор.

Выберите «Внутренняя» и нажмите на кнопку «Создать виртуальный коммутатор»

В поле Имя введите «Management»

2020-08-10_16-22-56.png

Нажмите «ОК»

Теперь, когда мы создали виртуальный коммутатор у нас, в сетевых подключениях, появился новый сетевой адаптер:

2020-08-10_16-30-40.png

Давайте определимся с подсетями, для сети управления GNS3 мы будем использовать подсеть: 

172.16.100.0/24

 Я специально выделил /24 подсеть, чтобы она в будущем не пересекалась с другими сетями.

Зададим только что созданному нашему виртуальному адаптеру адрес 172.16.100.254.

2020-08-10_16-40-27.png

Не забудьте отключить IP6, сняв галочку с IP версии 6 (TCP/IP)

Теперь зайдем в настройки виртуальной машины GNS3 и поменяем настройки адаптера, выбрав виртуальный коммутатор Management:

2020-08-10_16-42-07.png

Перезапустим наш GNS3

Перейдем в окно виртуальной машины GNS3, закроем окно с информацией, если оно открыто и в меню выберем Reboot.

После загрузки мы видим вот что:

2020-08-10_16-57-34.png

Так как мы задали ip-адрес вручную и переключились на новый виртуальный коммутатор, на котором у нас нет DHCP-сервера, GNS3 не смог получить ip-адрес. Пропишем его вручную, нажмем ОК, откроется меню сервера:

2020-08-10_16-59-49.png

Выберем пункт Network и нажмем Yes

В открывшемся редакторе приведем настройки к виду:

 2020-08-12_20-42-55.png

Нажмем Ctrl+x и затем Y и затем Enter

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

После загрузки новые настройки сети изменились:

2020-08-10_17-05-53.png

Откроем клиент GNS3 и изменим ip-адрес сервера, в настройках, на 172.16.100.1. Мы подключимся к GNS3 по постоянному адресу.

Запустим микротик в GNS3 и откроем Winbox

Он нам снова доступен, но на этот раз, только по mac-адресу:

2020-08-10_17-09-58.png

Так как нам нужна постоянная адресация - нас это не устраивает.

Для внутренней сети GNS3 мы выделим подсеть

172.16.200.0/24

 Для маршрутизаторов выделим подсеть 

172.16.200.240/28

Создадим еще один виртуальный коммутатор, а затем подключенный к нему адаптер, назначим адаптеру адрес 172.16.200.254/28

На этот раз, для добавления коммутатора мы будем использовать командную строку PowerShell, запущенную от имени администратора:

Добавим коммутатор 

New-VMSwitch -name GNS3_LAN -SwitchType Internal
|PS D:\> New-VMSwitch -name GNS3_LAN -SwitchType Internal
Name     SwitchType NetAdapterInterfaceDescription
----     ---------- ------------------------------
GNS3_LAN Internal

Настроим ему ip-адрес

Проверим правильность имени адаптера: 

Get-NetAdapter -Name "vEthernet (GNS3_LAN)"
PS D:\> Get-NetAdapter -Name "vEthernet (GNS3_LAN)"
Name                      InterfaceDescription                    ifIndex Status       MacAddress             LinkSpeed
----                      --------------------                    ------- ------       ----------             ---------
vEthernet (GNS3_LAN)      Hyper-V Virtual Ethernet Adapter #3          40 Up           00-15-5D-3F-C1-27        10 Gbps

 Адаптер с таким именем есть, теперь нам нужен его индекс:  

Get-NetIPConfiguration -InterfaceAlias "vEthernet (GNS3_LAN)" -Detailed
PS D:\> Get-NetIPConfiguration -InterfaceAlias "vEthernet (GNS3_LAN)" -Detailed

ComputerName : XXXX

InterfaceAlias : vEthernet (GNS3_LAN)

InterfaceIndex : 40

InterfaceDescription : Hyper-V Virtual Ethernet Adapter #3

NetCompartment.CompartmentId : 1

NetCompartment.CompartmentDescription : Default Compartment

NetAdapter.LinkLayerAddress : 00-15-5D-3F-C1-27

NetAdapter.Status : Up

IPv6LinkLocalAddress : fe80::7c44:3ee0:2839:d1f9%40

IPv4Address : 169.254.209.249

IPv6DefaultGateway :

IPv4DefaultGateway :

NetIPv6Interface.NlMTU : 1500

NetIPv4Interface.NlMTU : 1500

NetIPv6Interface.DHCP : Enabled

NetIPv4Interface.DHCP : Enabled

DNSServer : fec0:0:0:ffff::1

fec0:0:0:ffff::2

fec0:0:0:ffff::3

Нас интересует строка 

InterfaceIndex : 40 

 Возможно, у вас индекс будет отличаться!

Пропишем для интерфейса адрес: 

New-NetIPAddress –IPAddress 172.16.200.254 -PrefixLength 28 -InterfaceIndex 40
PS D:\vm\gns3> New-NetIPAddress -IPAddress 172.16.200.254 -PrefixLength 28 -InterfaceIndex 40


IPAddress         : 172.16.200.254
InterfaceIndex    : 40
InterfaceAlias    : vEthernet (GNS3_LAN)
AddressFamily     : IPv4
Type              : Unicast
PrefixLength      : 28
PrefixOrigin      : Manual
SuffixOrigin      : Manual
AddressState      : Tentative
ValidLifetime     : Infinite ([TimeSpan]::MaxValue)
PreferredLifetime : Infinite ([TimeSpan]::MaxValue)
SkipAsSource      : False
PolicyStore       : ActiveStore

IPAddress         : 172.16.200.254
InterfaceIndex    : 40
InterfaceAlias    : vEthernet (GNS3_LAN)
AddressFamily     : IPv4
Type              : Unicast
PrefixLength      : 28
PrefixOrigin      : Manual
SuffixOrigin      : Manual
AddressState      : Invalid
ValidLifetime     : Infinite ([TimeSpan]::MaxValue)
PreferredLifetime : Infinite ([TimeSpan]::MaxValue)
SkipAsSource      : False
PolicyStore       : PersistentStore

 И сразу отключим Ip6 на этом интерфейсе: 

Disable-NetAdapterBinding -Name "vEthernet (GNS3_LAN)" -ComponentID 
PS D:\vm\gns3> Disable-NetAdapterBinding -Name "vEthernet (GNS3_LAN)" -ComponentID ms_tcpip6 -PassThru

Name                           DisplayName                                        ComponentID          Enabled
----                           -----------                                        -----------          -------
vEthernet (GNS3_LAN)           IP версии 6 (TCP/IPv6)                             ms_tcpip6            False

Проверим статус еще раз: 

Get-NetIPConfiguration -InterfaceAlias "vEthernet (GNS3_LAN)" -Detailed
PS D:\vm\gns3> Get-NetIPConfiguration -InterfaceAlias "vEthernet (GNS3_LAN)" -Detailed


ComputerName                          : DESKTOP-TOK0194
InterfaceAlias                        : vEthernet (GNS3_LAN)
InterfaceIndex                        : 40
InterfaceDescription                  : Hyper-V Virtual Ethernet Adapter #3
NetCompartment.CompartmentId          : 1
NetCompartment.CompartmentDescription : Default Compartment
NetAdapter.LinkLayerAddress           : 00-15-5D-3F-C1-27
NetAdapter.Status                     : Up
IPv4Address                           : 172.16.200.254
IPv4DefaultGateway                    :
NetIPv4Interface.NlMTU                : 1500
NetIPv4Interface.DHCP                 : Disabled
DNSServer                             :

Все настроено правильно!

Нам нужно добавить еще один адаптер к нашей виртуальной машине GNS3.

Чтобы это сделать, предварительно нужно её выключить, для этого используем командную строку: 

Stop-VM -VMName "GNS3 VM"

Добавим адаптер:

Add-VMNetworkAdapter -VMName "GNS3 VM" -SwitchName "GNS3_LAN" -Name "GNS_LAN"

Проверим настройки виртуально машины, у неё должен появиться новый адаптер:

2020-08-10_19-29-25.png

 Включим MAC-спуфинг на всех интерфейсах

Set-VMNetworkAdapter -VMName "GNS3 VM" -MacAddressSpoofing On 

Давайте так же отличим автоматические контрольные точки, они нам будут только мешать, для этого зайдите в свойства виртуальной машины:

И уберите галочку, как показано на рисунке.

2020-08-10_19-32-42.png 

Запускаем GNS3 

Start-VM -VMName "GNS3 VM"

Давайте теперь настроим сеть на Mikrotik 

Запустим клиент GNS3 и после запуска самого микротика откроем его консоль: 

[admin@MikroTik] >

Добавим ip-адрес интерфейсу ether1 

/ip address add address=172.16.200.253/28 interface=ether1

Теперь, чтобы получить доступ к сети, нам нужно изменить настройки Cloud1

Для этого удалим текущий линк между микротиком и облаком, щелкнув правой кнопкой мыши по линии и выбрав Delete 

В окне GNS3 откройте свойства Cloud1, выбрав пункт Configure

Удалите eth0 ид списка и добавьте eth1, нажмите ОК

Соедините линком mikrotik и cloud1 через ether1 и eth1

 Пропингуем наш виртуальный адаптер с mikrotik: 

[admin@MikroTik] /interface ethernet> /tool ping 172.16.200.254
current: 4.4Mbps
average: 4.4Mbps

 Как видите — связь есть!

Переименуем Микротик на карте в GW1, в GNS3 это можно сделать в настройках самой ноды (подменю Configure)

Изменим имя на самом устройстве: 

[admin@MikroTik] > system identity set name=GW1
[admin@GW1] > system identity print
name: GW1

Сделаем GW1 шлюзом нашей GNS3 подсети 192.16.200.0/28

Для этого установим для ether2 ip-адрес:

/ip address add address=172.16.200.14/28 interface=ether2

В клиенте GNS3 на карту перетащим Ethernet switch и VPCS

Соединим GW1 и Switch1 через Ether2 и Ethernet0

Так же соединим PC1 со Switch1 с любым портом 

Вот что у нас получилось:

 2020-08-10_20-04-03.png

Запустим PC1, откроем его консоль и пропишем IP и шлюз по-умолчанию. 

PC1> ip 172.16.200.1 255.255.255.240 172.16.200.14 
Checking for duplicate address... 
PC1 : 172.16.200.1 255.255.255.240 gateway 172.16.200.14

Проверим доступность шлюза: 

PC1> ping 172.16.200.14

84 bytes from 172.16.200.14 icmp_seq=1 ttl=64 time=0.239 ms
84 bytes from 172.16.200.14 icmp_seq=2 ttl=64 time=0.412 ms
84 bytes from 172.16.200.14 icmp_seq=3 ttl=64 time=0.414 ms
84 bytes from 172.16.200.14 icmp_seq=4 ttl=64 time=0.376 ms
84 bytes from 172.16.200.14 icmp_seq=5 ttl=64 time=0.380 ms

Проверим доступность нашего ПК: 

PC1> ping 172.16.200.254

172.16.200.254 icmp_seq=1 timeout
172.16.200.254 icmp_seq=2 timeout
172.16.200.254 icmp_seq=3 timeout
172.16.200.254 icmp_seq=4 timeout

 Связи нет, а дело тут в том, что наш ПК не знает, где находится хост 172.16.200.1

На нашем ПК открываем консоль с правами администратора и прописываем  

route -p add 172.16.200.0 mask 255.255.255.240 172.16.200.253 
OK

Снова пингуем с PC1 

 PC1> ping 172.16.200.254

84 bytes from 172.16.200.254 icmp_seq=1 ttl=127 time=0.554 ms
84 bytes from 172.16.200.254 icmp_seq=2 ttl=127 time=0.728 ms
84 bytes from 172.16.200.254 icmp_seq=3 ttl=127 time=0.853 ms
84 bytes from 172.16.200.254 icmp_seq=4 ttl=127 time=0.618 ms

Нужно обязательно сохранить настройки 

PC1> save 
Saving startup configuration to startup.vpc 
. done

 Но если мы попробуем получить доступ к сети интернет — у нас ничего не выйдет: 

PC1> ping 8.8.8.8

*172.16.200.14 icmp_seq=1 ttl=64 time=0.259 ms (ICMP type:3, code:0, Destination network unreachable)
*172.16.200.14 icmp_seq=2 ttl=64 time=0.279 ms (ICMP type:3, code:0, Destination network unreachable)
*172.16.200.14 icmp_seq=3 ttl=64 time=0.391 ms (ICMP type:3, code:0, Destination network unreachable)
*172.16.200.14 icmp_seq=4 ttl=64 time=0.286 ms (ICMP type:3, code:0, Destination network unreachable)

 Это всё от того, что у GW1 нет шлюза по-умолчанию, давайте его пропишем: 

/ip route add dst-address=0.0.0.0/0 gateway=172.16.200.254

 Снова неудача:

PC1> ping 8.8.8.8

8.8.8.8 icmp_seq=1 timeout
8.8.8.8 icmp_seq=2 timeout
8.8.8.8 icmp_seq=3 timeout

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

 Для этого добавим еще один виртуальный коммутатор и назовем его WAN:

PS D:\> New-VMSwitch -name WAN -NetAdapterName Ethernet -AllowManagementOS $true
Name SwitchType NetAdapterInterfaceDescription
---- ---------- ------------------------------
WAN  External   Realtek PCIe GbE Family Controller

Установим виртуальную машину GSN3:

Stop-VM -VMName "GNS3 VM"

 Добавим новый адаптер:  

Add-VMNetworkAdapter -VMName "GNS3 VM" -SwitchName "WAN" -Name "WAN"
Set-VMNetworkAdapter -VMName "GNS3 VM" -MacAddressSpoofing On 

Запустим GNS3

Start-VM -VMName "GNS3 VM"

Откроем клиент GNS3

Удалим все линки к GW1, а затем в свойствах GW1 и увеличим число адаптеров до 3

2020-08-10_20-40-01.png 

Восстановим линки GW1

Добавим еще одно облако и в его настройках удалим eth0 и eth1

Переименуем его как Internet (вкладка Misc.)

Cloud1 переименуем в LAN

Соединим Ether2 c Internet

Запустим всё устройства.

У меня интернет раздается с домашнего роутера, так что давайте настроим DHCP-клиента на нашем микротике 

/ip dhcp-client add interface=ether3 disabled=no

[admin@GW1] > /ip address print
Flags: X - disabled, I - invalid, D - dynamic
 #   ADDRESS            NETWORK         INTERFACE
 0   172.16.200.253/28  172.16.200.240  ether1
 1   172.16.200.14/28   172.16.200.0    ether2
 2 D 192.168.1.46/24    192.168.1.0     ether3

 Как видите микротик получил ip-адрес

 Теперь давайте проверим таблицу маршрутизации:

[admin@GW1] > /ip route print
Flags: X - disabled, A - active, D - dynamic,
C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme,
B - blackhole, U - unreachable, P - prohibit
 #      DST-ADDRESS        PREF-SRC        GATEWAY            DISTANCE
 0 A S  0.0.0.0/0                          172.16.200.254            1
 1  DS  0.0.0.0/0                          192.168.1.1               1
 2 ADC  172.16.200.0/28    172.16.200.14   ether2                    0
 3 ADC  172.16.200.240/28  172.16.200.253  ether1                    0
 4 ADC  192.168.1.0/24     192.168.1.46    ether3                    0

У нас два маршрута по умолчанию, давайте удалим старый 

/ip route remove 0

Проверим таблицу маршрутизации 

[admin@GW1] > /ip route print                                                   
Flags: X - disabled, A - active, D - dynamic,
C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme,
B - blackhole, U - unreachable, P - prohibit
 #      DST-ADDRESS        PREF-SRC        GATEWAY            DISTANCE
 0 ADS  0.0.0.0/0                          192.168.1.1               1
 1 ADC  172.16.200.0/28    172.16.200.14   ether2                    0
 2 ADC  172.16.200.240/28  172.16.200.253  ether1                    0
 3 ADC  192.168.1.0/24     192.168.1.46    ether3                    0

Проверим доступ к интернету с PC1 

PC1> ping 8.8.8.8

8.8.8.8 icmp_seq=1 timeout
8.8.8.8 icmp_seq=2 timeout
8.8.8.8 icmp_seq=3 timeout

 Пинга нет, так как мы не настроили NAT (маскарад) на микротике, давайте пропишем его: 

/ip firewall nat add chain=srcnat action=masquerade out-interface=ether3

Пинг появился

PC1> ping 8.8.8.8

84 bytes from 8.8.8.8 icmp_seq=1 ttl=106 time=137.656 ms
84 bytes from 8.8.8.8 icmp_seq=2 ttl=106 time=136.948 ms
84 bytes from 8.8.8.8 icmp_seq=3 ttl=106 time=136.659 ms
84 bytes from 8.8.8.8 icmp_seq=4 ttl=106 time=136.682 ms
84 bytes from 8.8.8.8 icmp_seq=5 ttl=106 time=136.842 ms

Теперь наша сеть ЛВС GNS3 имеет доступ к интернету.

 Давайте попробуем присоединиться к Микротику по внешнему адресу: 

putty 192.168.1.46
  MMMM    MMMM       KKK                          TTTTTTTTTTT      KKK
  MMM MMMM MMM  III  KKK  KKK  RRRRRR     OOOOOO      TTT     III  KKK  KKK
  MMM  MM  MMM  III  KKKKK     RRR  RRR  OOO  OOO     TTT     III  KKKKK
  MMM      MMM  III  KKK KKK   RRRRRR    OOO  OOO     TTT     III  KKK KKK
  MMM      MMM  III  KKK  KKK  RRR  RRR   OOOOOO      TTT     III  KKK  KKK

  MikroTik RouterOS 6.47 (c) 1999-2020       http://www.mikrotik.com/

[?]             Gives the list of available commands
command [?]     Gives help on the command and list of arguments

[Tab]           Completes the command/word. If the input is ambiguous,
                a second [Tab] gives possible options

/               Move up to base level
..              Move up one level
/command        Use command at the base level

[admin@GW1] >

В результате мы создали вот такую виртуальную сеть:

2020-08-12_22-00-26.png

Конечно, теперь вам необходимо озаботиться настройкой межсетевого экрана на GW1, но это выходит за рамки нашей сегодняшней темы.

Заключение

Сегодня мы рассмотрели с вами настройку GNS3 для доступа к ЛВС и сети Интернет.

Добавили виртуальные коммутатор в Hyper-V для сети управления GNS3.

Перенастроили виртуальную машину для доступа по статическому ip и настроили сервер GNS3 для работы с этим ip-адресом.

Выделили подсети для маршрутизаторов и ЛВС GNS3.

Добавили виртуальный коммутатор для ЛВС GNS3 и виртуальный интерфейс к серверу GNS3 для ЛВС GNS3.

Настроили ip-адреса на виртуальном коммутаторе и на виртуальном маршрутизаторе mikrotik – GW1

Настроили маршрутизацию между физической и виртуальной сетями.

Добавили виртуальный ПК и соединили его через виртуальный коммутатор с GW1, настроили его для доступа к GW1 и нашей ЛВС.

Для доступа к сети Интернет, добавили виртуальный коммутатор и виртуальный интерфейс к серверу GNS3.

Настроили DHCP-клиент на GW1, для получения ip-адреса от домашнего роутера.

Настроили NAT на GW1 для обеспечения доступа к сети Интернет устройств из ЛВС GNS3.

Категория GNS3
Теги GNS3

Добавить комментарий

Простой текст

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Строки и абзацы переносятся автоматически.
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.
Просмотров: 483