Перейти до

Пулл IP-адресов ПриватБанка для настройки АПИ (Privat24).


Рекомендованные сообщения

  • Відповіді 56
  • Створено
  • Остання відповідь

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Привет всем. Настраиваю возможность пополнения счета абонентами из Личного кабинета с помощью АПИ приват24. Включил, работает. Но проблема вот в чем:   1. Абоненты без интернета не могут попасть в

вот так лучше?)) поменял цвет

Почерпнул идею и список хостов отсюда, и решил здесь и поделиться. Скрипт для микротика: {     :local listname "hosts_permit";     :local newip;     :local ips;     :local globips;     :local doloop

Posted Images

Проблема всех скриптов - отсутствие диагностики. Стоит по какой-либо причине отвалиться ресолверу - до следующего запуска скрипта фишка не работает.

 

И чисто системно. Второй файл с IP стоит держать для того, что бы при очередном запуске скрипта новые полученные IP сравнивать с предыдущим списком, и обновлять фаервол только в случае его изменения.

 

Ну и чисто алгоритмический ход с ipset. Лучше создавать новую цепочку, потом свопить ее с рабочей, и удалять старую. Так-называемое "неисчезающее обновление).

Ссылка на сообщение
Поделиться на других сайтах

Проблема всех скриптов - отсутствие диагностики. Стоит по какой-либо причине отвалиться ресолверу - до следующего запуска скрипта фишка не работает.

 

И чисто системно. Второй файл с IP стоит держать для того, что бы при очередном запуске скрипта новые полученные IP сравнивать с предыдущим списком, и обновлять фаервол только в случае его изменения.

 

Ну и чисто алгоритмический ход с ipset. Лучше создавать новую цепочку, потом свопить ее с рабочей, и удалять старую. Так-называемое "неисчезающее обновление).

 

Так помогите человеку. Понятно что мыслей и умных слов много. А по делу как обычно "0".  :huh:

Ссылка на сообщение
Поделиться на других сайтах

 

Проблема всех скриптов - отсутствие диагностики. Стоит по какой-либо причине отвалиться ресолверу - до следующего запуска скрипта фишка не работает.

 

И чисто системно. Второй файл с IP стоит держать для того, что бы при очередном запуске скрипта новые полученные IP сравнивать с предыдущим списком, и обновлять фаервол только в случае его изменения.

 

Ну и чисто алгоритмический ход с ipset. Лучше создавать новую цепочку, потом свопить ее с рабочей, и удалять старую. Так-называемое "неисчезающее обновление).

 

Так помогите человеку. Понятно что мыслей и умных слов много. А по делу как обычно "0".  :huh:

 

 

Помочь с чем? Подсказать о существовании команды cmp, или опции swap у ipset? Или в чем помочь?

Ссылка на сообщение
Поделиться на других сайтах

Подозреваю, что под помощью понимается показать команды. Не проблема.

 

1. Проверка изменения списка.

....
/usr/local/bin/dig +short -f файл_1 | grep '\([[:digit:]]\{1,3\}\.\)\{3\}[[:digit:]]\{1,3\}' | sort > /path.to/iplist_new.dat

# Compare lists
if cmp -s /path.to/iplist_new.dat /path.to/iplist.dat ; then
  # nothing new
  rm /path.to/iplist_new.dat
  exit 0
fi

# different - process
mv /path.to/iplist_new.dat /path.to/iplist.dat
cat /path.to/iplist.dat | xargs -L1 $ADD
....
Ссылка на сообщение
Поделиться на других сайтах

По поводу свапа можно написать так:

....
ipset create liqpaynew

[..... add to liqpaynew set ....]

ipset swap liqpaynew liqpay
ipset destroy liqpaynew
....
Відредаговано vop
Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

Итак,
Имеется 2 файла: /etc/PRIVATBANK_hosts и /etc/PRIVATBANK_ips (что в файлах - итак понятно: на пару постов выше список хостов, и потом список IP'шек, которые получатся в результате отработки скрипта.
 
Фрагмент конфига pf.conf :

#Tables 
table <PRIVATBANK_ips> persist file "/etc/PRIVATBANK_ips"

скрипт, который в crontab будет вертеться каждые 30 минут, назовем его hoststoips :

#!/bin/sh
#
#pfctl -t <PRIVATBANK_ips> -T flush        
#очищаем табличку <PRIVATBANK_ips>, но в моем варианте это не нужно, 
#так как скрипт который находится ниже просто заменяет содержимое 
#файла /etc/PRIVATBANK_ips новыми IP'шками, 
#которые скрипт получает путем преобразования доменов из файла /etc/PRIVATBANK_hosts
dig +short -f /etc/PRIVATBANK_hosts | grep '\([[:digit:]]\{1,3\}\.\)\{3\}[[:digit:]]\{1,3\}' > /etc/PRIVATBANK_ips 

Осталось только добавить правила в pf.conf, которые разрешат подсети 10.0.0.0\20 (предположим, что это должники) ходить на адреса из таблицы <PRIVATBANK_ips>.
Правильно все сделал?
Помогите, пожалуйста, правильно эти правила написать!
Уже кучу вариаций перепробовал, с правилами что-то не так, не пускает на IP из таблички.
Заранее благодарю за помощь!

Відредаговано Archy_k
Ссылка на сообщение
Поделиться на других сайтах
  • 3 weeks later...

Дело ясное, что дело тёмное!!!

В итоге скажите мне, господа провайдеры и операторы, хоть кто-нибудь...

у Вас получилось это настроить вот чтоб система оплаты через Прива24 работала для должников путем открывания доступа на IP приватбанка???

(костыли, типа включения интернета должнику на 15 минут, при нажатии на кнопку пополнить -> Приват24 - не интересуют)

################################################################################################################

Хоть у кого-то это работает, путем обновления IP скриптом в кроне каждые сколько-то минут и открыт доступ на таблицу этих адресов?

Ссылка на сообщение
Поделиться на других сайтах
  • 1 month later...

Почерпнул идею и список хостов отсюда, и решил здесь и поделиться. Скрипт для микротика:

{
    :local listname "hosts_permit";
    :local newip;
    :local ips;
    :local globips;
    :local doloop true;

    :local thehosts {"www.liqpay.com";
        "liqpay.com";
        "static.liqpay.com";
        "ecommerce.liqpay.com";
        "fonts.googleapis.com";
        "ajax.googleapis.com";
        "themes.googleusercontent.com";
        "www.google-analytics.com";
        "google-analytics.com";
        "ssl.google-analytics.com";
        "widget.siteheart.com";
        "client.siteheart.com";
        "clients.siteheart.com";
        "static.siteheart.com";
        "seal.globessl.com";
        "globessl.com";
        "privat24.ua";
        "www.privat24.ua";
        "privat24.privatbank.ua";
        "privatbank.ua";
        "qrapi.privatbank.ua";
        "api.privatbank.ua";
        "stats.g.doubleclick.net";
        "www.googleadservices.com";
        "fonts.gstatic.com";
        "login.privatbank.ua"};

    /ip firewall address-list remove [find list=$listname];
    :foreach hostname in=$thehosts do={
        :set ips;
        :set doloop true;
        :do {
            :set newip [:resolve $hostname];
            :if ( ("|" . [:find $ips $newip -1] . "|") = "||" ) do={
                :set ips ($ips, $newip);
            } else={
                :set doloop false;
            }
        } while=( $doloop );
        :foreach ti in=$ips do={
            :if ( ("|" . [:find $globips $ti -1] . "|") = "||" ) do={
                /ip firewall address-list add address=$ti list=$listname comment=$hostname;
            } else={
                /ip firewall address-list set [find address=$ti list=$listname] comment=( [/ip firewall address-list get [find address=$ti list=$listname] comment] . ", " . $hostname);
            }
            :set globips ($globips, $ti);
        }
    }
}
Відредаговано amokkatlocal
  • Thanks 1
Ссылка на сообщение
Поделиться на других сайтах

Осторожно со скриптом, он у меня все адреслисты почистил.

Переменная в строке

/ip firewall address-list remove [find list=$list];

не резолвится.

ROS 6.30.2

Ссылка на сообщение
Поделиться на других сайтах

Осторожно со скриптом, он у меня все адреслисты почистил.

Переменная в строке

/ip firewall address-list remove [find list=$list];

не резолвится.

ROS 6.30.2

Действительно фигня какая-то на 6 версии с "$list". Заменил в оригинальном посте имя переменной на "listname".

Ссылка на сообщение
Поделиться на других сайтах
  • 2 months later...
Linux

# iptables -A FORWARD -m set --match-set liqpay dst -j ACCEPT
# iptables -A FORWARD -m set --match-set liqpay src -j ACCEPT
# ipset create liqpay hash:ip timeout 600


# cat /usr/net-conf/liqpay
#!/bin/bash

while IFS= read -r line; do

dig +short $line > /var/run/liqpay_tmp_ip

while IFS= read -r line2; do
ipset add liqpay -exist [$line2]
done < /var/run/liqpay_tmp_ip

done < /usr/net-conf/liqpay_list

exit 0



# cat /usr/net-conf/liqpay_list
api.privatbank.ua
login.privatbank.ua
privat24.privatbank.ua
www.privat24.ua
privat24.ua
liqpay.com
www.liqpay.com
static.liqpay.com
ecommerce.liqpay.com
fonts.googleapis.com
ajax.googleapis.com
themes.googleusercontent.com
www.google-analytics.com
google-analytics.com
ssl.google-analytics.com
widget.siteheart.com
static.siteheart.com
www.googleadservices.com
stats.g.doubleclick.net
googleads.g.doubleclick.net
qrapi.privatbank.ua
coub.com
js.honeybadger.io
coubsecureassets-a.akamaihd.net
ces.coub.com
coubsecure-a.akamaihd.net
socauth.privatbank.ua
www.googletagmanager.com
st.privatbank.ua
services.privatbank.ua
mypayments.privatbank.ua
client.siteheart.com
fonts.gstatic.com
esapi.siteheart.com
crm.privatbank.ua


# cat /etc/crontab
*/5 * * * * root /usr/net-conf/liqpay

Відредаговано fet4
Ссылка на сообщение
Поделиться на других сайтах
  • 3 months later...

Можно еще и так:

 

#!/bin/sh


p=`cat /root/script/paysystem.txt`


/usr/local/bin/dig +short $p > /root/script/ipaysys.txt



  for i in `cat /root/script/ipaysys.txt`;
       do /sbin/ipfw table 24 add $i;
       done

paysystem.txt

api.privatbank.ua
login.privatbank.ua
privat24.privatbank.ua
www.privat24.ua
privat24.ua
liqpay.com
www.liqpay.com
static.liqpay.com
ecommerce.liqpay.com
fonts.googleapis.com
ajax.googleapis.com
themes.googleusercontent.com
www.google-analytics.com
google-analytics.com
ssl.google-analytics.com
widget.siteheart.com
static.siteheart.com
www.googleadservices.com
stats.g.doubleclick.net
googleads.g.doubleclick.net
qrapi.privatbank.ua
coub.com
js.honeybadger.io
coubsecureassets-a.akamaihd.net
ces.coub.com
coubsecure-a.akamaihd.net
socauth.privatbank.ua
www.googletagmanager.com
st.privatbank.ua
services.privatbank.ua
mypayments.privatbank.ua
client.siteheart.com
fonts.gstatic.com
esapi.siteheart.com
crm.privatbank.ua

Cron

*/5 * * * * root /root/script/ipaysys.sh

Ну и там

 ipfw add 24 allow ip from any to "table(24)"
 ipfw add 24 allow ip from "table(24)" to any 
Відредаговано loki
Ссылка на сообщение
Поделиться на других сайтах

#!/bin/csh

# Automated resolver for domains
# PrivatBank payment service
# Allow for denied users


set DOMAINS = "secure.privatbank.ua st.privatbank.ua ecommerce.liqpay.com static.liqpay.com www.secure.privatbank.ua www.st.privatbank.ua www.ecommerce.liqpay.com www.static.liqpay.com fonts.googleapis.com www.fonts.googleapis.com"
set DNS = "@8.8.8.8"
set TABLE = 10

foreach domain ($DOMAINS)
dig -4 -t A +short $DNS $domain | grep '^[0-9]' | xargs -I {} -L 1 ipfw " -q table $TABLE add {}/32"
end

ipfw -q table $TABLE delete 0.0.0.0/0
Ссылка на сообщение
Поделиться на других сайтах
  • 2 weeks later...

Добрий день, ніхто не пересікався з такою проблемою, коли в клієнта все заблоковано ІПТЕЙБЕЛСОМ в пулі без грошей, але відкрито всі дані домени 

 

 

ww.liqpay.com
liqpay
.com
static.liqpay.com
ecommerce
.liqpay.com
fonts
.googleapis.com
ajax
.googleapis.com
themes
.googleusercontent.com
www
.google-analytics.com
google
-analytics.com
ssl
.google-analytics.com
widget
.siteheart.com
client
.siteheart.com
clients
.siteheart.com
static.siteheart.com
seal
.globessl.com
globessl
.com
privat24
.ua
www
.privat24.ua
privat24
.privatbank.ua
privatbank
.ua
qrapi
.privatbank.ua
www
.privat24.ua
api
.privatbank.ua
stats
.g.doubleclick.net
www
.googleadservices.com
fonts
.gstatic.com

то приват 24 відкривається а лікпей біла сторінка.

НАС ДЕБІАН, конф ІПТЕЙБЕЛСА прикріпляю.

https://www.dropbox.com/sh/xrye1geg87yonam/AABUxUfFFs-TI4oR1fgS1Dm7a?dl=0

І в чому вся загадка що після ребуду наса ЛІКПЕЙ працює 2-3 дня потім біла сторінка.

По дебагу вискакує ajax.googleapis.com але він прописаний в ІПТЕЙБЕЛСІ.

Ссылка на сообщение
Поделиться на других сайтах
  • 2 months later...

для линукса

 

#!/bin/bash


DIG=`which dig`
IPSET=`which ipset`
IPSETNAME="paysystem"


SRCDATA=`cat /opt/firewall/paysystem.txt`
RESULT="/opt/firewall/ipaysys.txt"

$DIG +short $SRCDATA > $RESULT
$IPSET -N $IPSETNAME iphash -exist
for i in `cat $RESULT`;
do
$IPSET add $IPSETNAME $i -exist 2>/dev/null;
done

результат попадает в ipset paysystem

 

на выходе 

http://joxi.ru/E2pBeovfByed5r?d=1

Відредаговано ldemiurg
Ссылка на сообщение
Поделиться на других сайтах
  • 6 months later...

спрашивали про список, на данный момент он самый актуальный

Ссылка на сообщение
Поделиться на других сайтах

Ага, спасибо!  ^_^

Непонятно зачем coub.com, наверное что бы хомяки не скучали при отрицательном  :D

api.privatbank.ua
login.privatbank.ua
privat24.privatbank.ua
www.privat24.ua
privat24.ua
liqpay.com
www.liqpay.com
static.liqpay.com
ecommerce.liqpay.com
fonts.googleapis.com
ajax.googleapis.com
my-payments-p24.privatbank.ua
themes.googleusercontent.com
www.google-analytics.com
google-analytics.com
ssl.google-analytics.com
widget.siteheart.com
static.siteheart.com
www.googleadservices.com
stats.g.doubleclick.net
googleads.g.doubleclick.net
qrapi.privatbank.ua
coub.com
js.honeybadger.io
coubsecureassets-a.akamaihd.net
ces.coub.com
coubsecure-a.akamaihd.net
socauth.privatbank.ua
www.googletagmanager.com
st.privatbank.ua
services.privatbank.ua
mypayments.privatbank.ua
client.siteheart.com
fonts.gstatic.com
esapi.siteheart.com
crm.privatbank.ua
Відредаговано -VaSaK-
Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

  • Схожий контент

    • Від raven405
      Добрый день!
      Давно используем на небольшой сети в пару тысяч человек Ubilling в связке с NAS Mikrotik по API. В какой момент появилась проблема что каждое первое число, после того как по отключает должников, не всех оплативших услугу (либо поставивших кредит) в течении дня подключает назад, точнее в самом биллинге все хорошо, не переключается в статус enabled правило адрес-листе на микротике. Таких невезучих +/- пару десятков на пару сотен должников, системности никакой нету, учетные записи разные. Происходит только первого числа и примерно где только в первой половине дня, потом все отрабатывает нормально до конца месяца. Ручной ресет такого "невезучего" исправляет ситуацию. После чего появилась проблема уже сказать невозможно, уже долгое время в ручном режиме исправляем проблему.
      При анализе stargazer.log никаких аномалий, по таким абонентам нету, а от уже в allconnect.log у таких абонентов тишина, вызовов OnConnect после оплаты нету, как и каких либо ошибок.
      Собственно вопрос куда можно копать дальше и сталкивался ли кто с такой проблемой? 
      Ubilling стоит на FreBSD 13.1 (виртуалка) версии 1.3.7
       
    • Від Туйон
      Доброго вечера!
      Нахожусь в Кривом Роге, закупаю трафик у местного провайдера, а так же небольшое количество IP.
      Раньше сайты типа 2ip.ua однозначно писали местоположение что это Кривой Рог.
      А теперь пишут что это Новотроицкое, Херсонская область.
      У некоторых людей перестали открываться определенные сайты, не работает антивирус Аваст, пишет, мол, в этом регионе мы не работаем.
      Т.е. мои айпишники считают временно оккупированной территорией.
      Это как, просто невезение, или есть способ решения проблемы?
      Вышестоящий провайдер сказал, мол, у него то же самое но пользователи не жалуются.
      Да и у меня пока по сути один человек, какой-то программист, но тенденция напрягает.
      Сразу отвечу, что аплинк менять не собираюсь.
      Так же аплинк может выдать другие IP из схожих подсетей но там та же ситуация.
    • Від Дядя Рома
      На роутере сделал правила, собираю в блэклист адреса пытающихся подобрать пароль. Набил уже больше 50 тыс.  Роутер в общем переваривает такое количество, но всё равно, как-то многовато их. Пробовал объединять в ручную, очень долго получается, не реально всё перебрать. Нормальных сервисов которые бы это делали именно по AS провайдера. проверяя в онлайн WhoIs не нашёл. 
      Куда копать, как автоматизировать?
    • Від alexcom
      Продам /24.
      $37 (торг)
       
      Всі питання в особисті.
    • Від dummy
      Здам в оренду блок /24 IPv4

×
×
  • Створити нове...