IPv6 over IPv6
Внимание! |
Для «С-Терра Шлюз» в виртуализированном исполнении тип сетевого адаптера виртуальной машины должен быть vmxnet3. При использовании другого типа адаптера\драйвера будут портиться IPv6 пакеты. |
Пример создания GRE-интерфейса:
Ниже описан пример создания point-to-point GRE IPv6 over IPv6 интерфейса. Point-to-point GRE интерфейсы описываются в файлах /etc/network/interfaces.d/greN.
Внимание! |
Cisco-like консоль не поддерживает изменение параметров GRE интерфейса, созданного через консоль Linux. |
1. Отредактируйте файл /etc/network/interfaces.d/gre1, добавив в него описание для point-to-point GRE интерфейса, например:
Внимание! |
Использовать в качестве имени GRE интерфейса gre0 запрещено, так как gre0 используется для внутренних нужд драйвера GRE. В имени GRE интерфейса нельзя использовать точку. |
root@sterragate:~# vim.tiny /etc/network/interfaces.d/gre1
auto gre1
iface gre1 inet6 static
address 2001:db8::10:10:10:1/112
pre-up ip link del gre1 2> /dev/null || true
pre-up ip tunnel add gre1 mode ip6gre key 1 ttl 64 tos inherit remote 2001:db8::172:16:100:2
pre-up ip link set gre1 mtu 1400
pre-up ip link set gre1 multicast on
post-up ethtool -K gre1 tx-checksumming off > /dev/null
post-down ip link del gre1
Если в строке «pre-up ip tunnel add gre1 mode ip6gre …» не указан параметр local <IP>, то source адрес будет выбран на основании адреса в src маршрута до адреса в remote (можно воспользоваться командой ip route get <адрес в remote> для выяснения source адреса).
2. Для того, чтобы GRE интерфейс gre1 появился в системе, выполните команду ifup gre1, после чего убедитесь, что данный интерфейс действительно доступен в системе:
root@sterragate:~# ifup gre1
root@sterragate:~# ip -d link show dev gre1
14: gre1@NONE: <MULTICAST,NOARP,UP,LOWER_UP> mtu 1400 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 10000
link/gre6 :: brd 2001:db8::172:16:100:2 permaddr f289:e792:f673:: promiscuity 0 allmulti 0 minmtu 0 maxmtu 0
ip6gre remote 2001:db8::172:16:100:2 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
root@sterragate:~# ip add show dev gre1
14: gre1@NONE: <MULTICAST,NOARP,UP,LOWER_UP> mtu 1400 qdisc noqueue state UNKNOWN group default qlen 10000
link/gre6 :: brd 2001:db8::172:16:100:2 permaddr f289:e792:f673::
inet6 2001:db8::10:10:10:1/112 scope global
valid_lft forever preferred_lft forever
inet6 fe80::c0a8:6401/64 scope link
valid_lft forever preferred_lft forever
inet6 fe80::ac10:6402/64 scope link
valid_lft forever preferred_lft forever
inet6 fe80::7f00:1/64 scope host
valid_lft forever preferred_lft forever
Внимание! |
Наличие нескольких link-local адресов на GRE интерфейсе является известной особенностью и не является проблемой. |
Вывод свидетельствует о том, что GRE интерфейс gre1 присутствует в системе и сконфигурирован.
3. Добавьте GRE интерфейс gre1 в файл /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="Tunnel1" pattern="gre1")
interface (name="default" pattern="*")
• значение параметра name должно быть задано в виде TunnelN.
• значение параметра pattern должно соответствовать имени GRE интерфейса в нотации Linux.
4. Пересчитайте контрольную сумму файлa /etc/ifaliases.cf:
root@sterragate:~# integr_mgr calc -f /etc/ifaliases.cf
SUCCESS: Operation was successful.
5. Перезапустите VPN сервис:
root@sterragate:~# systemctl restart vpngate.service
Теперь интерфейс Tunnel1 должен быть доступен к заданию на нем политики СКЗИ и правил МЭ при помощи консоли сisco-like и LSP, а также к конфигурированию средствами ОС.
Для сценария IPsec over GRE (IPsec внутри GRE) политика прикрепляется непосредственно на GRE интерфейс, для сценария GRE over IPsec (GRE внутри IPsec) политика СКЗИ должна быть прикреплена к тому WAN интерфейсу, через который будут маршрутизироваться GRE пакеты c GRE интерфейса.
Изменение параметров GRE-интерфейса:
Выключите интерфейс ifdown greN, отредактируйте файл конфигурации /etc/network/interfaces.d/greN и включите интерфейс ifup greN.
Удаление GRE-интерфейса:
Для удаления интерфейса нужно выключить интерфейс ifdown greN, удалить файл конфигурации /etc/network/interfaces.d/greN, и удалить соответствующую строчку из /etc/ifaliases.cf (пересчитав контрольную сумму), после чего перезапустить VPN сервис.