Обновление FreeBSD с 9-ки на 10-ку сопровождается несколькими неприятными сюрпризами
Я обновлял сервер удалённо и после инсталяции нового ядра и перегрузки никак не расчитывал, что он не поднимется
Дальнейший разбор выявил следующие проблемы:
Проблема №1
Ошибка при загрузке правил ipnat
Installing NAT rules.
70:ioctl(SIOCGNATS) object size mismatch for copying out ipfobj
Оказалось он привязан теперь к options INET6 в ядре. Иначе говоря будет эта опция в ядре — будет ipnat, а не будет, так после рибута на новое ядро сервер рискует не подняться. Поэтому рекомендуется перейти на ядерный nat. Пример настройки. В результате в кастомный конфиг ядра добавляем
options COMPAT_43
options COMPAT_LINUX32
options IPFIREWALL_NAT
и удаляем то, что больше не поддерживается
options IPFIREWALL_FORWARD
options IPDEVERT
по прежнему в rc.conf остаётся
gateway_enable=»YES»
Проблема №2
Каналы построеные при помощи gif интерфейсов при старых настройках не строятся. В rc.conf опция gif_interfaces игнорируется. Вместо неё рекомендовано использовать cloned_interfaces. В результате это выглядит следующим образом
cloned_interfaces=»gif3″
ifconfig_gif3=»inet INT_IP1 INT_IP2 netmask 255.255.255.0 tunnel EXT_IP1 EXT_IP2″

- Системный администратор с 2000 года
- Участник Freelancehunt, Хабр Q&A, cyberforum
- Кейсы