IPv4 over IPv4

Пример создания GRE-интерфейса:

Ниже описан пример создания point-to-multipoint GRE IPv4 over IPv4 интерфейса. Данный тип интерфейсов используются в сценарии DMVPN.

1.    Войдите в консоль cisco-like и перейдите в режим конфигурирования:

root@sterragate:~# su cscons

sterragate#configure terminal

sterragate(config)#

2.    Создайте и настройте point-to-multipoint GRE интерфейс Tunnel 0:

sterragate(config)#interface Tunnel 0

sterragate(config-if)#ip address 10.10.20.1 255.255.255.0

sterragate(config-if)#tunnel key 1

sterragate(config-if)#no tunnel path-mtu-discovery

sterragate(config-if)#tunnel ignore-df

sterragate(config-if)#tunnel mode gre multipoint

sterragate(config-if)#no shutdown

sterragate(config-if)#end

•      В point-to-multipoint GRE параметр tunnel destination не задается, destination адрес будет получен по протоколу NHRP.

•      Если параметр tunnel source не указан, то source адрес будет выбран на основании маршрутной информации до destination адреса, который будет получен по протоколу NHRP (зная этот адрес можно воспользоваться командой run ip route get <адрес> для выяснения source адреса).

•      Параметры no tunnel path-mtu-discovery и tunnel ignore-df отключают работу PMTUd и копирование DF бита на GRE интерфейсах (это нужно для увеличения вероятности прохождения трафика, в случае его последующего шифрования).

3.    Просмотрите текущую конфигурацию созданного интерфейса:

sterragate#show running-config

...

interface Tunnel0

 ip address 10.10.20.1 255.255.255.0

 mtu 1400

 tunnel mode gre multipoint

 tunnel key 1

 offloading tx-checksumming

 no tunnel path-mtu-discovery

 tunnel ignore-df

 tunnel ttl inherit

 tunnel tos 0

...

4.    Убедитесь, что настройки интерфейса автоматически прописались в файл /etc/network/interfaces:

sterragate#run cat /etc/network/interfaces

...

auto mgre_0

iface mgre_0 inet manual

st_type GRE

st_state up

st_key 1

st_txchecksumoffload enabled

st_gre_ttl inherit

st_gre_pmtudisc off

st_gre_ignore_df on

st_mtu 1400

address 10.10.20.1

netmask 255.255.255.0

broadcast 10.10.20.255

...

Внимание!

Обратите внимание, что point-to-multipoint GRE интерфейсы, созданные консолью cisco-like, имеют следующий формат mgre_N, а созданные консолью Linux – mgreN. Это сделано специально, чтобы визуально можно было отличить каким образом был создан данный интерфейс.

5.    Убедитесь, что в системе появился соответствующий сетевой интерфейс:

sterragate#run ip -d link show dev mgre_0

...

21: mgre_0@NONE: <NOARP,UP,LOWER_UP> mtu 1400 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 10000

    link/gre 0.0.0.0 brd 0.0.0.0 promiscuity 0  allmulti 0 minmtu 0 maxmtu 0

    gre remote any local any ttl inherit nopmtudisc ignore-df ikey 0.0.0.1 okey 0.0.0.1 addrgenmode random numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 tso_max_size 65536 tso_max_segs 65535 gro_max_size 65536

...

Теперь интерфейс Tunnel0 должен быть доступен к заданию политики СКЗИ и правил МЭ при помощи консоли cisco-like и LSP.

Для сценария IPsec over GRE (IPsec внутри GRE) политика прикрепляется непосредственно на GRE интерфейс, для сценария GRE over IPsec (GRE внутри IPsec) политика СКЗИ должна быть прикреплена к тому WAN интерфейсу, через который будут маршрутизироваться GRE пакеты c GRE интерфейса.

 

Удаление GRE-интерфейса:

Для удаления нужно выполнить следующую команду в консоли cisco-like:

sterragate#configure terminal

sterragate(config)#no interface Tunnel0

sterragate(config)#end