[[tssltd:Общие настройки NG| Вернуться к оглавлению]]
==== Принцип работы TAP интерфейса встроенного стека ====
При создании TAP создаются два виртуальных интерфейса (один на **управляющем уровне** (**control plane**), другой на **передающем уровне** (**data plane**)). На каждый из них необходимо настроить свой IP-адрес из одной подсети.
{{ :tssltd:tap.png?400 |}}
==== Настройка TAP интерфейса через web-интерфейс ====
Для настройки TAP интерфейса необходимо в главном меню выбрать пункт «**Сетевые настройки – Интерфейсы Tap**». В таблице «**Интерфейсы Tap**» необходимо нажать на кнопку «**Добавить интерфейс**» (__//изобр. 6.d.1//__).
{{ :tssltd:tap1.png |}}\\
__//Изобр. 6.d.1. Страница «**Интерфейс Tap**» и расположение кнопки «**OK**»//__
На открывшейся странице «**Интерфейс Tap**» необходимо задать следующие параметры (__//изобр. 6.d.2//__):
* «**Название**» - название TAP интерфейса в vpp;
* «**Имя интерфейса на хосте**» - название TAP интерфейса в vpp;
* «**Состояние**» - cостояние интерфейса агрегации;
* «**Значение MTU**» - максимальный размер полезного блока данных одного пакета.
{{ :tssltd:tap2.png |}}\\
__//Изобр. 6.d.2. Страница «**Интерфейсы Tap**» и расположение кнопки «**Добавить интерфейс**»//__
При необходимости можно выбрать «**Bridge-домен**» и «**Интерфейс агрегации**». Для сохранения настроек необходимо нажать на кнопку «**ОК**» и на странице «**Интерфейс VLAN интерфейсы**» нажать на кнопку «**Сохранить**» (__//изобр. 6.d.3//__). Для редактирования TAP интерфейса необходимо выбрать строку с интерфейсом, который необходимо редактировать, и нажать на кнопку «**Редактировать**». Для удаления TAP интерфейса необходимо выбрать строку с интерфейсом, который необходимо удалить, и нажать на кнопку «**Удалить**».
{{ :tssltd:tap3.png |}}\\
__//Изобр. 6.d.3. Страница «**Интерфейсы Tap**» и расположение кнопки «**Сохранить**»//__
Для задания ip-адреса и маски подсети на TAP интерфейсе необходимо в главном меню выбрать пункт «**Сетевые настройки – IP-адреса**» и нажать на кнопку «**Добавить IP-адрес**» (__//изобр. 6.d.4//__).
{{ :tssltd:tap4.png |}}\\
__//Изобр. 6.d.4. Страница «**IP адреса**» и расположение кнопки «**Добавить IP-адрес**»//__
В поле «**Название интерфейса**» необходимо выбрать сетевой интерфейс, в поле «**IP-адрес/маска подсети**» необходимо задать ip-адрес и маску подсети в формате префикса и нажать на кнопку «**ОК**» (__//изобр. 6.d.5//__).
{{ :tssltd:tap5.png |}}\\
__//Изобр. 6.d.5. Страница «**Задание IP адреса**» и расположение кнопки «**ОК**»//__
Для сохранения настроек необходимо нажать на кнопку «**Сохранить**» на странице «**IP адреса**» (__//изобр. 6.d.6//__).
{{ :tssltd:tap6.png |}}\\
__//Изобр. 6.d.6. Расположение кнопки «**Сохранить**»//__
Для задания ip-адреса и маски подсети на TAP интерфейсе со стороны OS необходимо подключиться к устройству по протоколу **ssh** и выполнить команду «**ifconfig netmask **»:
# ifconfig tap_vpp0 192.168.101.2 netmask 255.255.255.0
# ifconfig tap_vpp0
tap_vpp0 Link encap:Ethernet HWaddr 02:FE:39:8A:B3:BE
inet addr:192.168.101.2 Bcast:192.168.101.255 Mask:255.255.255.0
inet6 addr: fe80::fe:39ff:fe8a:b3be/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:38 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:3464 (3.3 KiB)
==== Настройка TAP интерфейса через консоль ====
Для создания TAP интерфейса через консоль необходимо подключиться к устройству по протоколу **ssh** запустить утилиту «**vppctl**» и выполнить команду «**create tap id **»:
# vppctl
_______ _ _ _____ ___
__/ __/ _ \ (_)__ | | / / _ \/ _ \
_/ _// // / / / _ \ | |/ / ___/ ___/
/_/ /____(_)_/\___/ |___/_/ /_/
vpp# create tap id 0
tap0
vpp# set interface state tap0 up
vpp# sh int tap0
Name Idx State MTU (L3/IP4/IP6/MPLS) Counter Count
tap0 6 up 9000/0/0/0 rx packets 18
rx bytes 1934
drops 18
ip6 18
vpp#
Для добавления IP-адреса TAP интерфейсу необходимо выполнить команду «**set int addr /**»:
vpp# set int ip addr tap0 192.168.101.1/24
vpp# sh int addr
GigabitEthernet10/0/0 (up):
TenGigabitEthernet3/0/0 (up):
TenGigabitEthernet3/0/1 (up):
local0 (dn):
tap0 (up):
L3 192.168.101.1/24
vpp#
Далее необходимо выйти из «**vppctl**» с помощью команды «**quit**» и настроить IP-адрес TAP интерфейса со стороны OS с помощью команды «**ifconfig netmask **»:
# ifconfig tap0 192.168.101.2 netmask 255.255.255.0
# ifconfig tap0
tap0 Link encap:Ethernet HWaddr 02:FE:C5:D4:39:E2
inet addr:192.168.101.2 Bcast:192.168.101.255 Mask:255.255.255.0
inet6 addr: fe80::fe:c5ff:fed4:39e2/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:35 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:3254 (3.1 KiB)
Для удаления TAP интерфейса через консоль необходимо запустить утилиту «**vppctl**» и выполнить команду «**delete tap **»:
# vppctl
_______ _ _ _____ ___
__/ __/ _ \ (_)__ | | / / _ \/ _ \
_/ _// // / / / _ \ | |/ / ___/ ___/
/_/ /____(_)_/\___/ |___/_/ /_/
vpp# dh int
dhcp6: unknown input `int'
vpp# sh int
Name Idx State MTU (L3/IP4/IP6/MPLS) Counter Count
GigabitEthernet10/0/0 3 up 9000/0/0/0 rx packets 47
rx bytes 3330
drops 47
ip6 47
TenGigabitEthernet3/0/0 1 up 9000/0/0/0
TenGigabitEthernet3/0/1 2 up 9000/0/0/0
local0 0 down 0/0/0/0
tap0 6 up 9000/0/0/0 rx packets 54
rx bytes 4584
drops 54
ip4 10
ip6 44
vpp# delete tap tap0
vpp# sh int
Name Idx State MTU (L3/IP4/IP6/MPLS) Counter Count
GigabitEthernet10/0/0 3 up 9000/0/0/0 rx packets 47
rx bytes 3330
drops 47
ip6 47
TenGigabitEthernet3/0/0 1 up 9000/0/0/0
TenGigabitEthernet3/0/1 2 up 9000/0/0/0
local0 0 down 0/0/0/0
vpp#
[[tssltd:Общие настройки NG| Вернуться к оглавлению]]