Navigation

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

    Бэкап на почту

    Russian
    4
    4
    3321
    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.
    • S
      Shraik last edited by

      Тем, кто периодически крутит свой pfsense, посвящается.
      Бэкап как известно хорош регулярностью. И чем дальше хранится он от сервака тем не хуже  ;D
      Поэтому я решил бэкапиться на Gmail, ибо нефиг!
      Тут меня ожидал небольшой полярный собака, нету в pfsense 1.2.3 почтаря как класса, но где наши не пропадали…

      Делай раз:
      Ставим пакадж "Stunnel" (потому как Gmail тоже собака и без SSL к нему не подъедешь)
      stunnel, тоже самка собаки, потому как в его GUI нет чудесной галки "Client mode", поэтому её можно прописать или руками в конфиг, или дорисовать в веб морду
      рисуем морду в "stunnel.xml"

      после

      		 <field><fielddescr>Outgoing source IP</fielddescr>
      			<fieldname>sourceip</fieldname>
      			<description>Enter the source IP address for outgoing connections.</description>
      			<type>input</type></field> 
      
      

      добавляем

      
      		 <field><fielddescr>Client mode</fielddescr>
      			<fieldname>clientmode</fieldname>
      			<description>Check this to enable "Client mode".</description>
      			<type>checkbox</type></field> 
      
      

      добавляем логику в stunnel.inc
      после

      	foreach($config['installedpackages']['stunnel']['config'] as $pkgconfig) {
      		fwrite($fout, "\n[" . $pkgconfig['description'] . "]\n");
      
      

      добавляем

      		if($pkgconfig['clientmode']) fwrite($fout, "client = yes" . "\n");
      

      Делай два:  
      добавляем туннель с такими параметрами

      
      Listen on IP :           127.0.0.1
      Listen on port:         25
      Certificate:              default
      Redirects to IP:        smtp.gmail.com
      Redirects to Port:     465
      Outgoing source IP:  "адрес смотрящий в инет"
      Client mode:             "отмечено"
      
      

      записываем и вуаля, туннель готов

      Делай три:
      пишем скрипт отправки на шелле.
      Gmail требует имя пользователя и пароль в кодировке BASE64, поэтому озаботимся этим заранее, например тут http://www5.rptea.com/base64/
      делаем ANSI->Base64
      ну и вот он, наш красавец, скрипт отправки

      
      #!/bin/sh
      
      SUBJECT=""
      CONTENT=""
      
      MAILSRV="127.0.0.1"
      SUBJECT="SUBJECT: Current config file: "`date +%Y" "%m" "%d`
      CONTENT="/cf/conf/config.xml"
      
      if [ -n "$SUBJECT" ]; then
          (
                  sleep 1
                  echo "EHLO pfsense"
                  sleep 1
                  echo "AUTH LOGIN"
                  sleep 1
                  echo "login_IN_BASE64"
                  sleep 1
                  echo "password_IN_BASE64"
                  sleep 1
                  echo "MAIL FROM:<pfs@gmail.com>"
                  sleep 1
                  echo "RCPT TO:<mymail@gmail.com>"
                  sleep 1
                  echo "DATA"
                  sleep 1
                  echo $SUBJECT
                  sleep 1
                  echo "TO:<mymail@gmail.com>"
                  sleep 1
                  echo " "
                  cat "$CONTENT"
                  sleep 1
                  echo "."
                  sleep 1
                  echo "QUIT"
          ) | telnet $MAILSRV 25
      fi
      
      exit</mymail@gmail.com></mymail@gmail.com></pfs@gmail.com> 
      

      кидаем в папочку рута или куда там положено кидать выполняемые скрипты и делаем это добро выполняемым.
      Делай четыре:
      Ставим пакадж "Cron"  и у нас появится возможность нарисовать задание на выполнение нашей прелести скажем раз в неделю.
      особым шиком я считаю не ставить этот пакадж и в консоли штатными средствами "crontab -e" используя чудо редактор vi, прописать
      нужное нам расписание.

      ну и на последок, на Gmail-e делаем правило сортировки по содержимому типа "Current config file:" -> кидать в папочку "ххх"
      и нехай оно там тухнет :)

      В заключение:
      Вот такой набор костылей у меня получился. Во второй версии сенса почтовый агент уже добавлен, так что всё будет сильно проще.
      Да и делалось это больше "Just for fun"

      Использованная литература:
      Google по словам и сочетаниям: gmail stunnel pfsense smtp telnet

      1 Reply Last reply Reply Quote 0
      • E
        Eugene last edited by

        Красиво пишешь. Спасибо. Добавь это дело в вики пожалуйста и… пиши ещё -)

        1 Reply Last reply Reply Quote 0
        • D
          dvserg last edited by

          @Evgeny:

          Красиво пишешь. Спасибо. Добавь это дело в вики пожалуйста и… пиши ещё -)

          +500
          Вот побольше бы таких авторов. :)

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

            Спасибо! молодчина!

            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            Products

            • Platform Overview
            • TNSR
            • pfSense Plus
            • Appliances

            Services

            • Training
            • Professional Services

            Support

            • Subscription Plans
            • Contact Support
            • Product Lifecycle
            • Documentation

            News

            • Media Coverage
            • Press
            • Events

            Resources

            • Blog
            • FAQ
            • Find a Partner
            • Resource Library
            • Security Information

            Company

            • About Us
            • Careers
            • Partners
            • Contact Us
            • Legal
            Our Mission

            We provide leading-edge network security at a fair price - regardless of organizational size or network sophistication. We believe that an open-source security model offers disruptive pricing along with the agility required to quickly address emerging threats.

            Subscribe to our Newsletter

            Product information, software announcements, and special offers. See our newsletter archive to sign up for future newsletters and to read past announcements.

            © 2021 Rubicon Communications, LLC | Privacy Policy