Пару недель спокойно вносил изменения в тот pfsense, про который я писал в конце июля. Обычно всё сразу срабатывало, как и полагается.
А иногда при применении внесённых изменений pfsense почему-то перегружался.. Но потом всё же успешно загружался и продолжал работать.
А вот сегодня после внесения очередного мелкого изменения - пропал.. Я ждал минут пять, а он так и не появился. Заполз в него через консоль, и оказалось, что там опять IP-адреса на всех сетевых интерфейсах потерялись. Пробовал подсовывать прежние варианты конфигов из его бэкапной директории и перегружать - а фиг, всё то же самое, при загрузке не может разобрать этот xml, потому и не знает, какие адреса приделывать.
Хотя когда я вручную приделал ему адрес (ifconfig’ом) и маршрут (route’ом), и зашёл в его веб-интерфейс, то там у него все настройки успешно виделись, в том числе и для сетевых интерфейсов. То есть, там этот конифг успешно читается, а в процессе загрузки почему-то нет..
Потом попробовал как в прошлый раз factory reset, настроил сетевые параметры, а после перезагрузки он их из этого совсем маленького свежесозданного конфига всё равно почему-то прочитать не может. Вот же уродские быдлокодеры..
Начальник предложил обновить его до свежей версии, раз старая всё равно не работает. Приделал опять сетевые параметры руками, запустил апгрейд, всё скачалось, поставилось, а после перезагрузки опять сети нету.. Пробовал подсовывать прежние конфиги - при загрузке всё равно вылезают ошибки чтения этих xml’ей.
Потом ещё попробовал подложить туда однозначно рабочий конфиг от новой версии (со своей виртуалки, где я экспериментировал с обновлением старой версии pfsense до нынешней). А всё та же фигня - не может этот xml прочитаться в процессе загрузки, хотя в веб-интерфейсе вполне может. Но и при попытке через веб-интерфейс что-то слегка поменять, чтоб конфиг заново переписался, всё равно вылезает хрень:
Или ещё больше:
Fatal error: Cannot create references to/from string offsets nor overloaded objects in /etc/inc/xmlparse.inc on line 103 Call Stack: 0.0001 245880 1. {main}() /usr/local/www/vpn_ipsec_phase1.php:0 0.0943 4425904 2. write_config() /usr/local/www/vpn_ipsec_phase1.php:550 0.6794 4967024 3. cleanup_backupcache() /etc/inc/config.lib.inc:593 30.6301 8763792 4. parse_xml_config() /etc/inc/config.lib.inc:859 30.6302 8764280 5. parse_xml_config_raw() /etc/inc/xmlparse.inc:178 31.5878 11278400 6. xml_parse() /etc/inc/xmlparse.inc:217 31.5878 11278776 7. startElement() /etc/inc/xmlparse.inc:217 PHP ERROR: Type: 1, File: /etc/inc/xmlparse.inc, Line: 103, Message: Cannot create references to/from string offsets nor overloaded objects
Видать, там не всё обновилось, а какие-то кривые старые скрипты ещё остались и продолжают поганить систему.
Тогда уже решил плюнуть на старую версию, и попробовал не обновлять, а поставить новую версию с нуля. Поставилась, сеть в порядке. Потом подложил туда конфиг со старой машинки, и он успешно прочитался и сработал.
То бишь, грабли, как водится, удалось обойти, но опять практически весь день на эту фигню пришлось потратить. А потом начальник попросил и второй тамошний маршрутизатор таким же образом заново поставить, а не обновлять старый. Но на это сегодня уже времени не хватило, завтра займусь.
Оригинал этой записи в личном блоге.
(
| Комментировать
в Dreamwidth)