Перейти до основного вмісту

Настройка факс-шлюза Postfix+Hylafax для Centos


Установить postfix.
Подключить факсмодем.
Установить hylafax. Существует две ветки Hylafax (http://new.hylafax.org/content/Main_Page)– бесплатная версия IFAX и Hylafax+( http://hylafax.sourceforge.net/). Обе начались из одного корня, но потом разъединились, очень похожи, даже в структуре директорий. По-моему Hylafax лучше, меньше ошибок в настройках.
Если после установки, faxsetup не запустился, запустить и ответить на все вопросы по настройке сервера. Если faxaddmodem не запустился, запустить и ответить на вопросы по настройке модема(порт ttySx, указать класс факсмодема class 1 или class 2). 
Файлы конфигурации факс-модемов config.ttyXX в /var/spool/hylafax/etc имеют ошибку в строках инициализации. Нужно в команде ModemSetupAACmd указать AT+FAA=0, чтобы факс-модем предпочтительно отвечал как факс, а не как модем для приема данных. Лучше указывать модем класса 2.
Настроить hylafax. Отредактировать /var/spool/hylafax/etc/FaxDispatch для переадресации факсов, по аналогии с примером в файле. Формат принятых факсов, адреса для доставки, язык сообщения задаются в FaxDispatch. Поскольку украинский перевод сообщений о получении факсов отсутствует, если в FaxDispatch указать, что будет использоваться украинский язык для сообщений (template=uk), то необходимо в директории /var/spool/hylafax/etc/templates создать директорию uk, скопировать файлы из директории en (de,fr,es по желанию) и перевести на украинский язык все файлы в /var/spool/hylafax/etc/templates/uk.

Для отчетов об отправке факсов в /etc/hyla.conf указать

Notify:Done

и создать файл /var/spool/hylafax/etc/FaxNotify. Указать в нем

ReturnFileType=tif;
Template=uk;

Для возможности приема факсов указать в /etc/inittab строку вида

i2:23:respawn:/usr/sbin/faxgetty /dev/ttySx

для каждого порта с моедемом.

Для рестарта inittab надо kill –HUP 1
Настроить postfix для обработки сообщений, поступающих по почте и передаваемых в hylafax.

Номер факса будет формироваться в виде xxxxx@fax.domain.com (domain.com-пользовательский домен, ххххх-номер факс-аппарата).

Добавить пользователя

useradd –M fax

В /etc/postfix/master.cf добавить

fax unix – n n – 1 pipe
flags= user=fax argv=/usr/bin/faxmail –d –n –T ${user}

Параметр – T добавили, чтобы не отправлял пустые страницы.

В /etc/postfix/transport добавить
fax.domain.com fax:localhost

Переформировать хеш postfix

postmap transport

В /etc/postfix/main.cf добавить

transport_maps=hash:/etc/postfix/transport
fax_destination_recipient_limit=1

В /etc/postfix/main.cf для приема писем от пользователей не только локального компьютера закомментировать все inet_interfaces.

А для возможности приема писем от пользователей для fax.domain.com указать

myorigin=domain.com
myhostname= fax.domain.com
mydomain=domain.com
mydestination=$myhostname, localhost.$mydomain, localhost, fax.domain.com

Если факс-сервер и основной почтовый сервер ДОМЕНА domain.com находятся на разных серверах и в списке в mydestination оставить значение по умолчанию $mydomain, то факсы и почта не будут отправляться адресатам, все письма будут оставаться на факс-сервере.

Поскольку номер факса указывается как имя локального клиента, надо отключить проверку в /etc/postfix/main.cf

local_recipient_maps=

В связи с тем, что почтовый сервер и факс-сервер на одном компьютере, служебные сообщения от факс-сервера (от имени fax@domain.com) будут попадать в очередь факса. Чтобы избежать этого надо в /etc/postfix/main.cf добавить

Virtual_maps=hash:/etc/postfix/virtual

В /etc/postfix/virtual добавить

root root@localhost
fax root@localhost
FaxMaster root@localhost (или почтовый адрес администратора)

После этого сделать хеш
postmap virtual
В /etc/hylafax/hfaxd.conf указать

Autocoverpage: No, чтобы автоматически не формировалась титульная страница.

MIMEConvertes: /var/spool/hylafax/mimetype , для указания директории к конверторам вложений. 

Hylafax отправляет файлы в формате ps (Postscript). Конвертацией полученных файлов занимается faxmail, он же передает в hylafax уже готовые файлы и номер факса. Правила конвертации указаны в /etc/hylafax/typerules и используются конверторы из /var/spool/hylafax/mimetype. Как формировать структуру директории и обработчики в /var/spool/hylafax/mimetype описано на сайте HylaFax (http://new.hylafax.org/content/Email_to_Fax_Gateway). Но с настройками по-умолчанию будет работать, кроме конвертации специфичных файлов. Проблема возникает, например, при отправке почтового сообщения в формате UTF8 HTML, без вложения или с вложением. Конвертор не запускается вообще, т.к. почтовая программа вставляет несколько символов перед частью сообщения в HTML. Надо тогда редактировать /etc/hylafax/typerules, брать раздел, относительно конвертации HTML c помощью html2ps и добавлять строку вида

0 short 0xefbb ps html2ps %i >%o

Почтовые сообщения прямо в теле письма на украинском(русском) языке в любой кодировке не конвертируются нормально, все конвертируется в нечитаемые символы.
Перестартовать hylafax и postfix.
Для того чтобы принятые факсы, отправлялись от адреса fax@fax.domain.com необходимо в

/etc/HOSTNAME указать fax.domain.com
/etc/hosts указать ХХХ.ХХХ.ХХХ.ХХХ fax.domain.com
/etc/sysconfig/network указать HOSTNAME=fax.domain.com
Для ограничения адресов, с которых может отсылаться факс, необходимо создать в /etc/postfix файл sender_access, в виде

user1@domain.com OK
user2@domain.com OK
domain.com REJECT

После этого сгенерировать хеш
postmap sender_access

А в /etc/postfix/main.cf указать

smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/sender_access

Советьі по ограничению адресов нашел в
https://serverfault.com/questions/515623/postfix-how-do-i-reject-all-email-from-certain-domains
https://wiki.centos.org/HowTos/postfix_restrictions

У
https://asterisk-pbx.ru/wiki/system/postfix
знайшов поради щодо налаштування postfix для Hylafax

Hylafax Postfix Configuration 
I found it very difficult to find documentation on how to setup Postfix to work with the Hylafax email to fax server. Here is how I got it to work:
(This post assumes you have installed hylafax rpms from their website at hylafax.org)
1. yum install postfix
2. service sendmail stop
3. chkconfig sendmail off
4. chkconfig postfix on
5. nano /etc/postfix/main.cf
Add/Edit:
myhostname = fax.DOMAINNAME.com
mydomain = DOMAINNAME.com
mydestination = $myhostname, localhost.$mydomain, localhost, fax.DOMAINNAME.com
local_recipient_maps =
transport_maps = hash:/etc/postfix/transport
fax_destination_recipient_limit = 1
6. nano /etc/postfix/master.cf
Add to the bottom:
fax unix – n n – 1 pipe
flags= user=fax argv=/usr/bin/faxmail -d -n -N -T ${user}
7. nano /etc/postfix/transport
Add to the bottom:
fax.DOMAINNAME.com fax:hylafax:4559
8. /usr/sbin/postmap /etc/postfix/transport
9. service postfix start

email to fax POSTFIX
1. Edit master.cf, add the following at the very bottom: # EMAIL TO FAX GATEWAY SETTINGS
fax       unix  -       n       n       -       1       pipe
  flags= user=fax argv=/usr/bin/faxmail -d -n ${user}
2. Edit transport file, add the following at the very bottom: # EMAIL TO FAX GATEWAY SETTINGS
fax.domain.com fax:localhost
3. Edit main.cf, add the following at the very bottom: # EMAIL TO FAX GATEWAY SETTINGS
transport_maps = hash:/etc/postfix/transport
fax_destination_recipient_limit = 1
4. Run the following: postmap transport 
5. Restart the Postfix service: service postfix restart

Коментарі

Популярні дописи з цього блогу

Изменение размера бумаги LibreOffice(OpenOffice)

Если при установке Ubuntu указать локаль «USA», то размер бумаги по-умолчанию установится «Letter». Если потом через «Система- Администрирование- Локализации» изменить локаль на «Украинский» («Русский»), изменится язык системы, формат даты, но размер бумаги по-умолчанию и единица измерения останутся прежними.  Совет нашел в http://www.nixp.ru/recipes/%D0%9A%D0%B0%D0%BA-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C-%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80-%D0%B1%D1%83%D0%BC%D0%B0%D0%B3%D0%B8-%D0%B2-OpenOffice-org-%D0%BF%D0%BE-%D1%83%D0%BC%D0%BE%D0%BB%D1%87%D0%B0%D0%BD%D0%B8%D1%8E-%28libpaper%29.html Нужно в терминале запустить sudo dpkg-reconfigure libpaper1 В открывшемся списке выбрать формат А4. Можно напрямую в файле конфигурации (/etc/papersize) указать размер А4. Проверить можно в LibreOffice(OpenOffice) через меню «Формат-Страница». Еще в LibreOffice(OpenOffice) нужно изменить единицу измерения через «Сервис- Параметры- LibreOffice Writer- Общие»

Подключение Cisco 7911/7912 по SIP к Asterisk

Аппарат Cisco IP Phone 7911 по-умолчанию настроен на использование протокола SCCP. Можно в Asterisk указать использование модулей SCCP, но для единообразия удобнее использовать SIP. Для использования протокола SIP в аппарате Cisco 7911 нужно обновить программное обеспечение.  Код обновления для загрузки в аппарат нужно скачать с сервера Cisco: http://tools.cisco.com/support/downloads/pub/Redirect.x?mdfid=278875240 Самое последнее обновление (на данный момент версия 9.3) может не работать c Asterisk, с  версии 9.X Cisco переходит на использование только TCP для SIP соединений. Поэтому для использования UDP удобнее скачать обновление версии 8.5.2 или 8.5.4. Может понадобится  вначале   установить обновление 8.5.2, а затем 8.5.4. Например, для обновления с SCCP11.8-2-2SR-4S надо вначале установить 8.5.2 Обновление будет производится с сервера  TFTP, поэтому д ля начала нужно настроить сервер DHCP, TFTP. Причем в DHCP нужно настроить опцию 150, которая используется для указания аппа

Панель инструментов Remmina в полноэкранном режиме Ubuntu 12.04

Пакет Remmina 0.9.99 (протокол RDP) в системе Ubuntu 12.04 используется как клиент для доступа к терминальному серверу. Обнаружено странное поведение панели инструментов в полноэкранном режиме на терминальном сервере- панель инструментов исчезает и невозможно перейти в другое окно или закрыть сеанс. Для сворачивания окна можно использовать комбинацию клавиш CTRL+F9. Комбинации клавиш задаются в настройках Remmina, а CTRL нужно, чтобы комбинацию не перехватил терминальный сервер. В настройках Remmina есть параметр "Спрятать панель инструментов в полноэкранном режиме". Но иногда, даже если не указан этот параметр, меню не отображается. Можно, не закрывая терминальную сессию, изменить этот параметр на противоположный и после возврата в сессию, меню начнет появляться. В следующий раз перед открытием новых сессий в Remmina нужно правильно указать значение этого параметра. Размер иконок в панели инструментов можно изменить через основное меню Remmina