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
      aleksvolgin
      last edited by

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

      Грамотней если бы скрипт присылал письмо на мыло, а в аттаче бэкап конфига.

      1 Reply Last reply Reply Quote 0
      • 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.