IPv4 over IPv4
IPv4 over IPv4
Пример создания GRE-интерфейса:
Ниже описан пример создания point-to-multipoint GRE IPv4 over IPv4 интерфейса. Данный тип интерфейсов используются в сценарии DMVPN.
- Войдите в консоль cisco-like и перейдите в режим конфигурирования:
root@sterragate:~# su cscons
sterragate#configure terminal
sterragate(config)#
- Создайте и настройте 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 интерфейсах (это нужно для увеличения вероятности прохождения трафика, в случае его последующего шифрования).
- Просмотрите текущую конфигурацию созданного интерфейса:
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
...
- Убедитесь, что настройки интерфейса автоматически прописались в файл /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. Это сделано специально, чтобы визуально можно было отличить каким образом был создан данный интерфейс. |
- Убедитесь, что в системе появился соответствующий сетевой интерфейс:
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