Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Автоматический бэкап конфигурации

    Scheduled Pinned Locked Moved Russian
    12 Posts 5 Posters 5.0k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      alexandrnew
      last edited by

      А кто скажет, что поменялось в 2.1, что вгет способ не срабатывает?
      А по замечанию- кому то в мыло надо, кому то на фтп -там уже проще добавить пару строк кода.

      1 Reply Last reply Reply Quote 0
      • werterW
        werter
        last edited by

        А сами wget, curl у вас установлены? Может после обновления pfsense до 2.1 стоит эти пакеты переустановить если они были в 2.0.х ?

        http://www.milliondollarserver.com/install-wget-curl-on-pfsense-freebsd/

        1 Reply Last reply Reply Quote 0
        • P
          pakko
          last edited by

          В 2.1 появилась защита в виде csrf

          а я как-то раньше писал похожий скрипт для бэкапа NAS4Free конфига - там похоже реализована защита web-интерфейса. Поэтому и сделал на curl по аналогии

          1 Reply Last reply Reply Quote 0
          • P
            pakko
            last edited by

            @werter:

            А сами wget, curl у вас установлены? Может после обновления pfsense до 2.1 стоит эти пакеты переустановить если они были в 2.0.х ?

            http://www.milliondollarserver.com/install-wget-curl-on-pfsense-freebsd/

            я захожу из другой системы - vMA

            1 Reply Last reply Reply Quote 0
            • A
              alexandrnew
              last edited by

              @pakko:

              В 2.1 появилась защита в виде csrf

              Вроде в 2.0 тоже было. я на данную страницу (бекапа) его отключал в рнр файлах.

              1 Reply Last reply Reply Quote 0
              • P
                pakko
                last edited by

                я только в 2.1 столкнулся. В коде привел пример прежнего скрипта.

                1 Reply Last reply Reply Quote 0
                • P
                  pakko
                  last edited by

                  Может кто-нибудь поможет переписать скрипт под 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+"
                  
                  
                  1 Reply Last reply Reply Quote 0
                  • A
                    alexandrnew
                    last edited by

                    странно.
                    я сталкивался. не думаю что у меня бета стояла, я решал так:
                    в 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
                    }

                    1 Reply Last reply Reply Quote 0
                    • P
                      pakko
                      last edited by

                      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
                      
                      
                      1 Reply Last reply Reply Quote 0
                      • T
                        temyshk
                        last edited by

                        @pakko:

                        Написал скрипт для bash, который удалённо подключается к pfSense и, собственно, нажимает кнопку "Download configuration".

                        А есть скрипт или способы сделать бекап конфигурации на самом pfsense, и скопировать созданный на pfsense файл конфигурации, самим pfsensом на удаленный ftp?
                        Потом этот скрипт поместить в cron.
                        И еще послать емаил о fail или sucsess.

                        Мне кажется это более логичным

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post
                        Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.