Настройка туннелирования EcoRouter Documentation / Настройка туннелирования
Туннелирование — механизм передачи пакета одного протокола внутри другого протокола, позволяющий безопасно передавать данные между двумя сетями.
Туннели являются логическими соединениями типа точка — точка, определяющиеся точкой-источником туннеля и точкой-назначением туннеля.
GRE
GRE (Generic Routing Encapsulation) — протокольный механизм, использующий IP (UDP) как транспортный протокол. GRE может быть использован для переноса различных протоколов внутри себя.
Для отправки в GRE туннель IP-пакет при прохождении через интерфейс туннеля получает сверху дополнительный заголовок GRE, в котором в качестве адреса источника и адреса назначения будут указаны ip адреса начальной и конечной точки туннеля. После прибытия пакета на интерфейс с адресом назначения туннеля служебный заголовок GRE будет отброшен и далее пакет будет обрабатываться в соответствии со своим «родным» IP заголовком.
MTU в протоколах туннелирования
Типичная размерность MTU для L3 интерфейса 1500 байт. В связи с добавлением служебного заголовка появляются новые требования к допустимому значению MTU при передаче пакета. Заголовок GRE имеет размерность 4 байта, 20 байт транспортный IP заголовок, заголовок IP пакета 20 байт, таким образом возникает необходимость задавать размер допустимого MTU на интерфейсах туннеля меньше стандартного значения.
Флаги в GRE
Реализация EcoRouterOS при инкапсулировании во внешнем заголовке устанавливает DF бит равным 1 (не фрагментировать). Если приходящий фрейм в заголовке IP содержит MF бит равным 1 (была фрагментация) или fragment offset бит равный 1 (последний фрагмент первоначального фрейма), то фрейм будет отброшен. При GRE инкапсуляции приходящие фреймы, содержащие в заголовке GRE флаги checksum, routing, key, seq number, strict source route или recursion, отличные от нуля, будут отброшены.
Команды настройки
Команда | Описание |
---|---|
interface tunnel.<номер> | Создание интерфейса туннеля, где номер произвольное число |
ip mtu <значение> | Задание значения mtu для интерфейса |
ip tunnel <source IP> <destination IP> mode <gre | ipip> | Задание IP-адресов начала и конца туннеля и типа туннеля |
Пример базовой настройки туннеля GRE
Настроим туннель GRE между устройствами ECO-1 и ECO-2. Ниже приведена настройка для устройства ECO-1.
Шаг 1. Настройка интерфейсов и портов.
ecorouter>en
ecorouter#conf t
ecorouter(config)#interface e1
ecorouter(config-if)ip add 11.0.0.1/16
ecorouter(config)#interface e2
ecorouter(config-if)ip add 192.168.0.1/24
ecorouter(config)#port te0
ecorouter(config-port)#service-instance te0
ecorouter(config-service-instance)#encapsulation untagged
ecorouter(config-service-instance)#connect ip interface e1
ecorouter(config)#port te1
ecorouter(config-port)#service-instance te1
ecorouter(config-service-instance)#encapsulation untagged
ecorouter(config-service-instance)#connect ip interface e2
Шаг 2. Создаем интерфейс туннеля c именем tunnel.0
ecorouter(config)#interface tunnel.0
Шаг 3. Назначение ip адреса
ecorouter(config-if)#ip add 172.16.0.1/16
Шаг 4. Выставление параметра MTU
ecorouter(config-if)#ip mtu 1400
Шаг 5. Задание режима работы туннеля GRE и адресов начала и конца туннеля
ecorouter(config-if)#ip tunnel 11.0.0.1 12.0.0.2 mode gre
Шаг 6. Настройка маршрутизации трафика в туннель
ecorouter(config)#ip route 12.0.0.0/8 11.0.0.2
ecorouter(config)#ip route 192.168.200.0/24 172.16.0.2
Аналогичная настройка производится на втором устройстве.
Команды просмотра
Для просмотра состояния туннеля используется команда show interface tunnel.<номер туннеля>.
Для созданной выше конфигурации команда будет отображать следующий результат:
ecorouter#sh int tunnel.0
Interface tunnel.0 is up, line protocol is up
Ethernet address: 0000.ab27.8404
MTU: 1400
Tunnel source: 11.0.0.1
Tunnel destination: 12.0.0.2
Tunnel mode: GRE
ICMP redirection is on
<UP,BROADCAST,RUNNING,NOARP,MULTICAST>
inet 172.16.0.1/16 broadcast 172.16.255.255/16
total input packets 0, bytes 0
total output packets 0, bytes 0
IP in IP
IP in IP - механизм туннелирования, который помещает один IP пакет в другой IP пакет.
Процесс туннелирования заключается в добавлении ещё одного IP заголовка к стандартному IP пакету. В верхнем заголовке будут содержаться IP адреса начала и окончания туннеля. После доставки на маршрутизатор, на котором находится окончание туннеля, верхний заголовок снимается, пакет передается с обычным, внутренним IP заголовком дальше.
MTU в IP in IP
Типичная размерность MTU для L3 интерфейса 1500 байт. В связи с добавлением служебного заголовка появляются новые требования к допустимому значению MTU при передаче пакета. Заголовок IP in IP имеет размерность 20 байт, заголовок IP пакета 20 байт, таким образом возникает необходимость задавать размер допустимого MTU на интерфейсах туннеля меньше стандартного значения для Ethernet.
Флаги в IP in IP
Реализация EcoRouterOS при инкапсулировании во внешнем заголовке устанавливает DF бит равным 1 (не фрагментирвать)
Если приходящий фрейм в заголовке IP содержит MF бит равным 1 (была фрагментация) или fragment offset бит равный 1 (последний фрагмент первоначального фрема), то фрейм будет отброшен.
Команды настройки
Команда | Описание |
---|---|
interface tunnel.<номер> | Создание интерфейса туннеля, где номер произвольное число |
ip mtu <значение> | Задание значения mtu для интерфейса |
ip tunnel <source IP> <destination IP> mode <gre | ipip> | Задание ip-адресов начала и конца туннеля и типа туннеля |
Пример базовой настройки туннеля IP in IP
Настроим туннель IP-in-IP между устройствами ECO-1 и ECO-2. Ниже приведена настройка для устройства ECO-1
Шаг 1. Настройка интерфейсов и портов.
ecorouter>en
ecorouter#conf t
ecorouter(config)#interface e1
ecorouter(config-if)ip add 11.0.0.1/16
ecorouter(config)#interface e2
ecorouter(config-if)ip add 192.168.0.1/24
ecorouter(config)#port te0
ecorouter(config-port)#service-instance te0
ecorouter(config-service-instance)#encapsulation untagged
ecorouter(config-service-instance)#connect ip interface e1
ecorouter(config)#port te1
ecorouter(config-port)#service-instance te1
ecorouter(config-service-instance)#encapsulation untagged
ecorouter(config-service-instance)#connect ip interface e2
Шаг 2. Создаем интерфейс туннеля c именем tunnel.0
ecorouter(config)#interface tunnel.0
Шаг 3. Назначение ip адреса
ecorouter(config-if)#ip add 172.16.0.1/16
Шаг 4. Выставление параметра MTU
ecorouter(config-if)#ip mtu 1400
Шаг 5. Задание режима работы туннеля IP-in-IP и адресов начала и конца туннеля
ecorouter(config-if)#ip tunnel 11.0.0.1 12.0.0.2 mode ipip
Шаг 6. Настройка маршрутизации трафика в туннель
ecorouter(config)#ip route 12.0.0.0/8 11.0.0.2
ecorouter(config)#ip route 192.168.200.0/24 172.16.0.2
Аналогичная настройка производится на втором устройстве.
Subordinate Topics
Name | Short Description |
---|---|
Настройка туннеля IPsec |