Автоматический бэкап конфигурации
-
А кто скажет, что поменялось в 2.1, что вгет способ не срабатывает?
А по замечанию- кому то в мыло надо, кому то на фтп -там уже проще добавить пару строк кода. -
А сами wget, curl у вас установлены? Может после обновления pfsense до 2.1 стоит эти пакеты переустановить если они были в 2.0.х ?
http://www.milliondollarserver.com/install-wget-curl-on-pfsense-freebsd/
-
В 2.1 появилась защита в виде csrf
а я как-то раньше писал похожий скрипт для бэкапа NAS4Free конфига - там похоже реализована защита web-интерфейса. Поэтому и сделал на curl по аналогии
-
А сами wget, curl у вас установлены? Может после обновления pfsense до 2.1 стоит эти пакеты переустановить если они были в 2.0.х ?
http://www.milliondollarserver.com/install-wget-curl-on-pfsense-freebsd/
я захожу из другой системы - vMA
-
В 2.1 появилась защита в виде csrf
Вроде в 2.0 тоже было. я на данную страницу (бекапа) его отключал в рнр файлах.
-
я только в 2.1 столкнулся. В коде привел пример прежнего скрипта.
-
Может кто-нибудь поможет переписать скрипт под cmd.exe?
Цель, чтобы сотрудник удаленно будил свой комп не ходя по вкладкам pfSense, а просто запуском батника.
Для версии 2.0 я использовал что-то вроде этого:
curl.exe -k -L -с cookies.txt -d "usernamefld=wol&passwordfld=123&login=Login" https://192.168.1.1/index.php > WakeOnLAN_Smartpro_log.txt curl.exe -k -b cookies.txt "https://192.168.1.1/services_wol.php?mac=f0:de:f1:b9:e8:3d&if=lan" >> WakeOnLAN_Smartpro_log.txt curl.exe -k -b cookies.txt "https://192.168.1.1/index.php?logout" >> WakeOnLAN_Smartpro_log.txt DEL cookie.txt ECHO Waking up the remote computer and starting RealVNC. ECHO Wait a minute... :pinging ping -n 1 -w 1 192.168.1.43 | Find /I "TTL=" || goto pinging start "Remote access via VNC" "c:\Users\user\Desktop\smart.vnc+"
-
странно.
я сталкивался. не думаю что у меня бета стояла, я решал так:
в services_captiveportal_vouchers_edit.php и services_captiveportal_vouchers.php
добавлял экранировал строку $nocsrf = true;
получалось: #$nocsrf = true;сами строки такие (весь скрипт не привожу, думаю понятно будет)
#get cookies
wget -qO/dev/null –quiet --keep-session-cookies --save-cookies ./cookies.txt --post-data "login=Login&usernamefld=${pfsense_login}&passwordfld=${pfsense_pass}" --no-check-certificate --timeout=10 https://${pfsense_ip}:${pfsense_port}/diag_backup.php
#echo -Download Config
wget --quiet --keep-session-cookies --load-cookies ./cookies.txt --post-data "Submit=download&donotbackuprrd=yes" --no-check-certificate -O ./pfsense_backup/${pfsense_name}-${pfsense_ip}-$TIMESTAMP.xml --timeout=10 https://${pfsense_ip}:${pfsense_port}/diag_backup.php
} -
2 alexandrnew:
Мне не хотелось менять/отключать стандартный функционал.Для bat-ника сам что-то похожее на рабочий вариант попробовал написать. Вот что получилось:
@echo off SET user=wol SET pass=wolwol SET server=https://192.168.1.1/ SET wol_comp=192.168.1.43 SET cookies=cookies.txt SET tfile1=WakeOnLAN_temp1.tmp SET tfile2=WakeOnLAN_temp2.tmp SET str=csrfMagicToken curl.exe -k -L -s -S -c cookies.txt "%server%index.php" | findstr %str% > %tfile1% set /p a=<%tfile1% set csrf_magic=%a:~152,55% curl.exe -k -L -s -S -o %tfile2% -b %cookies% -d "usernamefld=%user%&passwordfld=%pass%&login=Login&__csrf_magic=%csrf_magic%" "%server%index.php" curl.exe -k -L -s -S -o %tfile2% -b %cookies% "%server%services_wol.php?mac=f0:de:f1:b9:e8:3d&if=lan" curl.exe -k -L -s -S -o %tfile2% -b %cookies% "%server%index.php?logout" DEL /F %cookies% %tfile1% %tfile2% ECHO. ECHO Waking up the remote computer and will start RealVNC. ECHO Wait a minute... :pinging ping -n 1 -w 1 %wol_comp% | Find /I "TTL=" || goto pinging start "Remote access via VNC" "c:\Users\Anatol\Desktop\comp1.vnc+" exit
-
Написал скрипт для bash, который удалённо подключается к pfSense и, собственно, нажимает кнопку "Download configuration".
А есть скрипт или способы сделать бекап конфигурации на самом pfsense, и скопировать созданный на pfsense файл конфигурации, самим pfsensом на удаленный ftp?
Потом этот скрипт поместить в cron.
И еще послать емаил о fail или sucsess.Мне кажется это более логичным