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