GRE туннель относится к типу Ethernet и настраивается очень просто. Единственное требование — наличие белых IP адресов.
Шаблон в котором поменять нужно только адреса
ip link add grelan type gretap local <IP1> remote <IP2>
ip link set grelan up
iptables -I INPUT -p gre -s <IP2> -j ACCEPT
ip link add grelan type gretap local <IP2> remote <IP1>
ip link set grelan up
iptables -I INPUT -p gre -s <IP1> -j ACCEPT
Два белых хоста:
Машина 1 с внешним адресом 1.2.3.4
Машина 2 с внешним адресом 2.3.4.5
Адреса, которые будут у машин после создания туннеля
192.168.0.1
192.168.0.2
1. Добавить виртуальную сетевую карту-шлюз на машину 1:
Машина 1:
ip link add grelan type gretap local 1.2.3.4 remote 2.3.4.5
Сетевой интерфейс будет видно в ip a, на можно добавлять адреса, добавлять в мост и т.п.
2. Включить добавленную карту
ip link set grelan up
2. Если запущен IP-tables — разрешаем GRE-трафик
iptables -I INPUT -p gre -s 2.3.4.5 -j ACCEPT
3. На втором хосте создаются аналогичные настройки:
ip link add grelan type gretap local 2.3.4.5 remote 1.2.3.4
ip link set grelan up
iptables -I INPUT -p gre -s 1.2.3.4 -j ACCEPT
Теперь можно добавлять адреса
Машина 1:
ip addr add 192.168.0.1/24
Машина 2:
ip addr add 192.168.0.2/24
route add -net 192.168.35.0 netmask 255.255.255.0 gw 1.2.3.4
Для интерфейса после указания адреса, маски добавляются маршруты
mcedit /etc/network/interfaces
... pre-up iptunnel add tun1 mode gre local 188.230.123.238 remote 91.196.98.162 dev eth3 post-up route add -net 192.168.35.0 netmask 255.255.255.0 gw 192.168.35.254 post-up route add -net 192.168.22.0 netmask 255.255.255.0 gw 192.168.35.254 post-up route add -net 10.90.91.0 netmask 255.255.255.0 gw 192.168.35.254 pointopoint 192.168.35.254 post-down iptunnel del tun1