У меня есть хост Linux и пара routerboadrs. Я создал туннель GRE, но Linux не отвечает поддерживать активность пакеты. Затем маршрутизатор пометит соединение gre как недоступен, поэтому я не могу отправить на хост Linux из подсети маршрутизатора. Если linux отправляет что-то в туннель (ping и т. Д.) - RouterOS помечает соединение как доступное. Второй и следующие пакеты хорошо маршрутизируются до одной минуты простоя (без трафика).
Создайте туннель в linux следующим образом:
remote=x.x.x.x
dev=gre21
network=10.21.0.0/16
ip tunnel add ${dev} mode gre remote ${remote} ttl 255
ip addr add 172.16.1.1/24 peer 172.16.1.21 dev ${dev}
ip link set ${dev} up
ip route add ${network} dev ${dev}
И ip l
:
14: gre21: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1476 qdisc noqueue state UNKNOWN
link/gre 0.0.0.0 peer 109.60.170.15
Как установить состояние "запущено"?
Как сохранить туннель в живых? Пинговать в cron?
crontab -e
* / 1 * * * * пинг -c 69
У меня это работает, просто продолжайте пинговать.
Это не совсем прямой ответ на поддержку активности туннеля GRE, однако вам может быть проще использовать опцию MikroTik EoIP для сервера linux, поскольку она была перенесена и позволяет использовать идентификатор туннеля и поддержку активности аналогичным образом (также обрабатывает фрагментацию для любого ссылка на размер).