IPv4 over IPv4

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

Ниже описан пример создания point-to-point GRE IPv4 over IPv4 интерфейса. Консоль cisco-like поддерживает только GRE для протокола IPv4.

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

root@sterragate:~# su cscons

sterragate#configure terminal

sterragate(config)#

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

sterragate(config)#interface Tunnel 0

sterragate(config-if)#ip address 10.10.10.1 255.255.255.0

sterragate(config-if)#tunnel key 1

sterragate(config-if)#tunnel destination 172.16.1.2

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

sterragate(config-if)#tunnel ignore-df

sterragate(config-if)#no shutdown

sterragate(config-if)#end

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

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

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

sterragate#show running-config

...

interface Tunnel0

 ip address 10.10.10.1 255.255.255.0

 mtu 1400

 tunnel key 1

 tunnel destination 172.16.1.2

 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 gre_0

iface gre_0 inet manual

st_type GRE

st_state up

st_key 1

st_remote 172.16.1.2

st_txchecksumoffload enabled

st_gre_ttl inherit

st_gre_pmtudisc off

st_gre_ignore_df on

st_mtu 1400

address 10.10.10.1

netmask 255.255.255.0

broadcast 10.10.10.255

...

Внимание!

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

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

sterragate#run ip -d link show dev gre_0

...

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

    link/gre 0.0.0.0 peer 172.16.1.2 promiscuity 0  allmulti 0 minmtu 0 maxmtu 0

    gre remote 172.16.1.2 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 интерфейса.

Внимание!

Для правильной работы сценария IPsec over GRE для версии Продукта младше, чем 5.0.25757, требуется задать следующее правило iptables для сброса служебных меток с пакетов:

iptables -t mangle -A PREROUTING -j MARK --set-mark 0x00000000/0x80000000

Для того, чтобы сохранить добавленное правило, необходимо обратиться к документу «Инструкция по настройке NAT и межсетевого экрана на «С-Терра Шлюз» при помощи утилиты «iptables».

 

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

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

sterragate#configure terminal

sterragate(config)#no interface Tunnel0

sterragate(config)#end