Для добавления GRE туннелей в систему, нужно создать два интерфейса в режиме gre.
В данном сценарии адреса для туннельных интерфейсов будут назначаться из подсети 100.100.101.0/30 для первого GRE туннеля и из подсети 100.100.102.0/30 для второго GRE туннеля.
1. Создайте файл /etc/network/interfaces.d/tunnel1 со следующим содержимым:
auto tunnel1
iface tunnel1 inet static
address 100.100.101.1
netmask 255.255.255.252
pre-up ip tunnel add tunnel1 mode gre local 10.10.100.1 remote 10.10.1.1 ttl 64
pre-up ip link set tunnel1 multicast on
pre-up ip link set tunnel1 mtu 1400
post-down ip link del tunnel1
2. Создайте файл /etc/network/interfaces.d/tunnel2 со следующим содержимым:
auto tunnel2
iface tunnel2 inet static
address 100.100.102.1
netmask 255.255.255.252
pre-up ip tunnel add tunnel2 mode gre local 10.10.100.2 remote 10.10.1.2 ttl 64
pre-up ip link set tunnel2 multicast on
pre-up ip link set tunnel2 mtu 1400
post-down ip link del tunnel2
3. Включите интерфейсы tunnel1 и tunnel2:
root@Hub-Router:~# ifup tunnel1
root@Hub-Router:~# ifup tunnel2
4. Убедитесь, что данные интерфейсы доступны в системе и им назначены IP-адреса, например, в выводе команды ip a:
root@Hub-Router:~# ip a
...
10: tunnel1@NONE: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1400 qdisc noqueue state UNKNOWN group default qlen 1000
link/gre 10.10.100.1 peer 10.10.1.1
inet 100.100.101.1/30 brd 100.100.101.3 scope global tunnel1
valid_lft forever preferred_lft forever
11: tunnel2@NONE: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1400 qdisc noqueue state UNKNOWN group default qlen 1000
link/gre 10.10.100.2 peer 10.10.1.2
inet 100.100.102.1/30 brd 100.100.102.3 scope global tunnel2
valid_lft forever preferred_lft forever
...