Новые каталоги
This commit is contained in:
204
DNS/BIND_install.md
Normal file
204
DNS/BIND_install.md
Normal file
@ -0,0 +1,204 @@
|
|||||||
|
****************************************************************************************************
|
||||||
|
Собственный DynDNS на Linux для observer.kz для начала устанавливаем BIND 9.13 and later по этому мануалу https://www.dmosk.ru/miniinstruktions.php?mini=bind-ubuntu и по этому для новой версии https://www.netss.by/?p=26
|
||||||
|
```sh
|
||||||
|
sudo apt-get update &&
|
||||||
|
sudo apt-get install bind9 dnsutils &&
|
||||||
|
sudo apt-get install bind9utils
|
||||||
|
```
|
||||||
|
Adding the service to autostart
|
||||||
|
```sh
|
||||||
|
systemctl enable bind9
|
||||||
|
```
|
||||||
|
Checking if the service is working
|
||||||
|
```sh
|
||||||
|
nslookup dmosk.ru 127.0.0.1
|
||||||
|
```
|
||||||
|
Opening the configuration file
|
||||||
|
```sh
|
||||||
|
mcedit /etc/bind/named.conf.options
|
||||||
|
```
|
||||||
|
Для глобальных запросов добавляем строку: allow-query { any; };
|
||||||
|
Также добавляем в этот файл DNS сервера пересылки, на них будут перенаправляться запросы если локальный не содержит данных
|
||||||
|
//forwarders {
|
||||||
|
// 8.8.8.8;
|
||||||
|
// 8.8.4.4;
|
||||||
|
//};
|
||||||
|
Проверяем настройки командой (ответ должен быть пустым):
|
||||||
|
sudo named-checkconf
|
||||||
|
Перезагружаем:
|
||||||
|
sudo systemctl restart bind9
|
||||||
|
Проверяю версию BIND:
|
||||||
|
named -v
|
||||||
|
Выдало: BIND 9.16.1-Ubuntu (Stable Release) <id:d497c32>
|
||||||
|
Можно проверить какой IP выдаст на DNS запрос
|
||||||
|
dig locust.kz A
|
||||||
|
|
||||||
|
На этом базовая настройка закончена. Наш сервер готов принимать и отдавать запросы и работать, как кэширующий dns.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Далее создаём клиента согласно: https://help.ubuntu.ru/wiki/динамический_днс_своими_руками
|
||||||
|
|
||||||
|
Перейдем в него.
|
||||||
|
cd /etc/bind/
|
||||||
|
Генерируем пару ключь для обмена информацией между клиентом и сервером:
|
||||||
|
sudo tsig-keygen -a hmac-sha512 dirt.kz > dirt.kz.key
|
||||||
|
sudo tsig-keygen -a hmac-sha512 locust.kz > locust.kz.key
|
||||||
|
Для загрузки ключа добавляем его файл mcedit /etc/bind/named.conf строчку с указанием файла, где определен ключ.
|
||||||
|
include "/etc/bind/dirt.kz.key";
|
||||||
|
include "/etc/bind/locust.kz.key";
|
||||||
|
Следующим шагом необходимо в файл mcedit /etc/bind/named.conf.local прописать доменную зону, которой мы оперируем.
|
||||||
|
zone "dirt.kz" {
|
||||||
|
type master;
|
||||||
|
allow-update {key dirt.kz;};
|
||||||
|
file "/var/cache/bind/dirt.kz";
|
||||||
|
};
|
||||||
|
|
||||||
|
zone "locust.kz" {
|
||||||
|
type master;
|
||||||
|
allow-update {key locust.kz;};
|
||||||
|
file "/var/cache/bind/locust.kz";
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
В файле "mcedit /var/cache/bind/dirt.kz" должны быть прописанны записи домена где:
|
||||||
|
В файле "mcedit /var/cache/bind/locust.kz" должны быть прописанны записи домена где:
|
||||||
|
|
||||||
|
Поле $ORIGIN для подставки имени в знак @, поэтому знак @ не используется просто так в тексте
|
||||||
|
Если используется символ @ то он заменяется на то что было прописанно в $ORIGIN смотреть в: https://help.dyn.com/how-to-format-a-zone-file/
|
||||||
|
SOA — Начало полномочий подробней смотри в https://k.psu.ru/wiki/BIND9_(методическое_пособие)#SOA
|
||||||
|
NS — Сервер имён
|
||||||
|
A — рекорд
|
||||||
|
MX — Почта для обмена
|
||||||
|
CN — Каноническое имя
|
||||||
|
PTR — указатель
|
||||||
|
И таким содержимым:
|
||||||
|
|
||||||
|
$ORIGIN dirt.kz
|
||||||
|
$TTL 604800
|
||||||
|
@ IN SOA bigfoottrade.kz. root.bigfoottrade.kz. (
|
||||||
|
8 ; Serial
|
||||||
|
604800 ; Refresh
|
||||||
|
86400 ; Retry
|
||||||
|
2419200 ; Expire
|
||||||
|
604800 ) ; Negative Cache TTL
|
||||||
|
;
|
||||||
|
@ IN NS bigfoottrade.kz.
|
||||||
|
|
||||||
|
Второй файл для locust.kz:
|
||||||
|
|
||||||
|
$ORIGIN .
|
||||||
|
$TTL 604800 ; 1 week
|
||||||
|
locust.kz IN SOA bigfoottrade.kz. irigm.mail.ru. (
|
||||||
|
134 ; serial
|
||||||
|
604800 ; refresh (1 week)
|
||||||
|
86400 ; retry (1 day)
|
||||||
|
1419200 ; expire (2 weeks 2 days 10 hours 13 minutes 20 seconds)
|
||||||
|
604800 ; minimum (1 week)
|
||||||
|
)
|
||||||
|
NS bigfoottrade.kz.
|
||||||
|
$TTL 3600 ; 1 hour
|
||||||
|
A 5.76.254.182
|
||||||
|
$ORIGIN locust.kz.
|
||||||
|
* A 127.0.0.1
|
||||||
|
|
||||||
|
|
||||||
|
Правлю права доступа:
|
||||||
|
sudo chown -R bind:bind /etc/bind
|
||||||
|
|
||||||
|
Если настройки были первоначальными то стоит удалить файл /var/cache/bind/locust.kz.jnl и переинициализировать его командой:
|
||||||
|
sudo rndc reconfig
|
||||||
|
Потом следует вызвать:
|
||||||
|
sudo systemctl restart bind9
|
||||||
|
Команда выше также переписывет накопившиеся данные из /var/cache/bind/locust.kz.jnl в /var/cache/bind/locust.kz так что после обновления если охото быстрей взглянуть на текстовое значение следует повторно вызвать эту команду
|
||||||
|
После настроек сервера перезагружаем его:
|
||||||
|
sudo named-checkconf
|
||||||
|
sudo rndc reload
|
||||||
|
sudo systemctl restart bind9
|
||||||
|
sudo rndc status
|
||||||
|
journalctl | grep bind
|
||||||
|
sudo journalctl -u bind9 -n 50
|
||||||
|
|
||||||
|
|
||||||
|
Создаю скрипт /etc/ddns/ddns.sh для обновления доменных зон удалённо с доступом по ключу:
|
||||||
|
|
||||||
|
Файл из примера:
|
||||||
|
#!/bin/bash
|
||||||
|
TTL=3600
|
||||||
|
SERVER=ns.dyndns.my
|
||||||
|
HOSTNAME=dhost.dyndns.my
|
||||||
|
ZONE=dyndns.my
|
||||||
|
KEYFILE=Kdyndns.my.+157+48025.private
|
||||||
|
new_ip_address=`curl http://dyndns.my/ip.php` #Этот файлик создадим позднее на сервере!
|
||||||
|
cd /etc/ddns
|
||||||
|
nsupdate -v -k $KEYFILE << EOF
|
||||||
|
server $SERVER
|
||||||
|
zone $ZONE
|
||||||
|
update delete $HOSTNAME A
|
||||||
|
update add $HOSTNAME $TTL A $new_ip_address
|
||||||
|
send
|
||||||
|
EOF
|
||||||
|
|
||||||
|
Мой модифицированный файл для обновления IP в Bind9 DNS сервису по созданному файлу ip.txt, файл ip.txt создаётся в PHP скрипте который описан ниже:
|
||||||
|
#!/bin/bash
|
||||||
|
TTL=3600
|
||||||
|
SERVER=127.0.0.1
|
||||||
|
HOSTNAME=*.dirt.kz
|
||||||
|
ZONE=dirt.kz
|
||||||
|
KEYFILE=/etc/bind/dirt.kz.key
|
||||||
|
|
||||||
|
new_ip_address=
|
||||||
|
FILE=/etc/ddns/ip.txt
|
||||||
|
if test -f "$FILE"; then
|
||||||
|
new_ip_address=`cat $FILE`
|
||||||
|
rm $FILE
|
||||||
|
fi
|
||||||
|
|
||||||
|
len=${#new_ip_address}
|
||||||
|
if [ $len -gt 3 ]
|
||||||
|
then
|
||||||
|
echo "New IP address = $new_ip_address"
|
||||||
|
else
|
||||||
|
echo "Not find IP address"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd /etc/ddns
|
||||||
|
sudo nsupdate -v -k $KEYFILE << EOF
|
||||||
|
server $SERVER
|
||||||
|
zone $ZONE
|
||||||
|
update delete $HOSTNAME A
|
||||||
|
update add $HOSTNAME $TTL A $new_ip_address
|
||||||
|
update delete dirt.kz A
|
||||||
|
update add dirt.kz $TTL A $new_ip_address
|
||||||
|
send
|
||||||
|
EOF
|
||||||
|
echo "OK"
|
||||||
|
|
||||||
|
Так как PHP работает за HAProxy то немного модифицировал скрипт который сохраняет IP обратившегося клиента в файл, а именно использую "x-forwarded-for" для передачи IP адреса клиента:
|
||||||
|
<?php
|
||||||
|
|
||||||
|
echo '<pre>'; print_r(getallheaders()); echo '</pre>';
|
||||||
|
|
||||||
|
// PROBLEM IS each browser has different "x-forwarder-for" some "X-Forwarder-for" and some browser gave you 2x ip "x.x.x.x, x.x.x.x"
|
||||||
|
foreach ( getallheaders() as $k => $v) {
|
||||||
|
if ( strtolower($k) == 'x-forwarded-for' ) {
|
||||||
|
$tmp = explode(', ', $v);
|
||||||
|
if ( $tmp[count($tmp)-1] != '' )
|
||||||
|
$_SERVER['REMOTE_ADDR'] = $tmp[count($tmp)-1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isset($_GET["key"]) && $_GET["key"]=='4fygxNq539NFfUm6SOd2vn52GwL7o7NA'){
|
||||||
|
$myfile = fopen("/etc/ddns/ip.txt", "w");
|
||||||
|
fwrite($myfile, $_SERVER['REMOTE_ADDR']);
|
||||||
|
fclose($myfile);
|
||||||
|
}
|
||||||
|
|
||||||
|
echo $_SERVER['REMOTE_ADDR'];
|
||||||
|
|
||||||
|
?>
|
||||||
|
|
||||||
|
Проверяем что находит IP по доменному имени
|
||||||
|
nslookup dirt.kz 127.0.0.1
|
||||||
@ -35,10 +35,27 @@ DROP TABLE public.test_table;
|
|||||||
```sql
|
```sql
|
||||||
CREATE ROLE test_user WITH LOGIN NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT NOREPLICATION NOBYPASSRLS CONNECTION LIMIT -1 VALID UNTIL '2025-05-22T00:00:00+05:00' PASSWORD '!Ii123456';
|
CREATE ROLE test_user WITH LOGIN NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT NOREPLICATION NOBYPASSRLS CONNECTION LIMIT -1 VALID UNTIL '2025-05-22T00:00:00+05:00' PASSWORD '!Ii123456';
|
||||||
```
|
```
|
||||||
4) Изменение прав пользователя
|
|
||||||
|
|
||||||
|
|
||||||
|
4) Изменение прав пользователя !!!!!!!!!!Вадим не видел!!!!!!!!!!!
|
||||||
```sql
|
```sql
|
||||||
ALTER ROLE user_developer_igor_i NOLOGIN VALID UNTIL '2025-05-22T00:00:00+05:00';
|
ALTER ROLE user_developer_igor_i NOLOGIN VALID UNTIL '2025-05-22T00:00:00+05:00';
|
||||||
```
|
```
|
||||||
|
```sql
|
||||||
|
GRANT app_authorization TO user_developer_igor_i;
|
||||||
|
```
|
||||||
|
```sql
|
||||||
|
REVOKE app_authorization FROM user_developer_igor_i;
|
||||||
|
```
|
||||||
|
```sql
|
||||||
|
REVOKE SELECT ON TABLE public.test_table FROM user_developer_igor_i;
|
||||||
|
```
|
||||||
|
```sql
|
||||||
|
GRANT SELECT ON public.test_table TO user_developer_igor_i;
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
5) Удаление пользователя БД
|
5) Удаление пользователя БД
|
||||||
```sql
|
```sql
|
||||||
DROP ROLE test_user;
|
DROP ROLE test_user;
|
||||||
@ -1,8 +1,224 @@
|
|||||||
|
****************************************************************************************************
|
||||||
|
Подключаемся к нужной машине
|
||||||
```sh
|
```sh
|
||||||
ssh administrator@10.101.1.37 -p 22
|
ssh ivanov_i@10.101.1.3 -p 22
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Установка сервиса обмена сообщениями RabbitMQ – менеджер сообщений (message broker), написан на Erlang, ближайший аналог в AWS – SQS. По документации из: https://rtfm.co.ua/ru/rabbitmq-zapusk-opisanie-primery/
|
||||||
```sh
|
```sh
|
||||||
sudo rabbitmqctl change_password admin KGf4nxT8vxZWv3jqNasP
|
sudo apt-get update &&
|
||||||
|
sudo apt-get dist-upgrade &&
|
||||||
|
sudo apt install rabbitmq-server
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Создаём пользователя и задаём пароль
|
||||||
|
```sh
|
||||||
|
sudo rabbitmqctl list_users &&
|
||||||
|
sudo rabbitmqctl add_user ivanov_i KGf4nxT8vxZWv3jqNasP &&
|
||||||
|
sudo rabbitmqctl set_user_tags ivanov_i administrator &&
|
||||||
|
sudo rabbitmqctl set_permissions -p / ivanov_i ".*" ".*" ".*" &&
|
||||||
|
sudo rabbitmqctl change_password ivanov_i KGf4nxT8vxZWv3jqNasP
|
||||||
|
```
|
||||||
|
|
||||||
|
Посмотреть список используемых плагинов:
|
||||||
|
```sh
|
||||||
|
sudo rabbitmq-plugins list
|
||||||
|
```
|
||||||
|
Активируем плагин rabbitmq_management для наблюдения за системой по HTTP https://www.rabbitmq.com/management.html https://thewebland.net/development/devops/chast-3-interfejs-upravleniya-rabbitmq/#:~:text=RabbitMQ%20Management%20–%20это%20удобный%20интерфейс,и%20отправлять%20%2F%20получать%20сообщения%20вручную.
|
||||||
|
```sh
|
||||||
|
sudo rabbitmq-plugins enable rabbitmq_management
|
||||||
|
```
|
||||||
|
rabbitmq_management активирует поддержку API на порту 15672: http://192.168.0.144:15672 http://10.1.7.70:15672 http://192.168.0.83:15672
|
||||||
|
Но для активации нужно добавить пользователя, смотрим пользователей:
|
||||||
|
```sh
|
||||||
|
sudo rabbitmqctl list_users
|
||||||
|
sudo rabbitmqctl add_user admin paRabbit! или test test для локального тестового сервера
|
||||||
|
sudo rabbitmqctl set_user_tags admin administrator
|
||||||
|
sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
|
||||||
|
```
|
||||||
|
Также можно создать пользователя для публикации сообщений но уже это можно сделать через WEB интерфейс: producer lgGDWAJEwI для guest с паролем: efewG!4ev Александра: alex jefruf!43
|
||||||
|
|
||||||
|
Теперь можно логинется по test test поменять пароль можно: https://kb.vmware.com/s/article/323520#:~:text=Log%20in%20to%20the%20RabbitMQ,host%20where%20RabbitMQ%20is%20installed.
|
||||||
|
Или так можно поменять пароль: sudo rabbitmqctl change_password zenoss New-Password
|
||||||
|
producer: клиент, выполняющий отправку сообщения
|
||||||
|
queue: собственно очередь сообщений
|
||||||
|
consumer: клиент, получающий сообщения из очереди
|
||||||
|
exchange: получает сообщения от producer, и отправялет их в очереди в соответствии с его типом (см. тут https://www.rabbitmq.com/tutorials/tutorial-three-python.html)
|
||||||
|
|
||||||
|
Дальше можно пробовать отправлять данные в очередь используя допустим java библиотеку урок: https://www.youtube.com/watch?v=6lPK_LgTZ9Y
|
||||||
|
https://www.rabbitmq.com/devtools.html :
|
||||||
|
Создаю Maven проект в консоли:
|
||||||
|
```sh
|
||||||
|
cd O:\projects\Workspace_Java\
|
||||||
|
mvn archetype:generate -DgroupId=kz.istt.app -DartifactId=TransitToRabbitMQ -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
|
||||||
|
```
|
||||||
|
Открываю его в idea64 и добавляю в POM следующую зависемость из https://mvnrepository.com/artifact/com.rabbitmq/amqp-client:
|
||||||
|
```xml
|
||||||
|
<!-- https://mvnrepository.com/artifact/com.rabbitmq/amqp-client -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.rabbitmq</groupId>
|
||||||
|
<artifactId>amqp-client</artifactId>
|
||||||
|
<version>5.14.2</version>
|
||||||
|
</dependency>
|
||||||
|
```
|
||||||
|
Также поставил C:\Program Files\Java\jdk-14.0.2 а то не запускалось, также просит рут права для IntelliJ IDEA.
|
||||||
|
|
||||||
|
Урок создания maven проекта: https://devcolibri.com/unit/урок-1-подготовка-и-создание-maven-проекта/
|
||||||
|
или https://www.jetbrains.com/idea/guide/tutorials/working-with-maven/creating-a-project/
|
||||||
|
Добавил в POM файл:
|
||||||
|
```xml
|
||||||
|
<repositories>
|
||||||
|
<repository>
|
||||||
|
<name>RabbitMQ</name>
|
||||||
|
<url>https://repo1.maven.org/maven2/com/rabbitmq/amqp-client/5.16.0</url>
|
||||||
|
<id>com.rabbitmq</id>
|
||||||
|
<releases>
|
||||||
|
<enabled>false</enabled>
|
||||||
|
</releases>
|
||||||
|
<snapshots>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
</snapshots>
|
||||||
|
</repository>
|
||||||
|
</repositories>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.rabbitmq</groupId>
|
||||||
|
<artifactId>amqp-client</artifactId>
|
||||||
|
<version>5.16.0</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
```
|
||||||
|
|
||||||
|
Перезагружаем:
|
||||||
|
```sh
|
||||||
|
sudo service rabbitmq-server restart
|
||||||
|
```
|
||||||
|
|
||||||
|
****************************************************************************************************
|
||||||
|
Установка Shovels Plugin для RabbitMQ (лопата) по мотивам из: https://www.rabbitmq.com/docs/shovel
|
||||||
|
|
||||||
|
Активирую плагин командой:
|
||||||
|
```sh
|
||||||
|
sudo rabbitmq-plugins enable rabbitmq_shovel &&
|
||||||
|
sudo rabbitmq-plugins enable rabbitmq_shovel_management
|
||||||
|
```
|
||||||
|
|
||||||
|
Настраиваю Shovels Dynamic плагин в RabbitMQ через командную строку:
|
||||||
|
```sh
|
||||||
|
sudo rabbitmqctl set_parameter shovel kaz_to_kaz '{
|
||||||
|
"src-protocol": "amqp091",
|
||||||
|
"src-uri": "amqp://admin:paRabbit!@127.0.0.1:20000/transportation",
|
||||||
|
"src-queue": "TO_KAZ",
|
||||||
|
"dest-protocol": "amqp091",
|
||||||
|
"dest-uri": "amqp://admin:paRabbit!@10.101.1.11:20000/playground",
|
||||||
|
"dest-exchange": "swap",
|
||||||
|
"dest-exchange-key": ".KAZ.",
|
||||||
|
"ack-mode": "on-confirm",
|
||||||
|
"publish-properties": {
|
||||||
|
"delivery_mode": 2
|
||||||
|
}
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
|
||||||
|
Для Росии такие настройки:
|
||||||
|
```sh
|
||||||
|
sudo rabbitmqctl set_parameter shovel kaz_to_rus '{
|
||||||
|
"src-protocol": "amqp091",
|
||||||
|
"src-uri": "amqp://admin:paRabbit!@127.0.0.1:20000/transportation_rus",
|
||||||
|
"src-queue": "TO_RUS",
|
||||||
|
"dest-protocol": "amqp091",
|
||||||
|
"dest-uri": "amqp://iktt_kaz:jkrjHL7xj7PrW1D@192.168.89.133:20000/playground",
|
||||||
|
"dest-exchange": "swap",
|
||||||
|
"dest-exchange-key": "KZ",
|
||||||
|
"ack-mode": "on-confirm",
|
||||||
|
"publish-properties": {
|
||||||
|
"delivery_mode": 2
|
||||||
|
}
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
|
||||||
|
Для Беларусии такие настройки:
|
||||||
|
```sh
|
||||||
|
sudo rabbitmqctl set_parameter shovel kaz_to_blr '{
|
||||||
|
"src-protocol": "amqp091",
|
||||||
|
"src-uri": "amqp://admin:paRabbit!@127.0.0.1:20000/transportation_blr",
|
||||||
|
"src-queue": "TO_BLR",
|
||||||
|
"dest-protocol": "amqp091",
|
||||||
|
"dest-uri": "amqp://KZ_IKTT:DK34xDNlZQfQ551k@192.168.90.133:20000/plumber",
|
||||||
|
"dest-exchange": "eec.swap",
|
||||||
|
"dest-exchange-key": "KZ",
|
||||||
|
"ack-mode": "on-confirm",
|
||||||
|
"publish-properties": {
|
||||||
|
"delivery_mode": 2
|
||||||
|
}
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
|
||||||
|
Для Армении такие настройки:
|
||||||
|
```sh
|
||||||
|
sudo rabbitmqctl set_parameter shovel kaz_to_arm '{
|
||||||
|
"src-protocol": "amqp091",
|
||||||
|
"src-uri": "amqp://admin:password@127.0.0.1:20000/transportation_arm",
|
||||||
|
"src-queue": "TO_ARM",
|
||||||
|
"dest-protocol": "amqp091",
|
||||||
|
"dest-uri": "amqp://kz_istt:password@192.168.89.158:20000/transportation",
|
||||||
|
"dest-exchange": "swap_kz",
|
||||||
|
"dest-exchange-key": "KZ_ISTT",
|
||||||
|
"ack-mode": "on-confirm",
|
||||||
|
"publish-properties": {
|
||||||
|
"delivery_mode": 2
|
||||||
|
}
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
|
||||||
|
Для Кыргызстана (таможенная инфраструктура)
|
||||||
|
```sh
|
||||||
|
sudo rabbitmqctl set_parameter shovel kaz_to_kgz '{
|
||||||
|
"src-protocol": "amqp091",
|
||||||
|
"src-uri": "amqp://admin:paRabbit!@127.0.0.1:20000/transportation_kgz",
|
||||||
|
"src-queue": "TO_KGZ",
|
||||||
|
"dest-protocol": "amqp091",
|
||||||
|
"dest-uri": "amqp://kz_istt:uzZNYbVTElMDXnfwQx16@192.168.70.133:20000/transportation_kaz",
|
||||||
|
"dest-exchange": "swap",
|
||||||
|
"dest-exchange-key": "KAZ",
|
||||||
|
"ack-mode": "on-confirm",
|
||||||
|
"publish-properties": {
|
||||||
|
"delivery_mode": 2
|
||||||
|
}
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
Удалять так:
|
||||||
|
```sh
|
||||||
|
sudo rabbitmqctl clear_parameter shovel kaz_to_kgz
|
||||||
|
```
|
||||||
|
|
||||||
|
Для отправки из Киргизии нам то такие настройки:
|
||||||
|
```sh
|
||||||
|
sudo rabbitmqctl set_parameter shovel kgz_to_kaz '{
|
||||||
|
"src-protocol": "amqp091",
|
||||||
|
"src-uri": "amqp://admin:pfta2OFt@127.0.0.1:20000/transportation_kaz",
|
||||||
|
"src-queue": "TO_KAZ",
|
||||||
|
"dest-protocol": "amqp091",
|
||||||
|
"dest-uri": "amqp://kg_amap:qrd2fjEjkegdi7bfb@192.168.70.134:20000/transportation_kgz",
|
||||||
|
"dest-exchange": "swap",
|
||||||
|
"dest-exchange-key": "KGZ",
|
||||||
|
"ack-mode": "on-confirm",
|
||||||
|
"publish-properties": {
|
||||||
|
"delivery_mode": 2
|
||||||
|
}
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
|
||||||
|
Удалять так:
|
||||||
|
```sh
|
||||||
|
sudo rabbitmqctl clear_parameter shovel kgz_to_kaz
|
||||||
|
```
|
||||||
|
|
||||||
|
Чтобы проверить текущие параметры Shovel:
|
||||||
|
```sh
|
||||||
|
sudo rabbitmqctl list_parameters
|
||||||
|
```
|
||||||
|
А также можно взглянуть что создалось через WEB интерфейс
|
||||||
|
|
||||||
|
Не забывать что Exchange: swap должен быть не "direct" а как "topic" иначе маршрутизация не сработает.
|
||||||
|
|||||||
382
Ubuntu.md
382
Ubuntu.md
@ -2011,388 +2011,6 @@ restart: always: Гарантирует, что контейнер будет а
|
|||||||
|
|
||||||
Открываем: https://127.0.0.1:9443
|
Открываем: https://127.0.0.1:9443
|
||||||
После предложения задания пароля для пользователя admin задал такой пароль на дом компе: &b2C6nyN2,qUNM]
|
После предложения задания пароля для пользователя admin задал такой пароль на дом компе: &b2C6nyN2,qUNM]
|
||||||
****************************************************************************************************
|
|
||||||
Собственный DynDNS на Linux для observer.kz для начала устанавливаем BIND 9.13 and later по этому мануалу https://www.dmosk.ru/miniinstruktions.php?mini=bind-ubuntu и по этому для новой версии https://www.netss.by/?p=26
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install bind9 dnsutils
|
|
||||||
sudo apt-get install bind9utils
|
|
||||||
Добавляем сервис в автозапуск
|
|
||||||
systemctl enable bind9
|
|
||||||
Проверяем что сервис работает
|
|
||||||
nslookup dmosk.ru 127.0.0.1
|
|
||||||
Открываем настройки:
|
|
||||||
mcedit /etc/bind/named.conf.options
|
|
||||||
Для глобальных запросов добавляем строку: allow-query { any; };
|
|
||||||
Также добавляем в этот файл DNS сервера пересылки, на них будут перенаправляться запросы если локальный не содержит данных
|
|
||||||
//forwarders {
|
|
||||||
// 8.8.8.8;
|
|
||||||
// 8.8.4.4;
|
|
||||||
//};
|
|
||||||
Проверяем настройки командой (ответ должен быть пустым):
|
|
||||||
sudo named-checkconf
|
|
||||||
Перезагружаем:
|
|
||||||
sudo systemctl restart bind9
|
|
||||||
Проверяю версию BIND:
|
|
||||||
named -v
|
|
||||||
Выдало: BIND 9.16.1-Ubuntu (Stable Release) <id:d497c32>
|
|
||||||
Можно проверить какой IP выдаст на DNS запрос
|
|
||||||
dig locust.kz A
|
|
||||||
|
|
||||||
На этом базовая настройка закончена. Наш сервер готов принимать и отдавать запросы и работать, как кэширующий dns.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Далее создаём клиента согласно: https://help.ubuntu.ru/wiki/динамический_днс_своими_руками
|
|
||||||
|
|
||||||
Перейдем в него.
|
|
||||||
cd /etc/bind/
|
|
||||||
Генерируем пару ключь для обмена информацией между клиентом и сервером:
|
|
||||||
sudo tsig-keygen -a hmac-sha512 dirt.kz > dirt.kz.key
|
|
||||||
sudo tsig-keygen -a hmac-sha512 locust.kz > locust.kz.key
|
|
||||||
Для загрузки ключа добавляем его файл mcedit /etc/bind/named.conf строчку с указанием файла, где определен ключ.
|
|
||||||
include "/etc/bind/dirt.kz.key";
|
|
||||||
include "/etc/bind/locust.kz.key";
|
|
||||||
Следующим шагом необходимо в файл mcedit /etc/bind/named.conf.local прописать доменную зону, которой мы оперируем.
|
|
||||||
zone "dirt.kz" {
|
|
||||||
type master;
|
|
||||||
allow-update {key dirt.kz;};
|
|
||||||
file "/var/cache/bind/dirt.kz";
|
|
||||||
};
|
|
||||||
|
|
||||||
zone "locust.kz" {
|
|
||||||
type master;
|
|
||||||
allow-update {key locust.kz;};
|
|
||||||
file "/var/cache/bind/locust.kz";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
В файле "mcedit /var/cache/bind/dirt.kz" должны быть прописанны записи домена где:
|
|
||||||
В файле "mcedit /var/cache/bind/locust.kz" должны быть прописанны записи домена где:
|
|
||||||
|
|
||||||
Поле $ORIGIN для подставки имени в знак @, поэтому знак @ не используется просто так в тексте
|
|
||||||
Если используется символ @ то он заменяется на то что было прописанно в $ORIGIN смотреть в: https://help.dyn.com/how-to-format-a-zone-file/
|
|
||||||
SOA — Начало полномочий подробней смотри в https://k.psu.ru/wiki/BIND9_(методическое_пособие)#SOA
|
|
||||||
NS — Сервер имён
|
|
||||||
A — рекорд
|
|
||||||
MX — Почта для обмена
|
|
||||||
CN — Каноническое имя
|
|
||||||
PTR — указатель
|
|
||||||
И таким содержимым:
|
|
||||||
|
|
||||||
$ORIGIN dirt.kz
|
|
||||||
$TTL 604800
|
|
||||||
@ IN SOA bigfoottrade.kz. root.bigfoottrade.kz. (
|
|
||||||
8 ; Serial
|
|
||||||
604800 ; Refresh
|
|
||||||
86400 ; Retry
|
|
||||||
2419200 ; Expire
|
|
||||||
604800 ) ; Negative Cache TTL
|
|
||||||
;
|
|
||||||
@ IN NS bigfoottrade.kz.
|
|
||||||
|
|
||||||
Второй файл для locust.kz:
|
|
||||||
|
|
||||||
$ORIGIN .
|
|
||||||
$TTL 604800 ; 1 week
|
|
||||||
locust.kz IN SOA bigfoottrade.kz. irigm.mail.ru. (
|
|
||||||
134 ; serial
|
|
||||||
604800 ; refresh (1 week)
|
|
||||||
86400 ; retry (1 day)
|
|
||||||
1419200 ; expire (2 weeks 2 days 10 hours 13 minutes 20 seconds)
|
|
||||||
604800 ; minimum (1 week)
|
|
||||||
)
|
|
||||||
NS bigfoottrade.kz.
|
|
||||||
$TTL 3600 ; 1 hour
|
|
||||||
A 5.76.254.182
|
|
||||||
$ORIGIN locust.kz.
|
|
||||||
* A 127.0.0.1
|
|
||||||
|
|
||||||
|
|
||||||
Правлю права доступа:
|
|
||||||
sudo chown -R bind:bind /etc/bind
|
|
||||||
|
|
||||||
Если настройки были первоначальными то стоит удалить файл /var/cache/bind/locust.kz.jnl и переинициализировать его командой:
|
|
||||||
sudo rndc reconfig
|
|
||||||
Потом следует вызвать:
|
|
||||||
sudo systemctl restart bind9
|
|
||||||
Команда выше также переписывет накопившиеся данные из /var/cache/bind/locust.kz.jnl в /var/cache/bind/locust.kz так что после обновления если охото быстрей взглянуть на текстовое значение следует повторно вызвать эту команду
|
|
||||||
После настроек сервера перезагружаем его:
|
|
||||||
sudo named-checkconf
|
|
||||||
sudo rndc reload
|
|
||||||
sudo systemctl restart bind9
|
|
||||||
sudo rndc status
|
|
||||||
journalctl | grep bind
|
|
||||||
sudo journalctl -u bind9 -n 50
|
|
||||||
|
|
||||||
|
|
||||||
Создаю скрипт /etc/ddns/ddns.sh для обновления доменных зон удалённо с доступом по ключу:
|
|
||||||
|
|
||||||
Файл из примера:
|
|
||||||
#!/bin/bash
|
|
||||||
TTL=3600
|
|
||||||
SERVER=ns.dyndns.my
|
|
||||||
HOSTNAME=dhost.dyndns.my
|
|
||||||
ZONE=dyndns.my
|
|
||||||
KEYFILE=Kdyndns.my.+157+48025.private
|
|
||||||
new_ip_address=`curl http://dyndns.my/ip.php` #Этот файлик создадим позднее на сервере!
|
|
||||||
cd /etc/ddns
|
|
||||||
nsupdate -v -k $KEYFILE << EOF
|
|
||||||
server $SERVER
|
|
||||||
zone $ZONE
|
|
||||||
update delete $HOSTNAME A
|
|
||||||
update add $HOSTNAME $TTL A $new_ip_address
|
|
||||||
send
|
|
||||||
EOF
|
|
||||||
|
|
||||||
Мой модифицированный файл для обновления IP в Bind9 DNS сервису по созданному файлу ip.txt, файл ip.txt создаётся в PHP скрипте который описан ниже:
|
|
||||||
#!/bin/bash
|
|
||||||
TTL=3600
|
|
||||||
SERVER=127.0.0.1
|
|
||||||
HOSTNAME=*.dirt.kz
|
|
||||||
ZONE=dirt.kz
|
|
||||||
KEYFILE=/etc/bind/dirt.kz.key
|
|
||||||
|
|
||||||
new_ip_address=
|
|
||||||
FILE=/etc/ddns/ip.txt
|
|
||||||
if test -f "$FILE"; then
|
|
||||||
new_ip_address=`cat $FILE`
|
|
||||||
rm $FILE
|
|
||||||
fi
|
|
||||||
|
|
||||||
len=${#new_ip_address}
|
|
||||||
if [ $len -gt 3 ]
|
|
||||||
then
|
|
||||||
echo "New IP address = $new_ip_address"
|
|
||||||
else
|
|
||||||
echo "Not find IP address"
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd /etc/ddns
|
|
||||||
sudo nsupdate -v -k $KEYFILE << EOF
|
|
||||||
server $SERVER
|
|
||||||
zone $ZONE
|
|
||||||
update delete $HOSTNAME A
|
|
||||||
update add $HOSTNAME $TTL A $new_ip_address
|
|
||||||
update delete dirt.kz A
|
|
||||||
update add dirt.kz $TTL A $new_ip_address
|
|
||||||
send
|
|
||||||
EOF
|
|
||||||
echo "OK"
|
|
||||||
|
|
||||||
Так как PHP работает за HAProxy то немного модифицировал скрипт который сохраняет IP обратившегося клиента в файл, а именно использую "x-forwarded-for" для передачи IP адреса клиента:
|
|
||||||
<?php
|
|
||||||
|
|
||||||
echo '<pre>'; print_r(getallheaders()); echo '</pre>';
|
|
||||||
|
|
||||||
// PROBLEM IS each browser has different "x-forwarder-for" some "X-Forwarder-for" and some browser gave you 2x ip "x.x.x.x, x.x.x.x"
|
|
||||||
foreach ( getallheaders() as $k => $v) {
|
|
||||||
if ( strtolower($k) == 'x-forwarded-for' ) {
|
|
||||||
$tmp = explode(', ', $v);
|
|
||||||
if ( $tmp[count($tmp)-1] != '' )
|
|
||||||
$_SERVER['REMOTE_ADDR'] = $tmp[count($tmp)-1];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(isset($_GET["key"]) && $_GET["key"]=='4fygxNq539NFfUm6SOd2vn52GwL7o7NA'){
|
|
||||||
$myfile = fopen("/etc/ddns/ip.txt", "w");
|
|
||||||
fwrite($myfile, $_SERVER['REMOTE_ADDR']);
|
|
||||||
fclose($myfile);
|
|
||||||
}
|
|
||||||
|
|
||||||
echo $_SERVER['REMOTE_ADDR'];
|
|
||||||
|
|
||||||
?>
|
|
||||||
|
|
||||||
Проверяем что находит IP по доменному имени
|
|
||||||
nslookup dirt.kz 127.0.0.1
|
|
||||||
|
|
||||||
|
|
||||||
****************************************************************************************************
|
|
||||||
Установка сервиса обмена сообщениями RabbitMQ – менеджер сообщений (message broker), написан на Erlang, ближайший аналог в AWS – SQS. По документации из: https://rtfm.co.ua/ru/rabbitmq-zapusk-opisanie-primery/
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get dist-upgrade
|
|
||||||
sudo apt install rabbitmq-server
|
|
||||||
Посмотреть список используемых плагинов:
|
|
||||||
sudo rabbitmq-plugins list
|
|
||||||
Активируем плагин rabbitmq_management для наблюдения за системой по HTTP https://www.rabbitmq.com/management.html https://thewebland.net/development/devops/chast-3-interfejs-upravleniya-rabbitmq/#:~:text=RabbitMQ%20Management%20–%20это%20удобный%20интерфейс,и%20отправлять%20%2F%20получать%20сообщения%20вручную.
|
|
||||||
sudo rabbitmq-plugins enable rabbitmq_management
|
|
||||||
|
|
||||||
rabbitmq_management активирует поддержку API на порту 15672: http://192.168.0.144:15672 http://10.1.7.70:15672 http://192.168.0.83:15672
|
|
||||||
Но для активации нужно добавить пользователя, смотрим пользователей:
|
|
||||||
sudo rabbitmqctl list_users
|
|
||||||
sudo rabbitmqctl add_user admin paRabbit! или test test для локального тестового сервера
|
|
||||||
sudo rabbitmqctl set_user_tags admin administrator
|
|
||||||
sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
|
|
||||||
Также можно создать пользователя для публикации сообщений но уже это можно сделать через WEB интерфейс: producer lgGDWAJEwI для guest с паролем: efewG!4ev Александра: alex jefruf!43
|
|
||||||
|
|
||||||
Теперь можно логинется по test test поменять пароль можно: https://kb.vmware.com/s/article/323520#:~:text=Log%20in%20to%20the%20RabbitMQ,host%20where%20RabbitMQ%20is%20installed.
|
|
||||||
Или так можно поменять пароль: sudo rabbitmqctl change_password zenoss New-Password
|
|
||||||
producer: клиент, выполняющий отправку сообщения
|
|
||||||
queue: собственно очередь сообщений
|
|
||||||
consumer: клиент, получающий сообщения из очереди
|
|
||||||
exchange: получает сообщения от producer, и отправялет их в очереди в соответствии с его типом (см. тут https://www.rabbitmq.com/tutorials/tutorial-three-python.html)
|
|
||||||
|
|
||||||
Дальше можно пробовать отправлять данные в очередь используя допустим java библиотеку урок: https://www.youtube.com/watch?v=6lPK_LgTZ9Y
|
|
||||||
https://www.rabbitmq.com/devtools.html :
|
|
||||||
Создаю Maven проект в консоли:
|
|
||||||
cd O:\projects\Workspace_Java\
|
|
||||||
mvn archetype:generate -DgroupId=kz.istt.app -DartifactId=TransitToRabbitMQ -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
|
|
||||||
Открываю его в idea64 и добавляю в POM следующую зависемость из https://mvnrepository.com/artifact/com.rabbitmq/amqp-client:
|
|
||||||
<!-- https://mvnrepository.com/artifact/com.rabbitmq/amqp-client -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.rabbitmq</groupId>
|
|
||||||
<artifactId>amqp-client</artifactId>
|
|
||||||
<version>5.14.2</version>
|
|
||||||
</dependency>
|
|
||||||
Также поставил C:\Program Files\Java\jdk-14.0.2 а то не запускалось, также просит рут права для IntelliJ IDEA.
|
|
||||||
|
|
||||||
Урок создания maven проекта: https://devcolibri.com/unit/урок-1-подготовка-и-создание-maven-проекта/
|
|
||||||
или https://www.jetbrains.com/idea/guide/tutorials/working-with-maven/creating-a-project/
|
|
||||||
Добавил в POM файл:
|
|
||||||
<repositories>
|
|
||||||
<repository>
|
|
||||||
<name>RabbitMQ</name>
|
|
||||||
<url>https://repo1.maven.org/maven2/com/rabbitmq/amqp-client/5.16.0</url>
|
|
||||||
<id>com.rabbitmq</id>
|
|
||||||
<releases>
|
|
||||||
<enabled>false</enabled>
|
|
||||||
</releases>
|
|
||||||
<snapshots>
|
|
||||||
<enabled>true</enabled>
|
|
||||||
</snapshots>
|
|
||||||
</repository>
|
|
||||||
</repositories>
|
|
||||||
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.rabbitmq</groupId>
|
|
||||||
<artifactId>amqp-client</artifactId>
|
|
||||||
<version>5.16.0</version>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Перезагружаем:
|
|
||||||
sudo service rabbitmq-server restart
|
|
||||||
|
|
||||||
****************************************************************************************************
|
|
||||||
Установка Shovels Plugin для RabbitMQ (лопата) по мотивам из: https://www.rabbitmq.com/docs/shovel
|
|
||||||
|
|
||||||
Активирую плагин командой:
|
|
||||||
sudo rabbitmq-plugins enable rabbitmq_shovel
|
|
||||||
sudo rabbitmq-plugins enable rabbitmq_shovel_management
|
|
||||||
|
|
||||||
Настраиваю Shovels Dynamic плагин в RabbitMQ через командную строку:
|
|
||||||
|
|
||||||
sudo rabbitmqctl set_parameter shovel kaz_to_kaz '{
|
|
||||||
"src-protocol": "amqp091",
|
|
||||||
"src-uri": "amqp://admin:paRabbit!@127.0.0.1:20000/transportation",
|
|
||||||
"src-queue": "TO_KAZ",
|
|
||||||
"dest-protocol": "amqp091",
|
|
||||||
"dest-uri": "amqp://admin:paRabbit!@10.101.1.11:20000/playground",
|
|
||||||
"dest-exchange": "swap",
|
|
||||||
"dest-exchange-key": ".KAZ.",
|
|
||||||
"ack-mode": "on-confirm",
|
|
||||||
"publish-properties": {
|
|
||||||
"delivery_mode": 2
|
|
||||||
}
|
|
||||||
}'
|
|
||||||
|
|
||||||
Для Росии такие настройки:
|
|
||||||
|
|
||||||
sudo rabbitmqctl set_parameter shovel kaz_to_rus '{
|
|
||||||
"src-protocol": "amqp091",
|
|
||||||
"src-uri": "amqp://admin:paRabbit!@127.0.0.1:20000/transportation_rus",
|
|
||||||
"src-queue": "TO_RUS",
|
|
||||||
"dest-protocol": "amqp091",
|
|
||||||
"dest-uri": "amqp://iktt_kaz:jkrjHL7xj7PrW1D@192.168.89.133:20000/playground",
|
|
||||||
"dest-exchange": "swap",
|
|
||||||
"dest-exchange-key": "KZ",
|
|
||||||
"ack-mode": "on-confirm",
|
|
||||||
"publish-properties": {
|
|
||||||
"delivery_mode": 2
|
|
||||||
}
|
|
||||||
}'
|
|
||||||
|
|
||||||
Для Беларусии такие настройки:
|
|
||||||
|
|
||||||
sudo rabbitmqctl set_parameter shovel kaz_to_blr '{
|
|
||||||
"src-protocol": "amqp091",
|
|
||||||
"src-uri": "amqp://admin:paRabbit!@127.0.0.1:20000/transportation_blr",
|
|
||||||
"src-queue": "TO_BLR",
|
|
||||||
"dest-protocol": "amqp091",
|
|
||||||
"dest-uri": "amqp://KZ_IKTT:DK34xDNlZQfQ551k@192.168.90.133:20000/plumber",
|
|
||||||
"dest-exchange": "eec.swap",
|
|
||||||
"dest-exchange-key": "KZ",
|
|
||||||
"ack-mode": "on-confirm",
|
|
||||||
"publish-properties": {
|
|
||||||
"delivery_mode": 2
|
|
||||||
}
|
|
||||||
}'
|
|
||||||
|
|
||||||
Для Армении такие настройки:
|
|
||||||
|
|
||||||
sudo rabbitmqctl set_parameter shovel kaz_to_arm '{
|
|
||||||
"src-protocol": "amqp091",
|
|
||||||
"src-uri": "amqp://admin:password@127.0.0.1:20000/transportation_arm",
|
|
||||||
"src-queue": "TO_ARM",
|
|
||||||
"dest-protocol": "amqp091",
|
|
||||||
"dest-uri": "amqp://kz_istt:password@192.168.89.158:20000/transportation",
|
|
||||||
"dest-exchange": "swap_kz",
|
|
||||||
"dest-exchange-key": "KZ_ISTT",
|
|
||||||
"ack-mode": "on-confirm",
|
|
||||||
"publish-properties": {
|
|
||||||
"delivery_mode": 2
|
|
||||||
}
|
|
||||||
}'
|
|
||||||
|
|
||||||
Для Кыргызстана (таможенная инфраструктура)
|
|
||||||
|
|
||||||
sudo rabbitmqctl set_parameter shovel kaz_to_kgz '{
|
|
||||||
"src-protocol": "amqp091",
|
|
||||||
"src-uri": "amqp://admin:paRabbit!@127.0.0.1:20000/transportation_kgz",
|
|
||||||
"src-queue": "TO_KGZ",
|
|
||||||
"dest-protocol": "amqp091",
|
|
||||||
"dest-uri": "amqp://kz_istt:uzZNYbVTElMDXnfwQx16@192.168.70.133:20000/transportation_kaz",
|
|
||||||
"dest-exchange": "swap",
|
|
||||||
"dest-exchange-key": "KAZ",
|
|
||||||
"ack-mode": "on-confirm",
|
|
||||||
"publish-properties": {
|
|
||||||
"delivery_mode": 2
|
|
||||||
}
|
|
||||||
}'
|
|
||||||
|
|
||||||
Удалять так:
|
|
||||||
sudo rabbitmqctl clear_parameter shovel kaz_to_kgz
|
|
||||||
|
|
||||||
Для отправки из Киргизии нам то такие настройки:
|
|
||||||
|
|
||||||
sudo rabbitmqctl set_parameter shovel kgz_to_kaz '{
|
|
||||||
"src-protocol": "amqp091",
|
|
||||||
"src-uri": "amqp://admin:pfta2OFt@127.0.0.1:20000/transportation_kaz",
|
|
||||||
"src-queue": "TO_KAZ",
|
|
||||||
"dest-protocol": "amqp091",
|
|
||||||
"dest-uri": "amqp://kg_amap:qrd2fjEjkegdi7bfb@192.168.70.134:20000/transportation_kgz",
|
|
||||||
"dest-exchange": "swap",
|
|
||||||
"dest-exchange-key": "KGZ",
|
|
||||||
"ack-mode": "on-confirm",
|
|
||||||
"publish-properties": {
|
|
||||||
"delivery_mode": 2
|
|
||||||
}
|
|
||||||
}'
|
|
||||||
|
|
||||||
Удалять так:
|
|
||||||
sudo rabbitmqctl clear_parameter shovel kgz_to_kaz
|
|
||||||
|
|
||||||
|
|
||||||
Чтобы проверить текущие параметры Shovel:
|
|
||||||
sudo rabbitmqctl list_parameters
|
|
||||||
А также можно взглянуть что создалось через WEB интерфейс
|
|
||||||
|
|
||||||
Не забывать что Exchange: swap должен быть не "direct" а как "topic" иначе маршрутизация не сработает.
|
|
||||||
|
|
||||||
****************************************************************************************************
|
****************************************************************************************************
|
||||||
Установка wxWidgets на Linux mint, скачал 3.0.5 по инструкции из https://www.binarytides.com/install-wxwidgets-ubuntu/
|
Установка wxWidgets на Linux mint, скачал 3.0.5 по инструкции из https://www.binarytides.com/install-wxwidgets-ubuntu/
|
||||||
|
|||||||
Reference in New Issue
Block a user