Туннель внутри туннеля (pptp over pptp)
Перестал у меня как-то на рабочей машине работать pptp туннель до конторы, в которой я немножко админю. А так-как там все настроено и работает как надо, и из дома доступ сохранился, то руки никак не доходили разобраться. Тогда я не связал этот отвал и обновление до FreeBSD 12. Надо заметить, что у нас доступ организован так, что в интернет я выхожу с помощью pptp туннеля, а потом внутри этого туннеля уже у меня поднимаются pptp туннели до нужных мне локальных сетей.
А тут краем глаза в рассылке наткнулся на такую же проблему у других людей и вчитался. И офигел. Оказывается, дорогие наши разработчики FreeBSD в заботе о пользователях своих решили пойти по стопам мелкософта и начали думать за нас. А так как по их мнению туннель внутри туннеля — это зло и ай-ай-ай, то они просто взяли и отрубили к хренам возможность поднятия туннеля внутри туннеля прямо в ядре. И все.
Народ, естественно, поднял вой, олимпожителя снизошли к народу и поправили дело переменной ядра. Теперь в эту переменную надо пихнуть количество туннелей, которые у нас должны работать внутри туннелей и все заработает. но не сразу. В 12.0-release это дело работать не будет, в него это обновление не попадает. Поэтому либо ждать 12.1-release, либо переключаться на stable и обновляться. После этого:
sudo sysctl net.link.gif.max_nesting=10
Цифра 10 взята от балды, сколько вам нужно, столько и пишете.
Чтобы эти изменения стали перманентными, добавляем в /etc/sysctl.conf
net.link.gif.max_nesting=10