IPv6 over IPv6
IPv6 over IPv6
Внимание! | Для «С-Терра Шлюз» в виртуализированном исполнении тип сетевого адаптера виртуальной машины должен быть vmxnet3. При использовании другого типа адаптера\драйвера будут портиться IPv6 пакеты. |
Пример создания GRE-интерфейса:
Ниже описан пример создания point-to-multipoint GRE IPv6 over IPv6 интерфейса. Point-to-multipoint GRE интерфейсы описываются в файлах /etc/network/interfaces.d/mgreN.
Внимание! | Cisco-like консоль не поддерживает изменение параметров GRE интерфейса, созданного через консоль Linux. |
- Отредактируйте файл /etc/network/interfaces.d/mgre0, добавив в него описание для point-to-multipoint GRE интерфейса, например:
root@sterragate:~# vim.tiny /etc/network/interfaces.d/mgre0
auto mgre0
iface mgre0 inet6 static
address 2001:db8::10:10:10:1/112
pre-up ip link del mgre0 2> /dev/null || true
pre-up ip tunnel add mgre0 mode ip6gre key 1 ttl 64 tos inherit
pre-up ip link set mgre0 mtu 1400
pre-up ip link set mgre0 multicast on
post-up ethtool -K mgre0 tx-checksumming off > /dev/null
post-down ip link del mgre0
- В point-to-multipoint GRE в строке «pre-up ip tunnel add mgre0 mode ip6gre …» параметр remote не задается, remote адрес будет получен по протоколу NHRP.
- Если в строке «pre-up ip tunnel add mgre0 mode ip6gre …» не указан параметр local <IP>, то source адрес будет выбран на основании маршрутной информации до remote адреса, который будет получен по протоколу NHRP (зная этот адрес можно воспользоваться командой run ip route get <адрес> для выяснения source адреса).
- Для того, чтобы GRE интерфейс mgre0 появился в системе, выполните команду ifup mgre0, после чего убедитесь, что данный интерфейс действительно доступен в системе:
root@sterragate:~# ifup mgre0
root@sterragate:~# ip -d link show dev mgre0
15: mgre0@NONE: <MULTICAST,NOARP,UP,LOWER_UP> mtu 1400 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 10000
link/gre6 :: brd :: permaddr f6c7:2a7a:7012:: promiscuity 0 allmulti 0 minmtu 0 maxmtu 0
ip6gre remote any local any hoplimit 64 encaplimit 4 tclass inherit flowlabel 0x00000 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
- Вывод свидетельствует о том, что GRE интерфейс mgre0 присутствует в системе и сконфигурирован.
- Добавьте GRE интерфейс mgre0 в файл /etc/ifaliases.cf (выделено жирным):
root@sterragate:~# vim.tiny /etc/ifaliases.cf
interface (name="GigabitEthernet0/0" pattern="eth0")
interface (name="GigabitEthernet0/1" pattern="eth1")
interface (name="GigabitEthernet0/2" pattern="eth2")
interface (name="Tunnel0" pattern="mgre0")
interface (name="default" pattern="*")
- значение параметра name должно быть задано в виде TunnelN.
- значение параметра pattern должно соответствовать имени GRE интерфейса в нотации Linux.
- Пересчитайте контрольную сумму файлa /etc/ifaliases.cf:
root@sterragate:~# integr_mgr calc -f /etc/ifaliases.cf
SUCCESS: Operation was successful.
- Перезапустите VPN сервис:
root@sterragate:~# systemctl restart vpngate.service
Теперь интерфейс Tunnel0 должен быть доступен к заданию политики СКЗИ и правил МЭ при помощи консоли сisco-like и LSP, а также к конфигурированию средствами ОС.
Для сценария IPsec over GRE (IPsec внутри GRE) политика прикрепляется непосредственно на GRE интерфейс, для сценария GRE over IPsec (GRE внутри IPsec) политика СКЗИ должна быть прикреплена к тому WAN интерфейсу, через который будут маршрутизироваться GRE пакеты c GRE интерфейса.
Изменение параметров GRE-интерфейса:
Выключите интерфейс ifdown mgreN, отредактируйте файл конфигурации /etc/network/interfaces.d/mgreN и включите интерфейс ifup mgreN.
Удаление GRE-интерфейса:
Для удаления интерфейса нужно выключить интерфейс ifdown mgreN, удалить файл конфигурации /etc/network/interfaces.d/mgreN, и удалить соответствующую строчку из /etc/ifaliases.cf (пересчитав контрольную сумму), после чего перезапустить VPN сервис.