Подключаем GNS3 к локальной сети и интернету - АлтунинВВ.Блог - всё об IT-технологиях!
Среда, 12 августа 2020 20:14

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

Россия
Оцените материал
(0 голосов)

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

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

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

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

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

 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, запущенную от имени администратора:

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

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

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

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

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

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

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 на этом интерфейсе: 

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

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

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-адрес интерфейсу ether

/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

Cделаем 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

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

 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

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

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

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

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-адреса на виртуальном коммутаторе и на виртуальном маршрутизаторе mikrotikGW1

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

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

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

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

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

В следующей статье мы рассмотрим подключение маршрутизатора к виртуальной сети GNS3.

 

Прочитано 336 раз Последнее изменение Среда, 12 августа 2020 22:07