SUrov_IBM Posted March 25, 2023 (edited) · Report post Уважаемые знатоки, приветствую Вас. Имеется устаревшая ОС FreeBSD RELEASE 9.2, kernel amd64. Пытаюсь штатным образом настроить автоматический старт GRE-тоннеля через /etc/rc.conf: cloned_interfaces="gre0" ifconfig_gre0="inet xxx. xxx. xxx.22 xxx. xxx. xxx.21 netmask 255.255.255.252 tunnel 172.0.255.1 172.31.255.241 mtu 1436 up" Тоннель корректно создаётся, но "не поднимается" пока не применить: #Ifconfig gre0 up Ограничений в IPFIREWALL нет, в ядре установлено "IPFIREWALL_DEFAULT_TO_ACCEPT". Поддержка сетевых карточек (emX) так же прописана в ядре, чтобы "стартовать первыми" (были проблемы не связанные с GRE). При этом, если создать простенький скрипт в /usr/local/etc/rc.d/start_gre0.sh: #!/bin/sh /sbin/ifconfig gre0 create /sbin/ifconfig gre0 tunnel 172.0.255.1 172.31.255.241 mtu 1436 /sbin/ifconfig gre0 inet xxx. xxx. xxx.22 xxx. xxx. xxx.21 netmask 255.255.255.252 И стартовать GRE-тоннель через него, а не через /etc/rc.conf - тоннель прекрасно работает. Вроде всё так банально должно быть, а вот не выходит "каменный цветок". Скорей всего по невнимательности упускаю какую-то мелкую деталь. На обновляться продуктивный RELEASE задача не стоит, можно обойтись скриптом. Просто хочется сделать красиво и понять в чём могла быть загвоздка. Возможно кто-то поделиться заведомо рабочим сегментом /etc/rc.conf для старта GRE-тоннеля. ;) Edited April 7, 2023 by SUrov_IBM Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted March 25, 2023 · Report post У меня вот такие строчки от хуриката: gifconfig_gif0="185.44.xx.xx 216.66.84.46" # Choose correct tunnel addrs. ifconfig_gif0="tunnel 185.44.xx.xx 216.66.84.46" ifconfig_gif0_ipv6="inet6 2001:470:xxxx:xxxx::2 2001:470:xxxx:xxxx::1 prefixlen 128" Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
jffulcrum Posted March 25, 2023 · Report post 2 часа назад, SUrov_IBM сказал: /sbin/ifconfig gre0 tunnel 172.0.255.1 172.31.255.241 mtu 1436 /sbin/ifconfig gre0 inet xxx. xxx. xxx.22 xxx. xxx. xxx.21 netmask 255.255.255.252 Вот в этом собака и порылась, из man gre: Цитата For correct operation, the device needs a route to the destination that is less specific than the one over the tunnel. (Basically, there needs to be a route to the decapsulating host that does not run over the tunnel, as this would be a loop.) If the addresses are ambiguous, doing the ifconfig tunnel step before the ifconfig(8) call to set the IP addresses will help to find a route outside the tunnel. Потому в одну строку может не прокатывать, а в две - работать. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
SUrov_IBM Posted April 7, 2023 · Report post Проблема в том, что хотелось запускать GRE туннель по феншую (штатными средствами), т.е. из /etc/rc.conf. При построении туннеля через скрипт в /usr/local/etc/rc.d/ - всё прекрасно работает. Заметил, если tunnel inet находятся в одной подсети (например 172.0.255.1 --> 172.0.255.5 /29), интерфейс GRE работает (статус RUNNING). Порыскав на просторах Интернет, похоже нашёл описание своей проблемы - https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=138407 >>If the system did not install default route before the gre interface initialization, setting up tunnel properties will not trigger RUNNING flag on interface. В моём случае, действительно отсутствует "default route" в момент запуска интерфейса GRE из /etc/rc.conf. Правда указание defaultrouter="xxx. xxx. xxx. xxx " или статического маршрута до tunnel inet IP destination в /etc/rc.conf ситуации не изменило. Кроме варианта обновления системы до stable версии 10 или использования скрипта автоматического запуска интерфейса, решения не нашёл. Задачи обновляться не стоит, GRE туннель запускается через скрипт в /usr/local/etc/rc.d/. Просто хотелось разобраться, что я делаю не так. Для себя тему считаю закрытой. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...