понедельник, 3 марта 2014 г.

Отправка почты с POSTFIX через внешний почтовый ящик

Практически всегда для получения статистики о работе сервера и других данных требуется возможность отправки с него электронной почты. Однако установка полнофункционального почтового сервера не всегда целесообразна. Настроим почтовый сервер POSTFIX для отправки почты через внешний почтовый ящик (например, GMAIL). Почтовый ящик Вы должны зарегистрировать заранее.

Для установки POSTFIX выполним в терминале:

sudo apt-get install postfix
  

Затем заменим файл /etc/postfix/main.cf новым содержимым. Для этого выполним в терминале:

sudo rm /etc/postfix/main.cf  

  

sudo nano /etc/postfix/main.cf


Вставляем в файл main.cf следующий текст:

<-- начало текста -->

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
append_dot_mydomain = no
readme_directory = no

relayhost = smtp.gmail.com:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/gmail_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous

#Указываем каталог очереди для Postfix
queue_directory = /var/spool/postfix

#Указываем имя нашего хоста
myhostname = server.mydomain.local

# Указываем файл с превдонимами почтовых ящиков
alias_maps = hash:/etc/postfix/aliases

#Указываем, для каких доменов будем принимать почту
mydestination = server.mydomain.local, localhost.mydomain.local, mydomain.local, localhost
myorigin = /etc/mailname

#Указываем с каких сетей будем принимать почту
mynetworks = 127.0.0.0/8 192.168.0.0/24 [::1]/128 [fe80::]/64

mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = ipv4


<-- конец текста -->
 


Исправляем в файле параметры: myhostname, mydestination, mynetworks на свои.
Сохраняем настройки нажав <Ctrl> + <o> и выходим нажав <Ctrl> + <x>.

Создаём файл /etc/postfix/gmail_passwd выполнив в терминале:

sudo nano /etc/postfix/gmail_passwd



Заполняем файл следующей строкой:

smtp.gmail.com:587 mymail@gmail.com:mypassword



Не забываем изменить имя почтового ящика и пароль на свои.
Сохраняем настройки нажав <Ctrl> + <o> и выходим нажав <Ctrl> + <x>.

После чего выполняем в терминале следующие команды:


sudo postmap /etc/postfix/gmail_passwd

  
sudo chmod 640 /etc/postfix/gmail_passwd*

 
sudo chown postfix.postfix /etc/postfix/gmail_passwd*


sudo /etc/init.d/postfix restart


Настройка закончена.
Теперь можно проверить отправку почты командой в терминале:

echo "Текст письма" | mail -s "Тема письма" mail@mail.ru
 


 Укажите свой текст, тему и почтовый ящик для отправки письма.  

среда, 26 февраля 2014 г.

Устанавливаем свой сервер точного времени - NTPD

Большое число протоколов и зависит от хорошей синхронизации времени между участниками информационного обмена. Можно синхронизировать часы своего компьютера с одним из публичных NTP-серверов, но ещё полезнее установить свой сервер точного времени и выполнять синхронизацию всех устройств в локальной сети с ним.

Для этой цели установим пакет NTPD, выполнив в терминале команду:

sudo apt-get install ntp

 
Настраиваем параметры в файле /etc/ntp.conf выполнив в терминале:

sudo nano /etc/ntp.conf



Для сохранения логов работы раскомментируем в открывшемся файле строку:

statsdir /var/log/ntpstats/


 
Откроем доступ к нашему серверу точного времени из своей локальной сети. Для этого добавляем в файл строку (указывая свою IP-сеть и маску):

restrict 192.168.131.0 mask 255.255.255.0 nomodify notrap

  
 
Сохраняем настройки нажав <Ctrl> + <o> и выходим нажав <Ctrl> + <x>.

Перезапускаем NTPD выполнив в терминале команду:

sudo service ntp restart

 
Выполним первую принудительную синхронизацию. Для этого в терминале выполняем:

sudo ntpd -q

 
Сервер настроен и работает. Теперь его можно указывать для синхронизации времени устройств в Вашей локальной сети.

понедельник, 24 февраля 2014 г.

Ускоряем Интернет с помощью локального кэширующего DNS-сервера - PDNSD

Не секрет, что скорость открытия web-страниц в браузере зависит от ширины Вашего Интернет-канала.
Однако не меньшее влияние на этот процесс имеет работа DNS-серверов. Если предоставляемый Вам провайдером DNS-сервер сбоит или отвечает с большой задержкой - то никакой сверхширокий канал не улучшит ситуацию. Решить проблему можно установив свой локальный кэширующий DNS-сервер.

В качестве такого сервера мы будем использовать лёгкий и быстрый PDNSD. Установим его командой в терминале:

sudo apt-get install pdnsd
 

Перед Вами должно появиться окно с запросом о способе настройки pdnsd. Если такое окно не появилось - то скорее всего Вы уже устанавливали пакет pdnsd и удалили его через sudo apt-get remove pdnsd (при этом конфигурационные файлы пакета остались). В таком случае необходимо запустить перенастройку пакета командой в терминале:

sudo dpkg-reconfigure pdnsd


Итак, перед нами окно с запросом о способе настройки pdnsd.
  

 Т.к. мы хотим получить быстрое, стабильное и независящее от DNS-провайдеров решение - нам нужно использование корневых серверов. Перемещаемся клавишей <Tab> на пункт <Ok> и жмём <Enter>.


На следующем окне выбираем выбираем пункт "использовать корневые серверы" и затем клавишей <Tab> перемещаемся на пункт <Ok> и жмём <Enter>.

Проверим настройки запуска pdnsd. Набираем в терминале:

cat /etc/default/pdnsd
  

Проверяем наличие опций START_DAEMON=yes и AUTO_MODE=recurse.
  

В данном режиме пакет pdnsd будет брать настройки не из файла /etc/pdnsd.conf, а из файла /usr/share/pdnsd/pdnsd-recurse.conf
Откроем файл настроек pdnsd командой в терминале:

sudo nano /usr/share/pdnsd/pdnsd-recurse.conf



Мы увидим следующее:


Параметр perm_cache определяет сколько памяти в килобайтах будет отводиться под кеш (по умолчанию 2048).
Если Ваша система обслуживает целую сеть - рекомендуется увеличить это значение, например до 65536.
Ещё один важный для нас параметр server_ip (по умолчанию 127.0.0.1) - он определяет интерфейс на котором pdnsd будет принимать запросы. Для одиночного ПК можно оставить 127.0.0.1, но если Вы планируете быть быстрым DNS-сервером для своей сети - нужно указать Ваш сетевой интерфейс, например eth0.


Сохраняем настройки нажав <Ctrl> + <o> и выходим нажав <Ctrl> + <x>.

По-умолчанию в Ubuntu применяется DNS-сервер dnsmasq. Его отличия от pdnsd в том, что он использует dns-сервера из файла /etc/resolv.conf и кэш держит только в оперативной памяти (при перезагрузке кэш теряется). Перед запуском pdnsd нам необходимо удалить dnsmasq, т.к. они оба по-умолчанию используют порт 53. Для удаления dnsmasq выполним в терминале:

sudo apt-get remove dnsmasq
 
 
Теперь нам нужно указать пакету resolvconf (именно он формирует файл /etc/resolv.conf) наш новый быстрый DNS-сервер. Для этого выполним в терминале:

sudo nano /etc/resolvconf/resolv.conf.d/base
 
 
Вписываем nameserver и IP-адрес (если Вы указываели server_ip=eth0 в файле /usr/share/pdnsd/pdnsd-recurse.conf) или 127.0.0.1 (если Вы указываели server_ip=127.0.0.1 в файле /usr/share/pdnsd/pdnsd-recurse.conf).
  
 
Сохраняем настройки нажав <Ctrl> + <o> и выходим нажав <Ctrl> + <x>.

Обратите внимание:
- в файле настроек сетевых интерфейсов /etc/network/interfaces не должно быть строк с параметром dns-nameservers;
- в описываемой статье подразумевается использование статического IP-адреса на Вашем ПК.

Для чистоты эксперимента рекомендуется полностью перезагрузить ПК.

После перезагрузки убеждаемся, что в /etc/resolv.conf указан именно наш новый DNS-сервер. Выполним в терминале:

cat /etc/resolv.conf
 
 
Должен быть только наш DNS-сервер:
 
 
С помощью команды dig проанализируем ускорение dns-запросов. Выполним в терминале:

dig mail.ru
 
 
Получим вывод:
  

Затем ещё раз выполним тот же запрос:

dig mail.ru
 
 
И увидим другой результат:
 
 
Время запроса значительно сократилось. Аналогично можно попробовать потестировать обращения к другим доменам. После попадания запроса в кэш - ответ получается гораздо быстрее.

Текущее состояние и заполненность кэша pdnsd можно узнать выполнив в терминале:

sudo pdnsd-ctl status
 
 
Поднявшись в начало вывода можно увидеть данные о заполненности кэша: 
 
  
В приведённом примере это всего 62 записи, занявшие 0.0246% от выделенных нами под кэш 65536Кб.

Содержимое кэша pdnsd можно увидеть выполнив в терминале:

sudo pdnsd-ctl dump
 
 
Получим что-то вида:
 
 
Сбросить (очистить) кэш можно командой в терминале:

sudo pdnsd-ctl empty-cache
 
 
Но делать это просто так не стоит, т.к. именно накопленный кэш - ускоряет наши dns-запросы.

пятница, 21 февраля 2014 г.

Как легко пробросить порт с удалённого хоста на локальный через ssh?

Для упрощения организации проброса порта с удаленного хоста на локальный через ssh-туннель создан скрипт - portssh.

Данный скрипт выполняет проброс порта RPORT удаленного хоста HOSTNAME через ssh-туннель на порту SSHPORT под пользователем USERNAME на локальный порт LPORT.

Использование:
portssh [USERNAME@]HOSTNAME RPORT LPORT SSHPORT

Для работы скрипта на удалённом хосте должен быть установлен openssh-server.

Скопируйте скрипт в удобное Вам место, сделайте его исполняемым и создайте на него линк в папке /usr/bin. Например, если Вы расположили скрипт portssh.sh в папке /home/valery/MyScripts, то выполните в терминале:

chmod +x /home/valery/MyScripts/portssh.sh
cd /usr/bin
sudo ln -s /home/valery/MyScripts/portssh.sh portssh

Для получения справки по использованию скрипта запустите его просто набрав в терминале:

portssh

суббота, 15 февраля 2014 г.

Отключаем "Waiting up to 60 more seconds for network configuration..."

Если Вы в Ubuntu столкнулись с паузой "Waiting up to 60 more seconds for network configuration..." при старте ПК - то её можно отключить. Часто причиной появления данной паузы является невозможность получить сразу при старте ПК IP-адрес на одном из интерфейсов. Если ОС у Вас нормально работает с сетью и раздражает только пауза при её старте, то решение таково:

Запускаем терминал и комментируем в файле /etc/init/failsafe.conf две строчки с параметрами "sleep 40" и "sleep 59":

sudo nano /etc/init/failsafe.conf


Должно получиться так:
 

пятница, 10 мая 2013 г.

Настройка сети в Ubuntu через терминал

Нередко возникает необходимость настройки сети в Ubuntu через терминал. Делается это следующим образом.

Необходимо отредактировать файл /etc/network/interfaces в котором описываются настройки сетевых интерфейсов. Для редактирования этого файла в терминале нужно выполнить команду:

sudo nano /etc/network/interfaces


Для настройки единственного сетевого соединения eth0 с динамическим IP-адресом вносим в файл следующие значения: 

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp
 

Для настройки единственного сетевого соединения eth0 с фиксированным IP-адресом 192.168.1.3, маской 255.255.255.0 и шлюзом 192.168.1.1 вносим в файл следующие значения: 

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.1.3
netmask 255.255.255.0
gateway 192.168.1.1
 

После завершения редактирования файла сохраняем результат нажав <Ctrl + O> и выходим из редактора нажав <Ctrl + X>.

Чтобы изменения вступили в силу выполняем в терминале команду:

sudo /etc/init.d/networking restart
 

среда, 24 августа 2011 г.

Автоматическая смена обоев рабочего стола

Если Вы любите периодически обновлять обои на рабочем стол, то удобно это делать используя автоматическую смену обоев рабочего стола. В Ubuntu эту задачу можно решить так.

Среди различных способов организовать автоматическую смену обоев рабочего стола мы воспользуемся пакетом desktopnova (DesktopNova Background Chander). Он позволяет автоматически изменять обои через заданное время, по вращению колеса мыши и при каждом запуске ПК. Поддерживает графические форматы png, jpg, jpeg, bmp, svg, gif, tif. Доступен в репозиториях Ubuntu 10.10 и выше.
Для установки в Ubuntu 10.10 и выше необходимо выполнить команду в терминале:

sudo apt-get install desktopnova

Для установки в Ubuntu 10.04 необходимо добавить в конец файла /etc/apt/source.list репозиторий. Для этого в терминале выполнить:

sudo nano /etc/apt/source.list

Добавить в конец файла строки:

deb http://ppa.launchpad.net/haliner/ppa/ubuntu lucid main
deb-src http://ppa.launchpad.net/haliner/ppa/ubuntu lucid main


И выйти с сохранением - <Ctrl>+<O>, затем <Ctrl>+<X>.

Добавить ключ:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6F6C4A3C045B9062

Обновить данные из репозиториев:

sudo apt-get update

И установить командой:

sudo apt-get install desktopnova