Если вы когда-нибудь задавались вопросом о том, как работает автоматический переход на зимнее/летнее время либо задумывались, как компьютер берет из интернета информацию о точном времени, настраивая внутренние часы, то сегодняшняя статья — для вас. А еще для тех, кому необходимо настроить синхронизацию часов на сервере, работающем под управлением операционной системы Ubuntu 18.04, и на компьютере-клиенте, где установлен аналогичный дистрибутив Linux. Читать
Архив рубрики: Публикации
Выбор конфигурации VPN сервера
Приняв решение поддерживать UDP- и TCP-клиентов системный администратор неизбежно приходит ко второму вопросу: bridge-server или P2P-сервер. Напомним:
1. В режиме bridge-сервер используется виртуальный L2-интерфейс: tap. В этом случае VPN-клиент – и возможно его внутренняя сеть – становятся частью поднимаемой вами VPN-сети. К вам в сеть пойдут ARP-трафик и broadcast-пакеты из сети клиента. Если последняя собрана на Windows, то широковещательный трафик будет изрядным. А если в сети клиента заведется доморощенный хакер, то сеть ваша и сети других ваших клиентов могут стать мишенью атак. Ибо L2-трафик предоставляет для этого больше возможностей; Читать
Чем CRM полезна для бизнеса?
Разработка эффективной маркетинговой стратегии требует понимания того, кто ваши клиенты, чего они хотят от вашего бренда и на какие типы маркетингового контента они отвечают. Вот почему необходимы инструменты управления взаимоотношениями с клиентами (CRM) для интернет-магазина https://www.retailcrm.ru. Эти приложения позволяют вам просматривать взаимодействия с клиентами, управлять данными клиентов и определять области, в которых необходимо улучшить ваши отношения с клиентами.
Компилируя данные, такие как история покупок, шаблоны ключевых слов, демографические данные о клиентах и другую связанную информацию, ваша организация может получить существенную выгоду следующими ключевыми способами.
Как CRM помогает стимулировать покупки

Цифровые маркетинговые кампании часто предназначены для увеличения продаж электронной коммерции. Статистика показывает, что большинство американцев обычно покупают товары онлайн в эти дни. Тем не менее, похоже, что их покупательские привычки включают исследование продукта, сравнение цен и принятие аналогичных шагов перед совершением покупки.
Другими словами, просто потому, что покупатель проявляет интерес к одному из ваших продуктов, вероятность того, что он не закажет его сразу, высока. Статистические данные фактически указывают на то, что большинство клиентов электронной коммерции редко проходят первый этап процесса оформления заказа.
С помощью приложений CRM вы можете определить, когда клиент исследовал один из ваших продуктов, что позволяет размещать целевую рекламу в социальных сетях и на других платформах для поддержания их интереса. Интернет полон отвлекающего контента, и вы хотите предпринять шаги, чтобы напомнить клиенту, что он ищет один из ваших продуктов или услуг. Инструменты CRM позволяют реализовать маркетинговую стратегию, которая значительно облегчает достижение этой цели.
CRM помогает вам адаптировать вашу стратегию

Различные клиенты подвергаются различным формам маркетинга. Например, некоторые клиенты чаще всего сталкиваются с маркетинговым контентом через социальные сети. Другие могут подписаться на ваш список рассылки, в то время как другие по-прежнему с большей вероятностью найдут релевантный маркетинговый контент, когда будут выполнять соответствующие онлайн-поиски.
Инструменты CRM позволяют понять, как каждый отдельный клиент сталкивается с вашей маркетинговой кампанией. Это позволяет вам ориентировать каждого потенциального клиента на маркетинговый контент, предназначенный для его достижения.
Это важно. Используя эти активы, вы можете персонализировать маркетинговую стратегию, которая приводит к увеличению продаж и повышению лояльности к бренду .
Приложения CRM снижают затраты
Эффективная маркетинговая кампания обеспечивает высокую отдачу от инвестиций. Возможно, вы захотите достичь определенных целей, таких как увеличение продаж или повышение узнаваемости бренда, но вы также хотите быть уверены, что доход от кампании превышает ее стоимость.
Приложения CRM сокращают маркетинговые расходы, снимая с себя большую часть работы, которую должны были бы выполнять другие сотрудники. С инструментами, разработанными специально для управления и анализа данных клиентов, ваша команда может сосредоточиться на других задачах. Это приводит к более эффективному использованию времени и может даже сократить необходимость в найме дополнительного персонала.
Но самое главное, инструменты CRM дают маркетологам более глубокое понимание своих клиентов. Невозможно определить полную ценность чего-то такого полезного.
Рекомендации по файлу robots.txt для WordPress
Файл robots.txt для wordpress это свод правил по которым поисковики должны индексировать сайт. Управляя файлом robots.txt можно регулировать индексацию страниц сайта, закрывая или открывая поисковикам нужные разделы или страницы сайта. Собрали некоторые рекомендации от ведущих поисковых систем.
Установка и настройка Postfix как релей yandex
В статье будет описан способ установки Postfix и настройки его как relay для Яндекс 360 Бизнес . Думаю что вы уже добавили свою почту на yandex, если нет то Вам сюда.
Помните что почта для вашего домена теперь платная. Нужно бут оплатить хотя бы месяц подписки.
Установка необходимых пакетов
sudo apt-get install postfix mutt
Настройка PostFix
Для настройки PostFix, как релей yandex, откроем файл /etc/postfix/main.cf для редактирования:
sudo nano /etc/postfix/main.cf
Удалим все его содержимое и вставим следующий текст
###############################
#### Основные параметры
smtpd_banner = $myhostname ESMTP server
biff = no
#### TLS параметры
smtpd_use_tls=yes
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_tls_CAfile = /etc/postfix/yandex.crt
#### информация о включении SSL в SMTP-клиенте.
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
relayhost =
#### SASL параметры
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/private/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_type = cyrus
smtp_sasl_mechanism_filter = login
smtp_sender_dependent_authentication = yes
sender_dependent_relayhost_maps = hash:/etc/postfix/private/sender_relay
sender_canonical_maps = hash:/etc/postfix/private/canonical
###########################################################
## Ограничения и запреты
# Запретить ETRN команду
smtpd_etrn_restrictions = reject
# Запретить VRFY команду
disable_vrfy_command = yes
# Требовать наличие EHLO (HELO) команды
smtpd_helo_required = yes
# Всегда отклонять письма для всех неизвестных ящиков
smtpd_reject_unlisted_recipient = yes
# Ограничения на клиента - принимаем только если есть PTR (не жёсткий запрет)
smtpd_client_restrictions =
permit_mynetworks
reject_unknown_reverse_client_hostname
permit
# Ограничения на HELO. Отклоняем письма от всех хостов, которые даже представиться не могут
smtpd_helo_restrictions =
permit_mynetworks
reject_invalid_helo_hostname
reject_non_fqdn_helo_hostname
permit
# Ограничения на MAIL FROM. Отклоняем все письма, отправитель которых предоставил невалидный адрес
smtpd_sender_restrictions =
reject_non_fqdn_sender
reject_unknown_sender_domain
permit
# Ограничения на RCPT TO. Принимаем только для известных нам адресов
smtpd_recipient_restrictions =
reject_non_fqdn_recipient
reject_unlisted_recipient
permit_mynetworks
reject_unauth_destination
permit
# Ограничения на данные. Не принимаем в случае некорректной передачи
smtpd_data_restrictions =
reject_unauth_pipelining
Т.к. взаимодействие с сервером идёт по TLS, не помешает скачать сертификат SMTP-сервера.
Добыть сертификат можно вот так:
openssl s_client -starttls smtp -crlf -connect smtp.yandex.ru:25
Из вывода нам нужно что-то вроде такого:
-----BEGIN CERTIFICATE-----
MIIGazCCBVOgAwIBAgIQcUU9mJXW4OUs5Gf0JfLtsjANBgkqhkiG9w0BAQsFADBf
MQswCQYDVQQGEwJSVTETMBEGA1UEChMKWWFuZGV4IExMQzEnMCUGA1UECxMeWWFu
ZGV4IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRIwEAYDVQQDEwlZYW5kZXggQ0Ew
HhcNMTcxMDExMTMyNzI2WhcNMTkxMDExMTMyNzI2WjB3MQswCQYDVQQGEwJSVTET
MBEGA1UECgwKWWFuZGV4IExMQzEMMAoGA1UECwwDSVRPMQ8wDQYDVQQHDAZNb3Nj
b3cxGzAZBgNVBAgMElJ1c3NpYW4gRmVkZXJhdGlvbjEXMBUGA1UEAwwOc210cC55
YW5kZXgucnUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCTI5WsplxQ
g7gZDCEmnbxHI0a0/cXtx0+Zwz7Y9TSFy0NI/SzYC+bgukWvsnvuIheM3yKpJ+cU
Ss2G+K3nKOYDNJUezzziirhu3UVC/tZLD39orKKGAa6qmx5Dv2Z7/ynkOfKZjmXB
t9HemoCItyM62YTD8AQQmkMCB4Kue+j2wm8fHxPtgIYuQzEtD9xCU9vANj6imgaM
IlrM0cegknd6sWBDR074pDsBEUjg2GsNSqAo2nD0tvOGCFZ2qkIMLIjZgsCmtain
nM7Xt+THw8ApMu9BVsgTyXMTfVC0CzfB1HbId1UzqIbILprB3iLrxCHn3K1F68ok
WfBXBDY4gphTAgMBAAGjggMJMIIDBTAMBgNVHRMBAf8EAjAAMGkGA1UdHwRiMGAw
L6AtoCuGKWh0dHA6Ly9jcmxzLnlhbmRleC5uZXQvY2VydHVtL3ljYXNoYTIuY3Js
MC2gK6AphidodHRwOi8veWFuZGV4LmNybC5jZXJ0dW0ucGwveWNhc2hhMi5jcmww
cQYIKwYBBQUHAQEEZTBjMCwGCCsGAQUFBzABhiBodHRwOi8veWFuZGV4Lm9jc3At
cmVzcG9uZGVyLmNvbTAzBggrBgEFBQcwAoYnaHR0cDovL3JlcG9zaXRvcnkuY2Vy
dHVtLnBsL3ljYXNoYTIuY2VyMB8GA1UdIwQYMBaAFDdc4xngso6hqE7Sz6vQ3OML
XDVNMB0GA1UdDgQWBBTC1Kbatmr8y04cui/VCaPVq1mgKzAOBgNVHQ8BAf8EBAMC
BaAwggEXBgNVHSAEggEOMIIBCjCCAQYGDCqEaAGG9ncCBQEKAjCB9TCB8gYIKwYB
BQUHAgIwgeUwIBYZVW5pemV0byBUZWNobm9sb2dpZXMgUy5BLjADAgECGoHAVXNh
Z2Ugb2YgdGhpcyBjZXJ0aWZpY2F0ZSBpcyBzdHJpY3RseSBzdWJqZWN0ZWQgdG8g
dGhlIENFUlRVTSBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVudCAoQ1BT
KSBpbmNvcnBvcmF0ZWQgYnkgcmVmZXJlbmNlIGhlcmVpbiBhbmQgaW4gdGhlIHJl
cG9zaXRvcnkgYXQgaHR0cHM6Ly93d3cuY2VydHVtLnBsL3JlcG9zaXRvcnkuMB0G
A1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjARBglghkgBhvhCAQEEBAMCBsAw
egYDVR0RBHMwcYIOc210cC55YW5kZXgucnWCDnNtdHAueWFuZGV4LmJ5gg5zbXRw
LnlhbmRleC5reoIPc210cC55YW5kZXguY29tgg5zbXRwLnlhbmRleC51YYISc210
cC55YW5kZXguY29tLnRyggpzbXRwLnlhLnJ1MA0GCSqGSIb3DQEBCwUAA4IBAQA1
GjyKSYMgaRVLGd4EWtB3oTkybDu5QrUXt/eoZiquzUqZwk7x9FRsEEirawKsrSS6
FXcliRD7xcXneROVDZK1a4ur6974vn742B/lOx9T/7+6a8XQo4jz191zZWS3J47G
dSvkMZPSdsZPxn7cDbAymFP4yw3b/aJJBFarpYTUixvRXZardO93VAFx157pCt/8
3dN7jLWyYVWBvZh93JioukAu9uDt7Nzuq9XhTBLUzLnFFi4vXVsssKk7h3X2sMNU
kZ3EPMAOSsvl9XY5RHZJs7BZubvGgnDxxGFfziP1XnTbL4MRCAXbdhwx3nmnQ3yZ
nRG0DfdqYIuPGApFORYe
-----END CERTIFICATE-----
..и сохранить в файл (в моём случае /etc/postfix/yandex.crt).
sudo nano /etc/postfix/yandex.crt
Далее необходимо создать папку /etc/postfix/private
sudo mkdir /etc/postfix/private
Перейдем в папку и создаем три файла для Postfix:
cd /etc/postfix/private && sudo touch canonical sender_relay sasl_passwd
Откроем файл canonical и добавим следующий текст:
sudo nano canonical
Содержимое:
@yandex.ru user@yandex.ru
где
user@yandex.ru – Ваша почта на Яндексе
Далее откроем файл sender_relay:
sudo nano sender_relay
Содержимое:
@yandex.ru smtp.yandex.ru
И наконец:
sudo nano sasl_passwd
С содержимым:
[smtp.yandex.ru] user@yandex.ru:password
где
user@yandex.ru – Ваша почта на Яндексе,
password – Ваш пароль от ящика.
Запускаем созданные файлы в работу:
sudo postmap /etc/postfix/private/*
Также необходимо создать файл aliases:
sudo nano /etc/aliases
В него необходимо занести записи сопоставлений пользователей и почты для них. У меня в нем находятся следующие записи:
postmaster: root
root: user@ваша-почта-на-яндекс.ru
Данная запись будет отправлять всю почту предназначенную для пользователя root на вашу почту от яндекса.
Чтобы изменения вступили в силу, необходимо обновить базу алиасов командой:
cd /etc && sudo newaliases
Перезапускаем PostFix:
sudo service postfix restart
Отправляем почту
Все, можно проверять работу с помощью, например, mutt. Отправим тестовое сообщение на наш e-mail, но на другой почтовый сервер. Что-бы не было локального заворота на свою же почту.
echo "test" | mutt -s "test" user@mail.ru
user@mail.ru – ваш яшик на mail.ru
Чтобы отправить файл, надо добавить ключ -a затем сам файл:
echo "test" | mutt -s "test" user@yandex.ru -a /home/user/file.txt
Проверить настройки можно также вот такой командой (без установки mutt)
echo test | sendmail -v почта@куда_отсылаем
Если что-то не получается, курим логи:
tail -f /var/log/mail.log
[endtxt]
RSS
Настройка сетевого моста в Ubuntu Server
Сегодня рассмотрим пример по Настройки сетевого моста в Ubuntu Server 18.04/20.04 LTS при помощи утилиты Netplan.
Обновление системы
Для начала давайте обновим систему, для этого в терминале набираем:
sudo apt update && sudo apt dist-upgrade -y
После смотрим какие интерфейсы у нас присутствуют в системе:
ifconfig -a
У меня имеются три сетевых интерфейса: enp0s3, enp0s8 и enp0s9.
enp0s3 − смотрит в интернет;
enp0s8 и enp0s9 − смотрят в локальную сеть 1 и 2 соответственно
Настройка сетевого моста в Ubuntu Server
Открываем на редактирование файл 50-cloud-init.yaml расположенный в /etc/netplan
sudo nano /etc/netplan/50-cloud-init.yaml
И вносим в него изменения. Вот пример моего файла.
Не забываем, что файл теперь чувствителен к лишним пробелам и табуляциям
Пример:
network:
ethernets:
enp0s3:
addresses: []
dhcp4: true
optional: true
enp0s8:
addresses: []
dhcp4: false
enp0s9:
addresses: []
dhcp4: false
bridges:
br0:
interfaces: [enp0s8,enp0s9]
addresses:
- 10.10.10.1/24
dhcp4: false
nameservers:
addresses:
- 10.10.10.1
- 8.8.8.8
search:
- dom
- lan
routes:
- to: 10.5.7.0/24
via: 10.5.5.1
metric: 3
optional: true
version: 2
IP адреса меняем на свои, а также названия интерфейсов
Также блок routes можете удалить, я привел его для общего понимания настройки сети в ubuntu server 18.04/20.04.
Он необходим для того, чтобы настроить маршрутизацию. Например: имеется сеть 10.5.7.0 на сервере, к которому подключается мой сервер через интерфейс enp0s3 или же у вас в локальной сети имеется дополнительные сервера, то прописав данную конфигурацию наш сервер будет знать о сети 10.5.7.0 и пакеты из сети 10.10.10.0 смогут попасть в сеть 10.5.7.0 через сервер с IP адресом 10.5.5.1
После внесения изменений ваш конфигурационные файл можно протестировать следующей командой:
sudo netplan try
Если все отлично, то через 120 секунд конфигурация применится автоматом. Убедимся, что все в порядке.
ifconfig
У меня вывод вот такой:
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.10.10.1 netmask 255.255.255.0 broadcast 10.10.10.255
inet6 fe80::d9:a3ff:fe18:84ed prefixlen 64 scopeid 0x20<link>
ether 02:d9:a3:18:84:ed txqueuelen 1000 (Ethernet)
RX packets 422615588 bytes 24951054868 (24.9 GB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 66 bytes 5136 (5.1 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.5.5.41 netmask 255.255.255.0 broadcast 10.5.5.255
inet6 fe80::a00:27ff:fef4:9314 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:f4:93:14 txqueuelen 1000 (Ethernet)
RX packets 2763 bytes 578556 (578.5 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1549 bytes 640356 (640.3 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 08:00:27:06:d2:9d txqueuelen 1000 (Ethernet)
RX packets 211366705 bytes 15438178070 (15.4 GB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 211248954 bytes 15429500456 (15.4 GB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s9: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 08:00:27:1f:b2:78 txqueuelen 1000 (Ethernet)
RX packets 211248885 bytes 15429495190 (15.4 GB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 211366652 bytes 15438174160 (15.4 GB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 538 bytes 35601 (35.6 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 538 bytes 35601 (35.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Как видим все не так уж и трудно 🙂
[endtxt]
RSS