Я пытаюсь настроить соединение GRE через IPSec между двумя подсетями. Туннель IPSec открыт, и теперь я хочу добавить поверх него туннель GRE:
ip tunnel add GRE01 mode gre remote 10.244.0.1 local 10.244.245.32 ttl 255
ip link set GRE01 up
ip addr add 10.244.248.126 dev GRE01
ip route add 10.244.248.125 dev GRE01
Теперь у меня есть интерфейс GRE01 (ifconfig):
GRE10 Link encap:UNSPEC HWaddr <h_addr>
inet addr:10.244.248.126 P-t-P:10.244.248.126 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MTU:1476 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
И следующие маршруты (список IP-маршрутов):
10.244.248.125 dev GRE10 scope link
<pub_subnet> dev eth0 proto kernel scope link src <pub_ip>
default via <pub_gw> dev eth0 metric 100
В качестве последнего шага мне нужно направить мою подсеть через туннель:
ip route add 10.245.1.224/28 10.244.248.125
Однако я получаю сообщение об ошибке
Error: either "to" is duplicate, or "10.244.248.125" is a garbage.
Итак, я не понял, почему я не могу маршрутизировать свою подсеть через туннель, когда единственный маршрут, который у меня есть, говорит, что он должен маршрутизировать IP-адрес туннеля через интерфейс GRE01. Намек? Спасибо.
В вашей команде маршрута отсутствует слово via
ip route add 10.245.1.224/28 via 10.244.248.125