Инструменты пользователя

Инструменты сайта


fedora:020-network

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
fedora:020-network [09.11.2025 20:46:03] – [Настройка почтового клиента POP3/SMTP Thunderbird 102] Oleg Kochkinfedora:020-network [09.11.2026 10:52:18] (текущий) – [Вывести параметры, получаемые клиентом от dhcp сервера] Oleg Kochkin
Строка 1: Строка 1:
 ====== Сеть ====== ====== Сеть ======
-===== Postfix + Dovecot + RoundCube (Fedora 43) ===== +===== Вывести параметры, получаемые клиентом от dhcp сервера ===== 
-Цель - запустить почтовый сервер со следующими возможностями: +  nmcli -f dhcp4 -t con show eth0
-  * Приём почты для разных виртуальных доменов и их алиасов +
-  * Создание виртуальных пользователей и их алиасов +
-  * Получение почты по POP3 +
-  * Доступ к ящикам посредством WEB +
-  * Отсылка почты на серверы, не требующие проверки SPF/DKIM +
-  * SPF/DKIM не рассматривается+
  
-В основном, [[https://www.server-world.info/en/note?os=Fedora_38&p=mail|отсюда]] +===== Отправка сообщения пользователю "телеграм" посредством бота =====
- +
-Установка: +
-  dnf install postfix dovecot +
-Создание пользователя и хранилища виртуальных доменов и пользователей: +
-  useradd -d /var/lib/vmail --uid 20000 --shell /sbin/nologin vmail +
- +
-==== Postfix (SMTP) ==== +
-=== /etc/postfix/main.cf === +
-Изменить:\\ +
-Разрешить внешние соединения: +
-  inet_interfaces = all +
-Оставить только ipv4: +
-  inet_protocols = ipv4 +
-Если параметр просто закомментировать, виртуальные домены работать не будут, т.к. Postfix использует значение по умолчанию: +
-  mydestination = +
-Хранилища виртуальных доменов и пользователей: +
-  home_mailbox = /var/lib/vmail/%d/%n/Maildir +
- +
-Добавить:\\ +
-Обратная DNS запись для текущего внешнего реального IP адреса. Т.к. используется динамический адрес, то используется скрипт для замены обратного адреса в main.cf после смены IP. Данная опция необязательна: +
-  rDNS = pat-31-128-130-116.pool.powernet.com.ru. +
-  smtpd_banner = $rDNS ESMTP +
-Включение TLS/SSL: +
-  smtpd_use_tls = yes +
-  smtp_tls_mandatory_protocols = !SSLv2, !SSLv3 +
-  smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3 +
-  smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache +
-Максимальный размер письма - 50 Мб: +
-  message_size_limit = 51200000 +
-Возможно, необязательные опции: +
-  disable_vrfy_command = yes +
-  smtpd_helo_required = yes +
-Включение SMTP аутентификации через dovecot: +
-  # SMTP-Auth settings +
-  smtpd_sasl_type = dovecot +
-  smtpd_sasl_path = private/auth +
-  smtpd_sasl_auth_enable = yes +
-  smtpd_sasl_security_options = noanonymous +
-  smtpd_sasl_local_domain = $myhostname +
-  smtpd_recipient_restrictions = permit_mynetworks, permit_auth_destination, permit_sasl_authenticated, reject +
-Виртуальные домены, ящики и алиасы: +
-  # Virtual domains & mailboxes +
-Перечень виртуальных доменов: +
-  virtual_mailbox_domains = homeserver.ok kochkin.mooo.com kochkin.tk +
-Хранилища виртуальных доменов и пользователей: +
-  virtual_mailbox_base = /var/lib/vmail +
-Файл алиасов почтовых ящиков: +
-  virtual_mailbox_maps = hash:/etc/postfix/virtual-mailbox +
-Файл алиасов доменов: +
-  virtual_alias_maps = hash:/etc/postfix/virtual +
-  virtual_uid_maps = static:20000 +
-  virtual_gid_maps = static:20000 +
- +
-=== /etc/postfix/master.cf === +
-Раскоментировать: +
-  submission inet n       -       n       -       -       smtpd +
-    -o syslog_name=postfix/submission +
-    -o smtpd_sasl_auth_enable=yes +
-Добавить: +
-  smtps     inet  n       -       n       -       -       smtpd +
-    -o syslog_name=postfix/smtps +
-    -o smtpd_tls_wrappermode=yes +
-    -o smtpd_sasl_auth_enable=yes +
- +
-=== /etc/postfix/virtual === +
-Основной домен: kochkin.tk, основной почтовый ящик: postmaster@kochkin.tk +
-<code> +
-# После правки, запустить: +
-# postmap /etc/postfix/virtual +
- +
-# Алиасы для доменов +
-@homeserver.ok      @kochkin.tk +
-@kochkin.mooo.com   @kochkin.tk +
- +
-# Почту ко всем неизвестным +
-@kochkin.tk      postmaster@kochkin.tk +
-</code> +
- +
-=== /etc/postfix/virtual-mailbox === +
-<code> +
-# create new +
-# user mailbox +
- +
-postmaster@kochkin.tk   kochkin.tk/postmaster/Maildir/ +
- +
-# После правки запустить: +
-# postmap /etc/postfix/virtual-mailbox +
-</code> +
- +
-==== /etc/postfix/postfix-rdns ====+
 <code> <code>
 #!/bin/bash #!/bin/bash
  
-# Заменяет значение обратной DNS записи в конфигурации Postfix. Запускать после смены реального динамического IP.+# Прокси для обходы цензорного фильтра провайдера 
 +Proxy="--socks5 127.0.0.1:2225" 
 +# ID пользователя-получателя. 
 +ReciverID="8880712465" 
 +# Токен бота. Получать при создании бота посредством системного бота @BotFather 
 +BotToken="8633691455:AAFeC5abGeGdwtVn3UM-crsilgsTP3-rswK" 
 +# Сообщение - параметр при запуске скрипта 
 +Mess="${1}"
  
-CF=/etc/postfix/main.cf +curl -s ${Proxy} --header 'Content-Type: application/json' --request 'POST' \ 
-Prev=$(postconf rDNS | cut -d" " -f3) +  --data '{"chat_id":"'${ReciverID}'","text":"'"${Mess}"'"}' \ 
-IP=$(curl --retry 10 --retry-delay 1 --retry-max-time 15 -s http://ifconfig.io) +  "https://api.telegram.org/bot"${BotToken}"/sendMessage"
-if [[ $IP =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]];then +
-  Current=$(dig +short -x $IP) +
-  if [[ $Current != $Prev ]];then +
-    cp $CF $CF-$(date +%y%m%d-%H%M%S) +
-    echo "Change:" +
-    postconf rDNS +
-    sed -i "s/^rDNS = .*/rDNS = $Current/" $CF +
-    systemctl reload postfix +
-    echo "to:" +
-    postconf rDNS +
-  fi +
-fi+
 </code> </code>
 +Про то, как узнать ID пользователя можно узнать [[https://habr.com/ru/companies/amvera/articles/996686/|здесь]].
  
-==== Dovecot (POP3, IMAP) ==== +===== Запрос IP от DNS сервера через TLS ===== 
-<html><details><summary>Устарело (конфиг версии 2.3.xx)</summary></html> +  dig @8.8.8.8 kochkin.tk +tls +short | head -n 1 
-/etc/dovecot/conf.d/10-auth.conf:\\ +Возвращает IP (или первый IP из выдачи) или пустую строку.\\ 
-Закомментировать: +В отличии от команды host не возвращает код ошибки при отсутствии записи, поэтому, необходима проверка результата на пустую строку.
-  # !include auth-system.conf.ext +
-Раскомментировать: +
-  !include auth-passwdfile.conf.ext +
-  !include auth-static.conf.ext +
- +
-/etc/dovecot/conf.d/10-mail.conf:\\ +
-Изменить: +
-  mail_location = maildir:/var/lib/vmail/%d/%n/Maildir +
-/etc/dovecot/conf.d/auth-static.conf.ext: +
-Раскомментировать и указать путь к доменам/ящикам:\\ +
-  userdb { +
-    driver = static +
-    args = uid=vmail gid=vmail home=/var/lib/vmail/%d/%n +
-  } +
-/etc/dovecot/dovecot.conf:\\ +
-Раскомментировать и слушать только ipv4: +
-  listen = * +
-<html></details></html> +
- +
-=== /etc/dovecot/dovecot.conf версии 2.4.1-4 === +
- +
-Забудьте все предыдущие конфиги для dovecot. С версии 2.4 всё изменилось и несовместимо с предыдущими версиями.\\ +
-Не удалось запустить dovecot с ранее отключенным протоколом ipv6 в ядре. Пришлось его включить. +
- +
-<code> +
-# doveadm config +
- +
-# 2.4.1-4 (7d8c0e5759): /etc/dovecot/dovecot.conf +
-# OS: Linux 6.17.6-300.fc43.x86_64 x86_64 Fedora release 43 (Forty Three)  +
-# Hostname: homeserver.ok +
-dovecot_config_version = 2.4.1 +
-dovecot_storage_version = 2.4.1 +
-mail_driver = maildir +
-mail_gid = vmail +
-mail_home = /var/lib/vmail/%{user|domain}/%{user|username} +
-mail_path = %{home}/Maildir +
-mail_uid = vmail +
-protocols { +
-  imap = yes +
-  lmtp = yes +
-  pop3 = yes +
-} +
-ssl = required +
-ssl_cipher_list = PROFILE=SYSTEM +
-namespace inbox { +
-  inbox = yes +
-  separator = / +
-} +
-ssl_server { +
-  cert_file = /etc/pki/dovecot/certs/dovecot.pem +
-  key_file = /etc/pki/dovecot/private/dovecot.pem +
-} +
-passdb passwd-file { +
-  passwd_file_path = /etc/dovecot/users +
-} +
-userdb static { +
-  fields { +
-    gid = vmail +
-    uid = vmail +
-  } +
-} +
-service auth { +
-  unix_listener /var/spool/postfix/private/auth { +
-    group = postfix +
-    mode = 0660 +
-    user = postfix +
-  } +
-} +
-</code> +
- +
-=== /etc/dovecot/users === +
-<code> +
-# create new +
-# user:password +
- +
-# Шифрование пароля +
-# doveadm pw -p PASWWORD -s CRYPT +
- +
-postmaster@kochkin.tk:{CRYPT}$k7IB4KsvOJPzZu4o2y$05$yAh5nnVVI8tOsBL5jVGgNbOtlmYTyH8Cg02U. +
-</code> +
-=== Прочее === +
- +
-Запуск служб: +
-  systemctl enable --now postfix dovecot +
- +
-Сбор статистики: +
-  dnf install postfix-perl-scripts +
-  pflogsumm -d yesterday /var/log/maillog +
- +
----- +
- +
-==== RoundCube (WEB) ==== +
-Создать MySQL базу "roundcube", пользователя "roundcube" с паролем "PASSWORD": +
-  mysql +
-  create database roundcube; +
-  grant all privileges on roundcube.* to roundcube@'localhost' identified by 'PASSWORD'; +
-  flush privileges; +
-  \q +
-Установить RoundCube из реп, инициализировать базу MySQL и использовать примерный конфиг: +
-  dnf install roundcubemail +
-  mysql -u roundcube -D roundcube -p < /usr/share/roundcubemail/SQL/mysql.initial.sql +
-  cp -p /etc/roundcubemail/config.inc.php.sample /etc/roundcubemail/config.inc.php +
- +
-В /etc/roundcubemail/config.inc.php изменить параметры подключения к MySQL базе: +
-  $config['db_dsnw'] = 'mysql://roundcube:PASSWORD@localhost/roundcube'; +
-Настройки WEB сервера в /etc/httpd/conf.d/roundcube.conf для доступа только из локалки 192.168.1.0/24: +
-  Alias /mail /usr/share/roundcubemail +
-  <Directory /usr/share/roundcubemail/> +
-    Require ip 192.168.1.0/24 +
-  </Directory> +
- +
-В основном, [[https://www.server-world.info/en/note?os=Fedora_26&p=httpd&f=14|отсюда]] +
- +
-==== Настройка почтового клиента POP3/SMTP Thunderbird 102 ==== +
-POP3: +
-  * Адрес сервера: kochkin.tk +
-  * Имя пользователя: postmaster@kochkin.tk +
-  * Порт: 995 +
-  * Защита соединения: SSL/TLS +
-  * Метод аутентификации: Обычный пароль +
-SMTP: +
-  * Адрес сервера: kochkin.tk +
-  * Имя пользователя: postmaster@kochkin.tk +
-  * Порт: 465 +
-  * Защита соединения: SSL/TLS +
-  * Метод аутентификации: Обычный пароль +
  
 ===== Отключить строгую проверку SSL сертификата (HTTP Strict Transport Security, HSTS) ===== ===== Отключить строгую проверку SSL сертификата (HTTP Strict Transport Security, HSTS) =====
Строка 280: Строка 53:
   nameserver 192.168.1.2   nameserver 192.168.1.2
  
-===== LIBVIRTD без IPTABLES. Fedora 38 =====+===== LibVirtD без IPTABLES. Fedora 38 =====
 В свойствах виртуальной сети (virsh net-edit) изменить: В свойствах виртуальной сети (virsh net-edit) изменить:
   <forward mode="nat"/>   <forward mode="nat"/>
Строка 436: Строка 209:
   yt-dlp --ignore-errors --continue --no-overwrites <URL>   yt-dlp --ignore-errors --continue --no-overwrites <URL>
  
-===== HTTPS сертификаты Let's Encrypt на CentOS 7 (certbot,letsencrypt) ===== 
-  yum -y install certbot python-certbot-apache 
-  certbot --apache 
-Ввести адрес электронной почты.\\ 
-Подтвердить условия использования.\\ 
-Желаете-ли получать рассылку на указанный адрес. 
- 
-Предоставляется выбор доменов, которые найдены в конфигурации httpd: 
-  1: kochkin.tk 
-  2: www.kochkin.tk 
-  3: kochkin.mooo.com 
-Ввести номера через пробел или запятую, или ничего не вводить для выбора всех. 
- 
-После чего будут получены сертификаты и в конфигурационные файлы httpd будут внесены измения для их использования. Также будет сделано перенаправление с http на https.\\ 
-Для обновления сертификатов, включить системный таймер: 
-  systemctl enable certbot-renew.timer 
- 
-[[https://www.liquidweb.com/kb/how-to-setup-lets-encrypt-on-centos-7/|Отсюда]] и [[https://www.reddit.com/r/linuxadmin/comments/adlhm0/centos_certbot_automated_renewal_questionhelp/|отсюда]]. 
- 
-Просмотр сертификатов: 
-  certbot certificates 
- 
-Добавление домена к существующим: 
-  certbot --expand -d kochkin.tk,kochkin.mooo.com,www.kochkin.tk,kochkin.us.to 
- 
-Удаление доменов: 
-  certbot delete 
- 
-==== Использование сертификатов privkey.pem и fullchain.pem на другом компьютере с RedMine установленным в Windows ==== 
-Файлы копируются в папку с Apache под Windows: 
-  scp root@192.168.10.108:/etc/letsencrypt/live/YouDomain/fullchain.pem c:/redmine/apache2/conf/SSL/YouDomain/fullchain.pem 
-  scp root@192.168.10.108:/etc/letsencrypt/live/YouDomain/privkey.pem c:/redmine/apache2/conf/SSL/YouDomain/privkey.pem 
-  net stop redmineApache 
-  net start redmineApache 
-192.168.10.108 - Компьютер, который обновляет сертификаты для домена. 
- 
-В конфигурационном файле, в которов указываются пути к сертификатам должно быть прописано: 
-  SSLCertificateFile "c:/redmine/apache2/conf/SSL/YouDomain/fullchain.pem" 
-  SSLCertificateKeyFile "c:/redmine/apache2/conf/SSL/YouDomain/privkey.pem" 
- 
-==== Преобразование автоматически сгенерированных сертификатов в формат PFX для IIS ==== 
-Необходимые сертификаты (точнее, симлинки) на компьютере, который обновляет сертификаты, находятся в 
-  /etc/letsencrypt/live/<Ваш домен> 
-Это файлы "privkey.pem" и "fullchain.pem" 
- 
-В указанной выше папке, запустить: 
-  openssl pkcs12 -inkey privkey.pem -in fullchain.pem -export -out YouDomain.pfx -passout pass: 
- 
- 
-==== Обновление PFX в IIS ==== 
-CMD файл запускаемый на Windows с установленным IIS. : 
-  scp root@192.168.10.108:/etc/letsencrypt/live/YouDomain/YouDomain.pfx YouDomain.pfx 
-  certutil -delstore "WebHosting" "YouDomain" 
-  certutil -f -p "" -importpfx "WebHosting" "YouDomain.pfx" 
-  certutil -repairstore "WebHosting" "YouDomain" 
- 
-192.168.10.108 - Компьютер, который обновляет сертификаты для домена. 
 ===== Отключить ipv6 ===== ===== Отключить ipv6 =====
 Временно, до перезагрузки: Временно, до перезагрузки:
Строка 554: Строка 270:
   ETHTOOL_OPTS="autoneg on"   ETHTOOL_OPTS="autoneg on"
  
-===== IPSET и IPTABLES (CentOS 7) ===== 
- 
-  systemctl disable --now firewalld 
-  dnf remove firewalld* 
-  dnf install iptables-services ipset-service 
-  systemctl enable --now ipset && systemctl enable --now iptables 
- 
-Чтобы правила IPSET автоматически сохранялись в **''/etc/sysconfig/ipset''** при перезапуске или останове службы IPSET, необходимо добавить в файл **''/etc/sysconfig/ipset-config''** переменные: 
-  IPSET_SAVE_ON_STOP=yes 
-  IPSET_SAVE_ON_RESTART=yes 
  
 ===== Скачать с youtube.com видео опубликованные после определённой даты ===== ===== Скачать с youtube.com видео опубликованные после определённой даты =====
Строка 693: Строка 399:
 Примечание: Для экспорта папок с NTFS надо патчить ядро (не проверялось). Примечание: Для экспорта папок с NTFS надо патчить ядро (не проверялось).
  
-===== Предоставление шар по самбе.===== 
-В файле /etc/samba/smb.conf : 
-      [global] 
-      netbios name = lin-01             # Имя машины 
-      workgroup = workgroup             # Рабочая группа 
-      server string = lin-01            # Строка сервера 
-      security = share                  # Безовасность (свободный доступ) 
-      [share]                           # Название ресурса 
-      path=/media/disk_d/share          # Папка 
-      writable = yes                    # Запись разрешена 
-      guest ok = yes                    # Разрешён доступ гостю 
  
 ===== Автомонтирование сетевых папок.===== ===== Автомонтирование сетевых папок.=====
fedora/020-network.1762710363.txt.gz · Последнее изменение: — Oleg Kochkin


AbuseIPDB Contributor Badge

uptime