Перейти к поиску
  1. Главная
  2. Продукты
  3. С-Терра Шлюз
  4. Настройка С-Терра Шлюз
  5. Общие настройки шлюза
  6. Работа с интерфейсами
  7. Добавление и удаление виртуальных сетевых интерфейсов
  8. GRE интерфейсы
  9. Point-to-point GRE
  10. Пример создания и удаления через консоль cisco-like
  11. IPv4 over IPv4

IPv4 over IPv4

Поиск в комплекте Источник

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)#

  1. Создайте и настройте 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 интерфейсах (это нужно для увеличения вероятности прохождения трафика, в случае его последующего шифрования).
  1. Просмотрите текущую конфигурацию созданного интерфейса:

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

...

  1. Убедитесь, что настройки интерфейса автоматически прописались в файл /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. Это сделано специально, чтобы визуально можно было отличить посредством чего был создан данный интерфейс.

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

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