SSHFS
Шаблон команды
sshfs remote_user@remote_host:remote_dir local_dir
папка local_dir должна быть создана заранее
пример:
mkdir /home/mod/172.17.2.77
sshfs sa@172.17.2.77:/home/sa /home/mod/172.17.2.77
Отмонтирование подключенной папки
fusermount -u /home/mod/172.17.2.77
Текстовый (консольный) браузер links
(удобно установить на сервер для загрузки файлов)
установка sudo apt-get install links
запуск links
меню бразузера - Esc
загрузить страницу
Esc->Go to URL или просто клавиша g
Загружаемые файлы
Esc->Downloads
Полный перечень команд
Esc->Help-Keys
Переход между ссылками на странице с помощью стрелок вверх и вниз
Переход между просмотренными страницами с помощью стрелок влево и вправо
Переходи по ссылке на другую страницу:
Установить курсор на ссылку и нажать Enter или щелкнуть по ссылке ЛКМ
Показаны сообщения с ярлыком ubuntu. Показать все сообщения
Показаны сообщения с ярлыком ubuntu. Показать все сообщения
вторник, 4 мая 2010 г.
четверг, 8 апреля 2010 г.
Как изменить имя host и прочие мелочи
Имя машины можно поменять в любой момент - поправив необходимую информацию в файлах:
/etc/nostname
/etc/hosts
После этого необходимо перезагрузиться и проверить новое имя компьютера командами:
hostname
hostname -f
Изменение оболочки по умолчанию:
/bin/sh - это символическая ссылка на /bin/dash
Если нам нужна оболочка /bin/bash - необходимо сделать следующее:
dpkg-reconfigure dash
(install dash as /bin/sh?)
Отключение AppArmor
AppArmor представляет собой дополнительный модуль безопасности, который может создать проблемы при работе сервера. (Для некоторый служб его рекомендуют отключать)
/etc/init.d/apparmor stop
update-rc.d -f apparmor remove
aptitude remove apparmor apparmor-utils
Узнать параметры сетевых карт:
При добавлении новой сетевой карты с уже установленным ubuntu сервером, ее параметры, можно уточнить в файле /etc/udev/70-persistent-net.rules
/etc/nostname
/etc/hosts
После этого необходимо перезагрузиться и проверить новое имя компьютера командами:
hostname
hostname -f
Изменение оболочки по умолчанию:
/bin/sh - это символическая ссылка на /bin/dash
Если нам нужна оболочка /bin/bash - необходимо сделать следующее:
dpkg-reconfigure dash
(install dash as /bin/sh?)
Отключение AppArmor
AppArmor представляет собой дополнительный модуль безопасности, который может создать проблемы при работе сервера. (Для некоторый служб его рекомендуют отключать)
/etc/init.d/apparmor stop
update-rc.d -f apparmor remove
aptitude remove apparmor apparmor-utils
Узнать параметры сетевых карт:
При добавлении новой сетевой карты с уже установленным ubuntu сервером, ее параметры, можно уточнить в файле /etc/udev/70-persistent-net.rules
Установка ftp сервер ProFTPD
Установка стандартная: apt-get install proftpd Во время установки выбираю тип запуска ручной , другой вариант это - через inetd.
файл настроек: /etc/proftpd/proftpd.conf
После настройки зашел на сервер с помощью Total Comander
192.168.x.x:21, пользователем sa
Мой рабочий конфигурационный файл с которыми у меня заработал ftp server:
Пользовался этой статьёй:
http://kvazar.org/showthread.php?t=37640
Include /etc/proftpd/modules.conf # Includes DSO modules
UseIPv6 off
IdentLookups off # If set on you can experience a longer connection delay in many cases.
ServerName "Debian"
ServerType standalone
DeferWelcome off
MultilineRFC2228 on
DefaultServer on
ShowSymlinks off
TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200
DisplayLogin welcome.msg
DisplayChdir .message true
ListOptions "-l"
DenyFilter \*.*/
# запрещаем выходить пользователям за пределы домашней папки (строго рекомендуется)
DefaultRoot ~
# Users require a valid shell listed in /etc/shells to login.
# Use this directive to release that constrain.
# RequireValidShell off
Port 21
# PassivePorts 49152 65534
# If your host was NATted, this option is useful in order to
# allow passive tranfers to work. You have to use your public
# address and opening the passive ports used on your firewall as well.
# MasqueradeAddress 1.2.3.4
# This is useful for masquerading address with dynamic IPs:
# refresh any configured MasqueradeAddress directives every 8 hours
# DynMasqRefresh 28800
MaxInstances 30
# Set the user and group that the server normally runs at.
User proftpd
Group nogroup
# Umask 022 is a good standard umask to prevent new files and dirs
# (second parm) from being group and world writable.
Umask 022 022
# Normally, we want files to be overwriteable.
AllowOverwrite on
# Uncomment this if you are using NIS or LDAP via NSS to retrieve passwords:
# PersistentPasswd off
# This is required to use both PAM-based authentication and local passwords
# AuthOrder mod_auth_pam.c* mod_auth_unix.c
# UseSendFile off
TransferLog /var/log/proftpd/xferlog
SystemLog /var/log/proftpd/proftpd.log
QuotaEngine off
Ratios off
# Delay engine reduces impact of the so-called Timing Attack described in
# http://security.lss.hr/index.php?page=details&ID=LSS-2004-10-02
# It is on by default.
DelayEngine on
ControlsEngine off
ControlsMaxClients 2
ControlsLog /var/log/proftpd/controls.log
ControlsInterval 5
ControlsSocket /var/run/proftpd/proftpd.sock
AdminControlsEngine off
файл настроек: /etc/proftpd/proftpd.conf
После настройки зашел на сервер с помощью Total Comander
192.168.x.x:21, пользователем sa
Мой рабочий конфигурационный файл с которыми у меня заработал ftp server:
Пользовался этой статьёй:
http://kvazar.org/showthread.php?t=37640
Include /etc/proftpd/modules.conf # Includes DSO modules
UseIPv6 off
IdentLookups off # If set on you can experience a longer connection delay in many cases.
ServerName "Debian"
ServerType standalone
DeferWelcome off
MultilineRFC2228 on
DefaultServer on
ShowSymlinks off
TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200
DisplayLogin welcome.msg
DisplayChdir .message true
ListOptions "-l"
DenyFilter \*.*/
# запрещаем выходить пользователям за пределы домашней папки (строго рекомендуется)
DefaultRoot ~
# Users require a valid shell listed in /etc/shells to login.
# Use this directive to release that constrain.
# RequireValidShell off
Port 21
# PassivePorts 49152 65534
# If your host was NATted, this option is useful in order to
# allow passive tranfers to work. You have to use your public
# address and opening the passive ports used on your firewall as well.
# MasqueradeAddress 1.2.3.4
# This is useful for masquerading address with dynamic IPs:
# refresh any configured MasqueradeAddress directives every 8 hours
# DynMasqRefresh 28800
MaxInstances 30
# Set the user and group that the server normally runs at.
User proftpd
Group nogroup
# Umask 022 is a good standard umask to prevent new files and dirs
# (second parm) from being group and world writable.
Umask 022 022
# Normally, we want files to be overwriteable.
AllowOverwrite on
# Uncomment this if you are using NIS or LDAP via NSS to retrieve passwords:
# PersistentPasswd off
# This is required to use both PAM-based authentication and local passwords
# AuthOrder mod_auth_pam.c* mod_auth_unix.c
# UseSendFile off
TransferLog /var/log/proftpd/xferlog
SystemLog /var/log/proftpd/proftpd.log
# Delay engine reduces impact of the so-called Timing Attack described in
# http://security.lss.hr/index.php?page=details&ID=LSS-2004-10-02
# It is on by default.
DelayEngine on
ControlsEngine off
ControlsMaxClients 2
ControlsLog /var/log/proftpd/controls.log
ControlsInterval 5
ControlsSocket /var/run/proftpd/proftpd.sock
AdminControlsEngine off
воскресенье, 25 октября 2009 г.
HAVP & ClamAv
ClamAv - это наиболее распространненый антивирус для Linux.
HAVP - это прокси-сервер с фильтром - антивирусом (clamav, drweb, avp, ...).
Сканировать весь трафик и делать проверку на вирусы является единственной задачей данного прокси-сервера. Поэтому связка HAVP + Squid является наиболее распрастранненым вариантом. Устанавливаем: apt-get install havp clamav Впроцессе установки будет добавлен пакет clamav-freshclam (демон) который необходим для автомотического обновления антивирусных баз. конфигурации находятся в /etc/clamav/clamd.conf и /etc/clamav/freshclam.conf Примеры работы с антивирусом: clamscan - проверит текущию папку. clamscan test.rar - проверит архив test.rar clamscan /temp/folder/*.* - проверит /temp/folder/ рекрусивно clamscan --move=/home/admin/temp/infected - параметр для перемещение инфицированных файлов clamscan --reove - прараметр для удаление инфицированных файлов clamscan -r -i - рекруссивное сканирование и при проверки выводить только зараженные файлы При первом старте сервиса HAVP у меня вышло сообщение: Starting havp: Starting HAVP Version: 0.89 LibClamAV Warning: *********************************************************** LibClamAV Warning: *** This version of the ClamAV engine is outdated. *** LibClamAV Warning: *** DON'T PANIC! Read http://www.clamav.net/support/faq *** LibClamAV Warning: *********************************************************** havp. Это говорит о том что необходимо сделать обновление LibClamAV как впрочем и всего ClamAv. Для обновления компонентов антивируса необходимо в /etc/apt/sources.list добавить репозитарий: deb http://ppa.launchpad.net/ubuntu-clamav/ppa/ubuntu hardy main после этого выполнить стандартныю процедуры: apt-get update apt-get upgrade Дополнительно можно установить ClamAv как демон (clamd). Для этого надо установить пакет apt-get install clamav-daemon ps ax | grep [c]lamd - проверить что демон запущен Описание схемы взаимодействия двух прокси-сервероав: Браузер клиента подключается по порту 3128 к Squid, а Squid по порту 8080 через HAVP уже выходит в интернет. Для этого в Squid настраиваем параметры родительского севера: cache_peer 127.0.0.1 parent 8080 0 no-quiery no -digest no-netdb-exchange default cache_peer_access 127.0.0.1 allow all # будем проверять только HTTP acl Scan_HTTP proto HTTP never_direct allow Scan_HTTP Важное замечание - по умолчанию HAVP не может обрабатывать FTP страници. Для этого в squid добовляем настройки: acl ftp proto FTP always_direct allow ftp В настройках для HAVP (/etc/havp/havp.conf) я изменил только параметр: TEMPLATEPATH /etc/havp/templates/ru - русификация сообщения для клиента. А также в файл whitelist (белый список) добавил строки: */*.gif */*.png */*.jpg *.finam.ru/* *.zubsb.ru/* *.sbrf.ru/* *.google.com/* вся информация из этого файла проходит без проверки В итоге мы получили полнофункциональную систему, кэширующию трафик, блокирующию вирусы
и рекламму.
Эта инструкция у меня получилась краткой, поэтому привожу ссыки на первоисточники. Для полной настройки HAVP и ClamAv
необходимо читать дополнительные статьи.
http://aboutubuntu.ru/content/antivirus-dlya-ubuntu-prosto-i-nadezhno
http://www.tux.in.ua/articles/812
http://www.tux.in.ua/articles/814
пятница, 23 октября 2009 г.
Памятка по командам
архиваторы:
tar cf file.tar files – создать tar-архив с именем file.tar содержащий files
tar xf file.tar – распаковать file.tar
tar czf file.tar.gz files – создать архив tar с сжатием Gzip
tar xzf file.tar.gz – распаковать tar с Gzip
tar cjf file.tar.bz2 – создать архив tar с сжатием Bzip2
tar xjf file.tar.bz2 – распаковать tar с Bzip2
gzip file – сжать file и переименовать в file.gz
gzip -d file.gz – разжать file.gz в file
Узнать версии:
lsb_release -a - версия ubuntu
uname -r - версия ядря
apt-cache source
apt-cache show | grep -i version
dpkg -s [имя пакета] - информация о установленном пакете
usermod -a -G admin user - добавить пользователя в группу admin
Так я настраивал каталоги для программы rtorrent, структуру которых создал из под root для пользователя torrent.
adduser torrent
cd /home
chown —R torrent:torrent torrent
chmod —R 777 torrent
Это перепечатка хорошей статьи.
http://linuxforum.ru/viewforum.php?id=37 - Взял отсюда. Там есть много статей в разделе Ubuntu lst (описание по программированию в bash, настройка сетей, ..)
2. Работа с файлами и папками
pwd - Узнать текущий каталог
ls foldername - Просмотреть список файлов, по умолчанию выбирается текущая
ls -l - вывод содержимого каталога с детальным описанием
touch filename - создать пустой (или изменить дату последнего изменения, если уже существует) файл
cp filename1 filename2 - Копировать файл
rm filename - Удалить файл
rm -rf filename - удалить файл или каталог (-r - рекурсивно, т.е. со всем содержимым, -f - форсировать, т.е. без лишних вопросов)
mv filename1 filename2 - Переместить файл или папку
cd foldername - Сменить текущий каталог на требуемый, двумя точками обозначается каталог нижнего уровня, одной - текущая
cd .. - Перейти на уровень выше
cd /home - Перейти в каталог /home
mkdir foldername - Создать каталог
rmdir foldername - Удалить каталог (сработает, если он пустой)
-------------------------------------------------------------
3. Редактирование и просмотр текстовых файлов
cat filename - вывод всего файла
less filename - просмотреть текстовый файл
tail filename - вывод последних строчек файла
tail -n 100 /var/log/mail.log - вывод последних 100 строчек файла логов почты
vi filename - открыть файл в консольном текстовом редакторе vi
nano filename - открыть файл в консольном текстовом редакторе nano
-------------------------------------------------------------
4. Изменение прав на файлы и каталоги
chmod +x filename - разрешить всем (и владельцу, и группе, и остальным) выполнять файл/получать список файлов в каталоге
chmod g-w filename - запретить всем, кто входит в группу, запись в файл/каталог (u - user, g - group, o - other, a - all)
chmod ug+w filename - разрешить владельцу и всем, кто входит в группу писать в файл/каталог
chmod 775 filename - установить атрибуты в rwxrwxr-- (т.е. владельцу и группе можно все, а остальным только чтение)
chown user2:group3 file - изменить владельца и группу файла/каталог
chown user2 filename или chown :group3 filename - изменить владельца или изменить группу файла/каталога
chmod 777 -R foldername - сменить права на всех вложенных файлах и папках
chown user:group -R foldername - сменить права на всех вложенных файлах и папках
-------------------------------------------------------------
5. Работаем с архивами
tar - утилита архивирования/разархивирования
tar xvjf filename.tar.bz2 - разархивировать содержимое из файла filename.tar.bz2
tar cvjf filename.tar.bz2 /home - создать архив содержимого каталога /home
zip, unzip - архивирование/разархивирование zip-архивов
-------------------------------------------------------------
6. Работа с жестким диском
fdisk - Работа с носителями (жесткие диски, флешки).
fdisk -l - Вывод информации о разделах на жестких дисках и флешках
df - disk free, т.е. просмотр занятости диска в байтах.
df -h - Более удобный вывод (-h, --human-readable)
du - disk usage, Объем занятого пространства файлом/каталогом.
du -sh /home - Подсчет занятого места каталогом /home
mount - монтирование (подробнее будет описано ниже)
blkid - отображение UUID и DISK LABEL всех установленных в системе устройств.
uuid можно узнать так же командой ls -l /dev/disk/by-uuid/
-------------------------------------------------------------
7. Работа с пользователями и группами
adduser - добавление пользователя в систему
addgroup - добавление группы
id user - просмотр сведений о пользователе (в каких группах состоит, uid, gid)
passwd username - смена пароля пользователя username
usermod - изменение данных пользователя (ввод в группу / вывод из группы, отключение, смена uid)
groupmod - изменение данных группы (gid, новое имя группы, уникальность gid)
-------------------------------------------------------------
8. Работа с сетью
ifconfig Состояние сетевых интерфейсов
ifconfig eth0 192.168.0.2 netmask 255.255.255.0 up - пример управления сетевым интерфейсом eth0.
netstat - просмотр слушающих сетевых сервисов.
netstat -pnat - Наиболее удобный вариант вывода netstat
netstat-nat -n - просмотр журнала NAT (кто куда переадресован), эффективно только на шлюзе
-------------------------------------------------------------
9. Работа с файлами по сети
ssh user@server - подключение к удаленному серверу по протоколу ssh (по умолчанию это 22 порт)
sshfs -p port user@host:/mnt/share /folder -o allow_other - подключение удаленной файловой системы через ssh
scp filename user@server:/home/ - скопировать файл на удаленный сервер по ssh-протоколу
wget ftp://domain.ru/filename или wget ftp://user@domain.ru/folder/filename - скачать файл с удаленного сервера
ftp user@server - подключение к удаленному серверу по протоколу ftp (по умолчанию это 21 порт)
smbget smb://server/share/file - скачать файл с удаленного сервера по протоколу SMB
smbclient //server/share - подключение к удаленному серверу по протоколу SMB (ftp-like)
smbmount //server/share /mount/point - монтирование сетевой папки по протоколу SMB в каталог /mount/point
smbstatus - просмотр активных соединений SMB
smbtree - просмотр всего "сетевого окружения" с шарами
smbclient -L host - просмотр "шар" на определенном компьютере
smbtree -U user%password -D - просмотр рабочих групп в "сетевом окружении"
smbtree -U user%password -S - просмотр компьютеров рабочей группы в "сетевом окружении"
nmblookup computername - поиск ip-адреса по NetBIOS-имени компьютера computername
-------------------------------------------------------------
10. Работа с системой
dmesg - вывод последних системных сообщений, например, при подсоединении флешки
ps -e - вывод запущенных процессов
ps -e|grep mysql - тоже самое, но выбираем только те строки, где присутствует mysql
top - диспетчер задач
date - управление временем и датой
date +%d'-'%m'-'%y - вывод в формате ДЕНЬ-МЕСЯЦ-ГОД
date +%H'-'%M'-'%S - вывод в формате ЧАС-МИНУТА-СЕКУНДА
cal - вывод удобного календаря
-------------------------------------------------------------
11. Дополнительно
man - мануал по работе с коммандами
echo "hello" - вывод на экран слова hello
echo $HOME - вывод на экран значения переменной HOME
wall filename - вывод содержимого filename или стандартного ввода на экран всем залогиненым пользователям
echo "hello world"|wall - вывод "hello world" на экран всем залогиненым пользователям
cat /some/directory/somefile.txt | grep -v "^#" - вывод содержимого файла somefile.txt кроме строчек, начинающихся с решетки (удобно для просмотра конфигов без комментариев)
mc - запуск Midnight Commander
screen - управление сессиями оболочки (виртуальная консоль)
screen -S foo, screen -x foo, screen -ls - создать, подключиться к сессии, просмотр созданных сессий
какая-то команда, например ls | iconv -f utf8 -t koi8-r - переконвертировать вывод команды из одной кодировки в другую. Бывает полезно при использовании putty при иероглифах.
dd - Преобразование и копия файлов (Disk Dump). Заполнение файла или диска данной последовательностью байтов
lsof - узнать, кто "занял" файл/устройство
ldd - узнать, какие системные библиотеки используются для запуска программы
-------------------------------------------------------------
12. Используемая и рекомендуемая литература
http://ubuntologia.ru/usefull-commands
tar cf file.tar files – создать tar-архив с именем file.tar содержащий files
tar xf file.tar – распаковать file.tar
tar czf file.tar.gz files – создать архив tar с сжатием Gzip
tar xzf file.tar.gz – распаковать tar с Gzip
tar cjf file.tar.bz2 – создать архив tar с сжатием Bzip2
tar xjf file.tar.bz2 – распаковать tar с Bzip2
gzip file – сжать file и переименовать в file.gz
gzip -d file.gz – разжать file.gz в file
Узнать версии:
lsb_release -a - версия ubuntu
uname -r - версия ядря
apt-cache source
apt-cache show | grep -i version
dpkg -s [имя пакета]
usermod -a -G admin user - добавить пользователя в группу admin
adduser torrent
cd /home
chown —R torrent:torrent torrent
chmod —R 777 torrent
http://linuxforum.ru/viewforum.php?id=37 - Взял отсюда. Там есть много статей в разделе Ubuntu lst (описание по программированию в bash, настройка сетей, ..)
2. Работа с файлами и папками
pwd - Узнать текущий каталог
ls foldername - Просмотреть список файлов, по умолчанию выбирается текущая
ls -l - вывод содержимого каталога с детальным описанием
touch filename - создать пустой (или изменить дату последнего изменения, если уже существует) файл
cp filename1 filename2 - Копировать файл
rm filename - Удалить файл
rm -rf filename - удалить файл или каталог (-r - рекурсивно, т.е. со всем содержимым, -f - форсировать, т.е. без лишних вопросов)
mv filename1 filename2 - Переместить файл или папку
cd foldername - Сменить текущий каталог на требуемый, двумя точками обозначается каталог нижнего уровня, одной - текущая
cd .. - Перейти на уровень выше
cd /home - Перейти в каталог /home
mkdir foldername - Создать каталог
rmdir foldername - Удалить каталог (сработает, если он пустой)
-------------------------------------------------------------
3. Редактирование и просмотр текстовых файлов
cat filename - вывод всего файла
less filename - просмотреть текстовый файл
tail filename - вывод последних строчек файла
tail -n 100 /var/log/mail.log - вывод последних 100 строчек файла логов почты
vi filename - открыть файл в консольном текстовом редакторе vi
nano filename - открыть файл в консольном текстовом редакторе nano
-------------------------------------------------------------
4. Изменение прав на файлы и каталоги
chmod +x filename - разрешить всем (и владельцу, и группе, и остальным) выполнять файл/получать список файлов в каталоге
chmod g-w filename - запретить всем, кто входит в группу, запись в файл/каталог (u - user, g - group, o - other, a - all)
chmod ug+w filename - разрешить владельцу и всем, кто входит в группу писать в файл/каталог
chmod 775 filename - установить атрибуты в rwxrwxr-- (т.е. владельцу и группе можно все, а остальным только чтение)
chown user2:group3 file - изменить владельца и группу файла/каталог
chown user2 filename или chown :group3 filename - изменить владельца или изменить группу файла/каталога
chmod 777 -R foldername - сменить права на всех вложенных файлах и папках
chown user:group -R foldername - сменить права на всех вложенных файлах и папках
-------------------------------------------------------------
5. Работаем с архивами
tar - утилита архивирования/разархивирования
tar xvjf filename.tar.bz2 - разархивировать содержимое из файла filename.tar.bz2
tar cvjf filename.tar.bz2 /home - создать архив содержимого каталога /home
zip, unzip - архивирование/разархивирование zip-архивов
-------------------------------------------------------------
6. Работа с жестким диском
fdisk - Работа с носителями (жесткие диски, флешки).
fdisk -l - Вывод информации о разделах на жестких дисках и флешках
df - disk free, т.е. просмотр занятости диска в байтах.
df -h - Более удобный вывод (-h, --human-readable)
du - disk usage, Объем занятого пространства файлом/каталогом.
du -sh /home - Подсчет занятого места каталогом /home
mount - монтирование (подробнее будет описано ниже)
blkid - отображение UUID и DISK LABEL всех установленных в системе устройств.
uuid можно узнать так же командой ls -l /dev/disk/by-uuid/
-------------------------------------------------------------
7. Работа с пользователями и группами
adduser - добавление пользователя в систему
addgroup - добавление группы
id user - просмотр сведений о пользователе (в каких группах состоит, uid, gid)
passwd username - смена пароля пользователя username
usermod - изменение данных пользователя (ввод в группу / вывод из группы, отключение, смена uid)
groupmod - изменение данных группы (gid, новое имя группы, уникальность gid)
-------------------------------------------------------------
8. Работа с сетью
ifconfig Состояние сетевых интерфейсов
ifconfig eth0 192.168.0.2 netmask 255.255.255.0 up - пример управления сетевым интерфейсом eth0.
netstat - просмотр слушающих сетевых сервисов.
netstat -pnat - Наиболее удобный вариант вывода netstat
netstat-nat -n - просмотр журнала NAT (кто куда переадресован), эффективно только на шлюзе
-------------------------------------------------------------
9. Работа с файлами по сети
ssh user@server - подключение к удаленному серверу по протоколу ssh (по умолчанию это 22 порт)
sshfs -p port user@host:/mnt/share /folder -o allow_other - подключение удаленной файловой системы через ssh
scp filename user@server:/home/ - скопировать файл на удаленный сервер по ssh-протоколу
wget ftp://domain.ru/filename или wget ftp://user@domain.ru/folder/filename - скачать файл с удаленного сервера
ftp user@server - подключение к удаленному серверу по протоколу ftp (по умолчанию это 21 порт)
smbget smb://server/share/file - скачать файл с удаленного сервера по протоколу SMB
smbclient //server/share - подключение к удаленному серверу по протоколу SMB (ftp-like)
smbmount //server/share /mount/point - монтирование сетевой папки по протоколу SMB в каталог /mount/point
smbstatus - просмотр активных соединений SMB
smbtree - просмотр всего "сетевого окружения" с шарами
smbclient -L host - просмотр "шар" на определенном компьютере
smbtree -U user%password -D - просмотр рабочих групп в "сетевом окружении"
smbtree -U user%password -S - просмотр компьютеров рабочей группы в "сетевом окружении"
nmblookup computername - поиск ip-адреса по NetBIOS-имени компьютера computername
-------------------------------------------------------------
10. Работа с системой
dmesg - вывод последних системных сообщений, например, при подсоединении флешки
ps -e - вывод запущенных процессов
ps -e|grep mysql - тоже самое, но выбираем только те строки, где присутствует mysql
top - диспетчер задач
date - управление временем и датой
date +%d'-'%m'-'%y - вывод в формате ДЕНЬ-МЕСЯЦ-ГОД
date +%H'-'%M'-'%S - вывод в формате ЧАС-МИНУТА-СЕКУНДА
cal - вывод удобного календаря
-------------------------------------------------------------
11. Дополнительно
man - мануал по работе с коммандами
echo "hello" - вывод на экран слова hello
echo $HOME - вывод на экран значения переменной HOME
wall filename - вывод содержимого filename или стандартного ввода на экран всем залогиненым пользователям
echo "hello world"|wall - вывод "hello world" на экран всем залогиненым пользователям
cat /some/directory/somefile.txt | grep -v "^#" - вывод содержимого файла somefile.txt кроме строчек, начинающихся с решетки (удобно для просмотра конфигов без комментариев)
mc - запуск Midnight Commander
screen - управление сессиями оболочки (виртуальная консоль)
screen -S foo, screen -x foo, screen -ls - создать, подключиться к сессии, просмотр созданных сессий
какая-то команда, например ls | iconv -f utf8 -t koi8-r - переконвертировать вывод команды из одной кодировки в другую. Бывает полезно при использовании putty при иероглифах.
dd - Преобразование и копия файлов (Disk Dump). Заполнение файла или диска данной последовательностью байтов
lsof - узнать, кто "занял" файл/устройство
ldd - узнать, какие системные библиотеки используются для запуска программы
-------------------------------------------------------------
12. Используемая и рекомендуемая литература
http://ubuntologia.ru/usefull-commands
вторник, 20 октября 2009 г.
Настройка Firewall UFW
Настройка Firewall.
Сначала необходимо его активировать:
ufw anable - включить
ufw default deny - установить максимальную закрытость
ufw default allow - установить максимальную открытость
ufw status - показать правила
ufw app list - список правил для приложений
/etc/ufw/ufw.conf - в конфигорационном файле нужно включить параметр ENBLES=yes
Если настройка ufw происходит в putty,то сначала надо создать все правила а потом включить ufw командой anable.
Примеры команд для настройки UFW:
Разрешить порт 53:
$sudo ufw allow 53
Отменить разрешение порта 53:
$sudo ufw delete allow 53
Разрешить порт 80:
$sudo ufw allow 80/tcp
Отменить разрешение порта 80:
$sudo ufw delete allow 80/tcp
Разрешить порты для smtp:
$sudo ufw allow smtp
Разрешить входяшие запросы для определенного IP:
$sudo ufw allow from 192.168.254.254
Отмена предыдущего правила
$sudo ufw delete allow from 192.168.254.254
Возможно разрешить доступ для определенных хостов или сетей. Следующий пример показывает как разрешить доступ хосту с ip адресом 192.168.0.2 на хост с любым ip по протоколу ssh: sudo ufw allow proto tcp from 192.168.0.2 to any port 22. Если заменить 192.168.0.2 на 192.168.0.0/24 то мы разрешим протокол ssh для любого хоста этой локальной сети.
как сделать разрешение на работу со squid только локальной сети
думаю делать надо так:
ufw allow from 192.168.3.0/24 to any port 3128 - сперва даем разрешение
ufw deny from 192.168.3.0/24 - потом запретить все соединения из этой подсити
# ********** Реально на работе сделано так: **********
ufw enable
ufw default allow
ufw logging on
ufw allow from 192.168.3.2 to any port 21 -ftp
ufw allow from 192.168.3.3 to any port 21
#ufw allow from 192.168.3.0/24 to any port 21 - (можно разрешить всем)
ufw deny 21
ufw allow from 192.168.3.2 to any port 22 - ssh
ufw allow from 192.168.3.3 to any port 22
ufw deny 22
ufw deny 23 - telnet
ufw deny 25 - maill
ufw deny 80 - http
ufw deny 110 - maill
ufw deny Samba
ufw allow from 192.168.3.0/24 to any port 445
ufw deny 445
# ******************************************************
# ********** Упращеная настройка: **********
ufw enable
ufw default allow
ufw logging on
ufw allow from 192.168.3.0/24 to any port 21 - (ftp разрешить всем)
ufw deny 21
ufw allow from 192.168.3.0/24 to any port 22 - (ssh разрешить всем)
ufw deny 22
ufw deny 23 - telnet
ufw deny 80 - http
ufw allow from 192.168.3.0/24 to any Samba
ufw deny Samba
ufw allow from 192.168.3.0/24 to any port 445
ufw deny 445
# *********************************************
# эти запрещения включены в правила для приложений
#ufw allow from 192.168.3.2 to any port 80
#ufw allow from 192.168.3.3 to any port 80
#ufw deny 80
ufw deny Samba
ufw deny Apache
#ufw deny Apache Full
#ufw deny Apache Secure
можно также сделать и так (разрешить доступ только с определенных адресов):
ufw allow from 192.168.3.2 to any port 3128
ufw allow from 192.168.3.3 to any port 3128
ufw allow from 192.168.3.66 to any port 3128
ufw allow from 192.168.3.96 to any port 3128
ufw allow from 192.168.3.97 to any port 3128
ufw allow from 192.168.3.98 to any port 3128
ufw allow from 192.168.3.99 to any port 3128
ufw allow from 192.168.3.100 to any port 3128
ufw allow from 192.168.3.110 to any port 3128
ufw allow from 192.168.3.120 to any port 3128
ufw allow from 192.168.3.130 to any port 3128
ufw allow from 192.168.3.140 to any port 3128
ufw deny from 192.168.0.0/16
# выполнить установку правил из bash script
for port in {5900..5910}; do ufw allow proto tcp from any to any port $port; done
for $ip in {2..20}; do ufw allow from 192.168.3.$ip to any port 3128; done
Общие рекомендации - это запретить доступ к портам: 21,23,80,137-139,445 из внешней сети.
ufw allow from 192.168.3.0/24 to any port 445 - разрешаем всей локальной подсети
ufw deny 445 - потом полностью запрещаем, для внешней подсети в том числе
http://pario.no/tag/iptables/ - на английском, несколко примеров из жизни, а не из пальца
проверить открытые порты можно следующими утилитами:
nmap 192.168.3.9
nmap -sT -O 192.168.1.1
netstat
netstat -ap
netstat -an
iptraf
ufw status
Сначала необходимо его активировать:
ufw anable - включить
ufw default deny - установить максимальную закрытость
ufw default allow - установить максимальную открытость
ufw status - показать правила
ufw app list - список правил для приложений
/etc/ufw/ufw.conf - в конфигорационном файле нужно включить параметр ENBLES=yes
Если настройка ufw происходит в putty,то сначала надо создать все правила а потом включить ufw командой anable.
Примеры команд для настройки UFW:
Разрешить порт 53:
$sudo ufw allow 53
Отменить разрешение порта 53:
$sudo ufw delete allow 53
Разрешить порт 80:
$sudo ufw allow 80/tcp
Отменить разрешение порта 80:
$sudo ufw delete allow 80/tcp
Разрешить порты для smtp:
$sudo ufw allow smtp
Разрешить входяшие запросы для определенного IP:
$sudo ufw allow from 192.168.254.254
Отмена предыдущего правила
$sudo ufw delete allow from 192.168.254.254
Возможно разрешить доступ для определенных хостов или сетей. Следующий пример показывает как разрешить доступ хосту с ip адресом 192.168.0.2 на хост с любым ip по протоколу ssh: sudo ufw allow proto tcp from 192.168.0.2 to any port 22. Если заменить 192.168.0.2 на 192.168.0.0/24 то мы разрешим протокол ssh для любого хоста этой локальной сети.
как сделать разрешение на работу со squid только локальной сети
думаю делать надо так:
ufw allow from 192.168.3.0/24 to any port 3128 - сперва даем разрешение
ufw deny from 192.168.3.0/24 - потом запретить все соединения из этой подсити
# ********** Реально на работе сделано так: **********
ufw enable
ufw default allow
ufw logging on
ufw allow from 192.168.3.2 to any port 21 -ftp
ufw allow from 192.168.3.3 to any port 21
#ufw allow from 192.168.3.0/24 to any port 21 - (можно разрешить всем)
ufw deny 21
ufw allow from 192.168.3.2 to any port 22 - ssh
ufw allow from 192.168.3.3 to any port 22
ufw deny 22
ufw deny 23 - telnet
ufw deny 25 - maill
ufw deny 80 - http
ufw deny 110 - maill
ufw deny Samba
ufw allow from 192.168.3.0/24 to any port 445
ufw deny 445
# ******************************************************
# ********** Упращеная настройка: **********
ufw enable
ufw default allow
ufw logging on
ufw allow from 192.168.3.0/24 to any port 21 - (ftp разрешить всем)
ufw deny 21
ufw allow from 192.168.3.0/24 to any port 22 - (ssh разрешить всем)
ufw deny 22
ufw deny 23 - telnet
ufw deny 80 - http
ufw allow from 192.168.3.0/24 to any Samba
ufw deny Samba
ufw allow from 192.168.3.0/24 to any port 445
ufw deny 445
# *********************************************
# эти запрещения включены в правила для приложений
#ufw allow from 192.168.3.2 to any port 80
#ufw allow from 192.168.3.3 to any port 80
#ufw deny 80
ufw deny Samba
ufw deny Apache
#ufw deny Apache Full
#ufw deny Apache Secure
можно также сделать и так (разрешить доступ только с определенных адресов):
ufw allow from 192.168.3.2 to any port 3128
ufw allow from 192.168.3.3 to any port 3128
ufw allow from 192.168.3.66 to any port 3128
ufw allow from 192.168.3.96 to any port 3128
ufw allow from 192.168.3.97 to any port 3128
ufw allow from 192.168.3.98 to any port 3128
ufw allow from 192.168.3.99 to any port 3128
ufw allow from 192.168.3.100 to any port 3128
ufw allow from 192.168.3.110 to any port 3128
ufw allow from 192.168.3.120 to any port 3128
ufw allow from 192.168.3.130 to any port 3128
ufw allow from 192.168.3.140 to any port 3128
ufw deny from 192.168.0.0/16
# выполнить установку правил из bash script
for port in {5900..5910}; do ufw allow proto tcp from any to any port $port; done
for $ip in {2..20}; do ufw allow from 192.168.3.$ip to any port 3128; done
Общие рекомендации - это запретить доступ к портам: 21,23,80,137-139,445 из внешней сети.
ufw allow from 192.168.3.0/24 to any port 445 - разрешаем всей локальной подсети
ufw deny 445 - потом полностью запрещаем, для внешней подсети в том числе
http://pario.no/tag/iptables/ - на английском, несколко примеров из жизни, а не из пальца
проверить открытые порты можно следующими утилитами:
nmap 192.168.3.9
nmap -sT -O 192.168.1.1
netstat
netstat -ap
netstat -an
iptraf
ufw status
суббота, 11 июля 2009 г.
Резервное копирование
Самый простой вариант копирования настроек - это использование утилиты tar.
# добовляем в имя архива host и date
tar -czvf /srv/etc-backup.$(hostname -s).$(date +%Y%m%d-%H%M).tgz /etc/*
tar -czvf /srv/tools-backup.$(hostname -s).$(date +%Y%m%d-%H%M).tgz /var/tools/*
Также для синхронизации данных можно использованть утилиту rsync. Все резервные копии удобно хранить на ресурсе DropBox
Текст одной статьи по данной теме, такой вариант мне показался лучшим, позже разберу.
http://linux-sam.blogspot.com/search/label/Ubuntu На этом блоге много других хороших заметок, например - Создание своего дистрибутива, Установка ABills.
************
Подготовка
Данные будем переливать с помощью SSH, поэтому давайте сначала настроим public и private ключи для локального и удаленного серверов. Делаем это для того, чтобы программа, которая будет переливать данные могла заходить по SSH без пароля.
$ ssh-keygen -t dsa
Оставьте папку по-умолчанию, а пароль сделайте пустым.
Эта команда должна создать в папке ~/.ssh(по умолчанию) два файла — private и public key. private предназначается для локальной машины, pub отправляется на удаленный.
Теперь копируем private key в папку /root/.ssh, чтобы пользователь root так мог пользоваться им
$ cd ~/.ssh
$ sudo mkdir /root/.ssh
$ sudo cp id_dsa /root/.ssh
Теперь надо скопировать public key на удаленную машину, с которой мы хотим копировать данные. Предварительно создайте пользователя backup на удаленной машине(команда adduser). Не забудьте дать этому пользователю права на чтение каталогов, которые вы хотите копировать.
$ cat ~/.ssh/id_dsa.pub | ssh backup@remotehost.ru "cat >> ~/.ssh/authorized_keys2"
Теперь можем попробывать зайти через ssh на удаленную машину:
$ ssh backup@remotehost.ru
В случае, если все сделано правильно, нас впустит без пароля.
На удаленной машине ставим нормальные права на чтение публичного ключа:
remotehostru$ chmod 700 .ssh
remotehostru$ chmod 400 .ssh/authorized_keys2
remotehostru$ exit
Настройка rsnapshot
rsnapshot — утилита для создания копий состояния файловых систем на базе rsync. Она упрощает создание периодических копий с локальной и удаленных машин по ssh. Она использует, по возможности, жесткие связи, что позволяет существенно уменьшить объем необходимого дискового пространства. (цитата отсюда)
Установка
Устанавливаем rsnapshot:
$ sudo apt-get install rsnapshot
Если вы используете не debian-подобный дистрибутив, rsnapshot наверняка тоже есть в репозиториях вашего дистрибутива. Для CentOS, при включенных RPMForge это делается, например, так:
# yum install rsnapshot
Теперь нам нужно создать директорию, где мы собираемся хранить наши «снимки»:
$ sudo mkdir /var/snapshots
Настройка
Теперь можно перейти к настройке, собственно, rsnapshot:
$ sudo nano /etc/rsnapshot.conf
Вместо nano вы можете использовать любой другой редактор, например vi, или gedit, если работаете в GNOME.
Настроить нужно следующие параметры:
snapshot_root - директория, в которую вы хотите сохранять "снимки".
interval xxx yy - ххх - название интервала(например hourly, daily), yy - количество снимков для каждого. Например:
interval hourly 6
interval daily 7
Означает, что мы хотим хранить 6 ежечасных копий и 7 ежемесячных. Если уже доступно указанное количество копий, rsnapshot будет заменить старую более новой.
Расскомментируйте cmd_cp. cmd_ssh расскоментируйте и измените на
cmd_ssh /usr/bin/ssh
Настройка бэкапа осуществляется командой backup <откуда> <куда>:
#Добавляем папку /etc/ с локальной машины в папку localhost/
backup /etc/ local/
#Добавляем папку /var/svn с удаленной машины в папку remotehost/
backup backup@remotehost.ru:/var/svn/ remotehost/
Помните, что в конфигурационном файле недопустимы пробелы — используйте только табы.
Пробный запуск
Запустим rsnapshot:
$ rsnapshot hourly
Второй параметр означает интервал, который мы задали в конфигурационном файле.
Команда может выполняется продолжительное время. После выполнения, смотрим, что она создала:
$ ls -l /var/snapshots
Пока что в директории должен быть один каталог: hourly.0. При следующем запуске rsnapshot будет создавать каталоги hourly.1, hourly.2 и т.д., пока не упрется в максимум, указанный нами в конфигурационном файле.
Настройка cron
В Ubuntu автоматически создается файл /etc/cron.d/rsnapshot со следующим содержанием:
0 */4 * * * root /usr/bin/rsnapshot hourly
30 3 * * * root /usr/bin/rsnapshot daily
0 3 * * 1 root /usr/bin/rsnapshot weekly
30 2 1 * * root /usr/bin/rsnapshot monthly
Вот и все. Теперь у вас 6 раз в сутки должен автоматически создаваться снимок данных с вашего удаленного сервера. Данные в сохранности, да еще и географически распределены.
Кстати, 6 раз в сутки не означает, что размер будет в 6 раз больше, чем если копировать всего 1 раз в сутки. Если в промежутки между копированиями не будет изменений в файлах, то общий размер копий почти не изменится.
Дополнительная информация
С помощью параметра backup_script можно также настроить резервное копирование баз данных MySQL, да и вообще всего, чего угодно. Я не описывал сей процесс, т.к. у меня он не используется и ничего конкретного сказать не могу.
Подробнее можно почитать в гугле. По запросу rsnapshot вылезает куча релевантных ссылок, правда на английском языке.
Прошу особо не ругать, на гуру администрирования(да и linux) я не похож, но довольно долго искал, как просто автоматизировать резервное копирование — нашел способ, решил поделиться.
Но конструктивной критике и предложениям буду, конечно, рад.
************
# добовляем в имя архива host и date
tar -czvf /srv/etc-backup.$(hostname -s).$(date +%Y%m%d-%H%M).tgz /etc/*
tar -czvf /srv/tools-backup.$(hostname -s).$(date +%Y%m%d-%H%M).tgz /var/tools/*
Также для синхронизации данных можно использованть утилиту rsync. Все резервные копии удобно хранить на ресурсе DropBox
Текст одной статьи по данной теме, такой вариант мне показался лучшим, позже разберу.
http://linux-sam.blogspot.com/search/label/Ubuntu На этом блоге много других хороших заметок, например - Создание своего дистрибутива, Установка ABills.
************
Подготовка
Данные будем переливать с помощью SSH, поэтому давайте сначала настроим public и private ключи для локального и удаленного серверов. Делаем это для того, чтобы программа, которая будет переливать данные могла заходить по SSH без пароля.
$ ssh-keygen -t dsa
Оставьте папку по-умолчанию, а пароль сделайте пустым.
Эта команда должна создать в папке ~/.ssh(по умолчанию) два файла — private и public key. private предназначается для локальной машины, pub отправляется на удаленный.
Теперь копируем private key в папку /root/.ssh, чтобы пользователь root так мог пользоваться им
$ cd ~/.ssh
$ sudo mkdir /root/.ssh
$ sudo cp id_dsa /root/.ssh
Теперь надо скопировать public key на удаленную машину, с которой мы хотим копировать данные. Предварительно создайте пользователя backup на удаленной машине(команда adduser). Не забудьте дать этому пользователю права на чтение каталогов, которые вы хотите копировать.
$ cat ~/.ssh/id_dsa.pub | ssh backup@remotehost.ru "cat >> ~/.ssh/authorized_keys2"
Теперь можем попробывать зайти через ssh на удаленную машину:
$ ssh backup@remotehost.ru
В случае, если все сделано правильно, нас впустит без пароля.
На удаленной машине ставим нормальные права на чтение публичного ключа:
remotehostru$ chmod 700 .ssh
remotehostru$ chmod 400 .ssh/authorized_keys2
remotehostru$ exit
Настройка rsnapshot
rsnapshot — утилита для создания копий состояния файловых систем на базе rsync. Она упрощает создание периодических копий с локальной и удаленных машин по ssh. Она использует, по возможности, жесткие связи, что позволяет существенно уменьшить объем необходимого дискового пространства. (цитата отсюда)
Установка
Устанавливаем rsnapshot:
$ sudo apt-get install rsnapshot
Если вы используете не debian-подобный дистрибутив, rsnapshot наверняка тоже есть в репозиториях вашего дистрибутива. Для CentOS, при включенных RPMForge это делается, например, так:
# yum install rsnapshot
Теперь нам нужно создать директорию, где мы собираемся хранить наши «снимки»:
$ sudo mkdir /var/snapshots
Настройка
Теперь можно перейти к настройке, собственно, rsnapshot:
$ sudo nano /etc/rsnapshot.conf
Вместо nano вы можете использовать любой другой редактор, например vi, или gedit, если работаете в GNOME.
Настроить нужно следующие параметры:
snapshot_root - директория, в которую вы хотите сохранять "снимки".
interval xxx yy - ххх - название интервала(например hourly, daily), yy - количество снимков для каждого. Например:
interval hourly 6
interval daily 7
Означает, что мы хотим хранить 6 ежечасных копий и 7 ежемесячных. Если уже доступно указанное количество копий, rsnapshot будет заменить старую более новой.
Расскомментируйте cmd_cp. cmd_ssh расскоментируйте и измените на
cmd_ssh /usr/bin/ssh
Настройка бэкапа осуществляется командой backup <откуда> <куда>:
#Добавляем папку /etc/ с локальной машины в папку localhost/
backup /etc/ local/
#Добавляем папку /var/svn с удаленной машины в папку remotehost/
backup backup@remotehost.ru:/var/svn/ remotehost/
Помните, что в конфигурационном файле недопустимы пробелы — используйте только табы.
Пробный запуск
Запустим rsnapshot:
$ rsnapshot hourly
Второй параметр означает интервал, который мы задали в конфигурационном файле.
Команда может выполняется продолжительное время. После выполнения, смотрим, что она создала:
$ ls -l /var/snapshots
Пока что в директории должен быть один каталог: hourly.0. При следующем запуске rsnapshot будет создавать каталоги hourly.1, hourly.2 и т.д., пока не упрется в максимум, указанный нами в конфигурационном файле.
Настройка cron
В Ubuntu автоматически создается файл /etc/cron.d/rsnapshot со следующим содержанием:
0 */4 * * * root /usr/bin/rsnapshot hourly
30 3 * * * root /usr/bin/rsnapshot daily
0 3 * * 1 root /usr/bin/rsnapshot weekly
30 2 1 * * root /usr/bin/rsnapshot monthly
Вот и все. Теперь у вас 6 раз в сутки должен автоматически создаваться снимок данных с вашего удаленного сервера. Данные в сохранности, да еще и географически распределены.
Кстати, 6 раз в сутки не означает, что размер будет в 6 раз больше, чем если копировать всего 1 раз в сутки. Если в промежутки между копированиями не будет изменений в файлах, то общий размер копий почти не изменится.
Дополнительная информация
С помощью параметра backup_script можно также настроить резервное копирование баз данных MySQL, да и вообще всего, чего угодно. Я не описывал сей процесс, т.к. у меня он не используется и ничего конкретного сказать не могу.
Подробнее можно почитать в гугле. По запросу rsnapshot вылезает куча релевантных ссылок, правда на английском языке.
Прошу особо не ругать, на гуру администрирования(да и linux) я не похож, но довольно долго искал, как просто автоматизировать резервное копирование — нашел способ, решил поделиться.
Но конструктивной критике и предложениям буду, конечно, рад.
************
вторник, 7 июля 2009 г.
Установка Ejabberd
Jabber - это сервер мгновенных сообщений основанный на открытом протоколе. Сервера jabber могут устанавливаться децентрализовано, любой желающий может открыть свой сервер мгновенных сообщений регистрировать пользователей и взаимодействовать с другими серверами jabber. Для Linux реализовано несколько серверов, одни из популярных это jabberd2, ejabberd, OpenFire. Для установки был выбран ejabberd. Его основные особенности это - простота установки, отказоустойчивость, наибольшая популярность. Написан он на языке Erland, в качестве базв данных используется Mnesia (поддерживаются и другие MySQL,...)
Первоначальная установка стандартна:
apt-get install ejabberd
В результате будет установлен не только сервер ejabberd, но и все зависимости, включая erland. (apt-get -f install - до установка зависимых пакетов)
Общий объем скаченных данных примерно 40Мб.
Все настройки находятся в конфигурационном файле /etc/ejabberd/ejabberd.cfg
Все строки начинающиеся со знака % - считаются комментариями. Любое условие состоит из названия параметра и его значений, должно заканчиваться точкой. Также следует помнить что в условии не должно быть разрывов, то есть лишних строк. И еще - если какое-либо из условий не будет определено в конфигурационном файле, используются значения, сохраненные в базе данных. Обычно все условия сразу вставляются в конфиг. файл.
Основные настройки:
в файле hosts - должна быть запись:
127.0.0.1 localhost
192.168.0.3 ub3.example.local
Перезапустить сервер можно стандартным способом service ejabberd restart или специальной утилитой - ejabberdctl:
ejabberdctl restart
ejabberdctl status
=> Node ejabberd@ub3 is started. status started
Если в ответ получается другое сообщение, то просматриваем вывод netstat -na. Если в выводе нет открытых портов, останавливаем сервис и проверяем ejabberd.cfg, а также проверяем разрешение имен.
Теперь необходимо завести пользователей, имеющих права администратора. В нашем случае это будет - sa
ejabberdctl register sa ub3.example.local 111
проверяем, что пользователь успешно создан:
ejabberdctl sa
Теперь если был разрешен веб-интерфейс, заходим на странице http://ub3.example.local:5280/admin На запрос имени пользователя вводим наименование созданного администратора ejabberd. Имя надо вводить полностью как почтовый адрес sa@ub3.example.local Это основная особенность протокола jabber - все аккаунты привязаны к серверам на которых они зарегистрированы. Я думаю это сделано для реализации взаимодействия децентрализованных jabber серверов. Еще одно преимущество это то что можно использовать одинаковый имена пользователей в глобальной сети, состоящей из нескольких jabber серверов. Веб-интерфейс позволяет в удобной форме настраивать списки управления доступом, заводить и удалять пользователей, просматривать статистику. Все настройки произведенные через веб-интерфейс, в конфигурационном файле не сохраняются. При наличии записей override_* они будут действительны до первой перезагрузки.
При написании этой заметки и установки jabber-сервера я использовал статью: http://www.xakep.ru/post/39467/default.asp?print=true
В настройках squid я также сделал разрешение для порта 5222 (acl SSL_ports port 5222)
Первоначальная установка стандартна:
apt-get install ejabberd
В результате будет установлен не только сервер ejabberd, но и все зависимости, включая erland. (apt-get -f install - до установка зависимых пакетов)
Общий объем скаченных данных примерно 40Мб.
Все настройки находятся в конфигурационном файле /etc/ejabberd/ejabberd.cfg
Все строки начинающиеся со знака % - считаются комментариями. Любое условие состоит из названия параметра и его значений, должно заканчиваться точкой. Также следует помнить что в условии не должно быть разрывов, то есть лишних строк. И еще - если какое-либо из условий не будет определено в конфигурационном файле, используются значения, сохраненные в базе данных. Обычно все условия сразу вставляются в конфиг. файл.
Основные настройки:
override_acls. % Список домена(ов), который обслуживает сервер {hosts, ["ub3.example.local", "localhost"]}. % Язык сообщений сервера {language, "ru"}. % Пользователи с привилегиями администратора {acl, admin, {user, "sa", "ub3.example.local"}}. {acl, admin, {user, "sergej", "ub3.example.local"}}. {acl, admin, {user, "sa", "localhost"}}. % Список заблокированных пользователей {acl, blocked, {user, "test"}}. % Разрешаем локальных пользователей {acl, local, {user_regexp, ""}}. % Разрешаем использовать конфигурационный интерфейс только администраторам {access, configure, [{allow, admin}]} % Разрешаем регистрацию пользователей {access, register, [{allow, all}]}. % Так можно запретить самостоятельную регистрацию пользователей, сделав сервер закрытым %{access, register, [{deny, all}]}. % Сообщение при регистрации, можно использовать буквы русского алфавита {welcome_message, {"Welcome!", "Welcome Grinder Jabber Service."}}. % Кому отсылать сообщения о регистрации новых пользователей {registration_watchers, ["grinder@grinder.com"]}. % Разрешаем только админам отсылать многоадресные объявления {access, announce, [{allow, admin}]}. % Только незаблокированные пользователи могут соединяться с севером {access, c2s, [{deny, blocked}, {allow, all}]}. % Администраторы сервера являются и администраторами MUC (Multi User Chat) {access, muc_admin, [{allow, admin}]}. % Разрешаем всем пользователям подключаться к MUC {access, muc, [{allow, all}]}. % Используем встроенную базу данных {auth_method, internal}. % Порты, на которых будут работать сервисы ejabberd {listen, % Обычный сервис client-2-server [{5222, ejabberd_c2s, [{access, c2s}, starttls, {certfile, "/etc/ssl/certs/ejabberd.pem"}, {shaper, c2s_shaper}]}, % Сервис client-2-server с использованием SSL {5223, ejabberd_c2s, [{access, c2s}, tls, {certfile, "/etc/ssl/certs/ejabberd.pem"}, {shaper, c2s_shaper}]}, % Порт для работы server-2-server {5269, ejabberd_s2s_in, [{shaper, s2s_shaper}]}, {outgoing_s2s_port, 5269}. % Транспорт Jabber <-> ICQ {5347, ejabberd_service, [{ip, {127, 0, 0, 1}}, {access, local}, {host, ["icq.grinder.com", "sms.localhost"], [{password, "secret"}]}]}, % Веб-интерфейс {5280, ejabberd_http, [http_poll, web_admin]}]}. % Используемые модули и параметры {modules, [ {mod_announce, [{access, announce}]}, ... ]}.В том же каталоге (/etc/ejabberd/) находится еще один важный - inetrc, отвечающий за работу со службой DNS. Если сервер ejabberd применяется в локальной сети, где нет смысла настраивать DNS-сервер, необходимо указать использование /etc/hosts
{file, hosts, "/etc/hosts"}. {file, resolv, "/etc/resolv.conf"}. % сначала ищем записи в hosts, а затем обращаемся к DNS {lookup, [file, dns]}.
в файле hosts - должна быть запись:
127.0.0.1 localhost
192.168.0.3 ub3.example.local
Перезапустить сервер можно стандартным способом service ejabberd restart или специальной утилитой - ejabberdctl:
ejabberdctl restart
ejabberdctl status
=> Node ejabberd@ub3 is started. status started
Если в ответ получается другое сообщение, то просматриваем вывод netstat -na. Если в выводе нет открытых портов, останавливаем сервис и проверяем ejabberd.cfg, а также проверяем разрешение имен.
Теперь необходимо завести пользователей, имеющих права администратора. В нашем случае это будет - sa
ejabberdctl register sa ub3.example.local 111
проверяем, что пользователь успешно создан:
ejabberdctl sa
Теперь если был разрешен веб-интерфейс, заходим на странице http://ub3.example.local:5280/admin На запрос имени пользователя вводим наименование созданного администратора ejabberd. Имя надо вводить полностью как почтовый адрес sa@ub3.example.local Это основная особенность протокола jabber - все аккаунты привязаны к серверам на которых они зарегистрированы. Я думаю это сделано для реализации взаимодействия децентрализованных jabber серверов. Еще одно преимущество это то что можно использовать одинаковый имена пользователей в глобальной сети, состоящей из нескольких jabber серверов. Веб-интерфейс позволяет в удобной форме настраивать списки управления доступом, заводить и удалять пользователей, просматривать статистику. Все настройки произведенные через веб-интерфейс, в конфигурационном файле не сохраняются. При наличии записей override_* они будут действительны до первой перезагрузки.
При написании этой заметки и установки jabber-сервера я использовал статью: http://www.xakep.ru/post/39467/default.asp?print=true
В настройках squid я также сделал разрешение для порта 5222 (acl SSL_ports port 5222)
воскресенье, 5 июля 2009 г.
Установка SAMS
SAMS - это дополнение для squid, которое позволяет через web интерфейс удобно администрировать пользователей прокси-сервера, производить сбор статистики по работе с интернет ресурсами и генерировать отчеты о потреблении трафика. Программа отлично подойдет для небольших предприятий и для личного использования. Хочется также отметить что эта программа имеет подробную документацию на русском языке (/usr/share/sams/doc/). Я присоединяюсь к многочисленным положительным отзывам о ее работе и благадарю программистов за создания хорошего продукта.
В интернете много примеров установки sams, один из них: http://24may.kharkov.ua/view_ubuntu.php?id=7
Сначала я скачал дистрибутив
wget http://www.sergldom.ua-rus.net/file/sams_1.0.4.1.zip
Последнею версию я скачивал от сюда где для каждого дистрибутива своя сборка
wget http://nixdev.net/release/sams/packages/xUbuntu_9.10/all/sams-doc_1.0.5_all.deb
wget http://nixdev.net/release/sams/packages/xUbuntu_9.10/all/sams-web_1.0.5_all.deb
wget http://nixdev.net/release/sams/packages/xUbuntu_9.10/amd64/sams_1.0.5_amd64.deb
wget http://nixdev.net/release/sams/packages/xUbuntu_9.10/i386/sams_1.0.5_i386.deb
Затем распокавал и получил следующих три файла (установочных пакетов).
unzip sams_1.0.4.1.zip
Устанавливаем пакеты:
dpkg -i sams_1.0.4-1_i386.deb
dpkg -i sams-doc_1.0.4-1_all.deb
dpkg -i sams-web_1.0.4-2_all.deb
Создаем базы SAMS в MySQL
Для этого перемещаемся в каталог /usr/share/sams/mysql и там выполняем команды:
mysql -u root -p
GRANT ALL ON squidctrl.* TO sams@localhost IDENTIFIED BY "yourpassword";
GRANT ALL ON squidlog.* TO sams@localhost IDENTIFIED BY "yourpassword";
После этого имя пользователя и пароль надо сохранить в файле конфигурации SAMS /etc/sams.conf:
MYSQLUSER=sams - Имя пользователя MySQL, от имени которого будет работать SAMS
MYSQLPASSWORD=yourpasswd - Пароль пользователя в MySQL
safe_mode =" On"
safe_mode_exec_dir = "/usr/share/sams/bin"
disable_functions = "chdir,dl,ini_get_all,popen,proc_open,passthru,pcntl_exec">/sams)
используйте следующие логин/пароль: admin/qwerty
4. Т.к. пароль администратора и аудитора установлен по умолчанию - рекомендуется сразу сменить его через web-интерфейс
5. После этого необходимо настроить параметры работы samsdaemon: тип авторизации пользователей, частота парсинга логов и реконфигурации squid, и прочее
6. После этого можно создавать пользователей
В моем случае я пробовал настраивать доступ пользователей с NCSA и IP авторизпцией.
для варианта настроек с NCSA (это доступ по паролю) необходимо в конфиг. squid внести дополнительные настройки:
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/ncsa.sams
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
для IP авторизации автоматически добовляется настройка, (если нет добавить вручную):
url_rewrite_program /usr/bin/samsredir
redirect_children 5
redirector_bypass on
а также ссылка на файл default.sams, в котором перечислены разрешенные ip
Все изменения передаются в squid по команде из sams - "послать запрос на переконфигурацию squid". Реация сробатывания этой процедуры зависит от значения параметра "период времени запросов на изменения конфигурации", оптимальное значение = 10сек.
Очередная проблема - кнопки WEB interface settings и SAMS administration ни чего не отображают. Помог совет - закомментировать функцию GetHostName() в sams/src/webconfigtray.php и sams/src/configtray.php
В интернете много примеров установки sams, один из них: http://24may.kharkov.ua/view_ubuntu.php?id=7
Сначала я скачал дистрибутив
wget http://www.sergldom.ua-rus.net/file/sams_1.0.4.1.zip
Последнею версию я скачивал от сюда где для каждого дистрибутива своя сборка
wget http://nixdev.net/release/sams/packages/xUbuntu_9.10/all/sams-doc_1.0.5_all.deb
wget http://nixdev.net/release/sams/packages/xUbuntu_9.10/all/sams-web_1.0.5_all.deb
wget http://nixdev.net/release/sams/packages/xUbuntu_9.10/amd64/sams_1.0.5_amd64.deb
wget http://nixdev.net/release/sams/packages/xUbuntu_9.10/i386/sams_1.0.5_i386.deb
Затем распокавал и получил следующих три файла (установочных пакетов).
unzip sams_1.0.4.1.zip
Устанавливаем пакеты:
dpkg -i sams_1.0.4-1_i386.deb
dpkg -i sams-doc_1.0.4-1_all.deb
dpkg -i sams-web_1.0.4-2_all.deb
Создаем базы SAMS в MySQL
Для этого перемещаемся в каталог /usr/share/sams/mysql и там выполняем команды:
mysql -u root -p
GRANT ALL ON squidctrl.* TO sams@localhost IDENTIFIED BY "yourpassword";
GRANT ALL ON squidlog.* TO sams@localhost IDENTIFIED BY "yourpassword";
После этого имя пользователя и пароль надо сохранить в файле конфигурации SAMS /etc/sams.conf:
MYSQLUSER=sams - Имя пользователя MySQL, от имени которого будет работать SAMS
MYSQLPASSWORD=yourpasswd - Пароль пользователя в MySQL
safe_mode =" On"
safe_mode_exec_dir = "/usr/share/sams/bin"
disable_functions = "chdir,dl,ini_get_all,popen,proc_open,passthru,pcntl_exec">/sams)
используйте следующие логин/пароль: admin/qwerty
4. Т.к. пароль администратора и аудитора установлен по умолчанию - рекомендуется сразу сменить его через web-интерфейс
5. После этого необходимо настроить параметры работы samsdaemon: тип авторизации пользователей, частота парсинга логов и реконфигурации squid, и прочее
6. После этого можно создавать пользователей
В моем случае я пробовал настраивать доступ пользователей с NCSA и IP авторизпцией.
для варианта настроек с NCSA (это доступ по паролю) необходимо в конфиг. squid внести дополнительные настройки:
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/ncsa.sams
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
для IP авторизации автоматически добовляется настройка, (если нет добавить вручную):
url_rewrite_program /usr/bin/samsredir
redirect_children 5
redirector_bypass on
а также ссылка на файл default.sams, в котором перечислены разрешенные ip
Все изменения передаются в squid по команде из sams - "послать запрос на переконфигурацию squid". Реация сробатывания этой процедуры зависит от значения параметра "период времени запросов на изменения конфигурации", оптимальное значение = 10сек.
Очередная проблема - кнопки WEB interface settings и SAMS administration ни чего не отображают. Помог совет - закомментировать функцию GetHostName() в sams/src/webconfigtray.php и sams/src/configtray.php
пятница, 26 июня 2009 г.
SQUID - настрока ICQ, Jabber, клиент банк
Настройка ICQ через прокси squid хорошо описана во многих статьях. Лишний раз повторю настройки, что бы все было в одном месте.
общая настройка доступа по локальной сети:
acl localnet src 192.168.0.0/24
сами настройки:
acl SSL_ports port 5190 # ICQ
acl ICQ_PORT port 5190
acl ICQ_PROTO proto https
acl ICQ_DOMAIN dstdomain login.icq.com
acl ICQ_ADDR dst 64.12.0.0/16 205.188.0.0/16
http_access allow localnet ICQ_ADDR ICQ_PORT ICQ_PROTO CONNECT
always_direct allow ICQ_DOMAIN ICQ_PORT CONNECT
always_direct allow ICQ_ADDR ICQ_PORT CONNECT
Далее настройки для программы клиент банк:
acl SSL_ports port 1966 # kl_bank
далее написал настройку по аналогии с icq, на она не понадобилась
acl bank_p port 1966
acl bank_o proto https
acl bank_d dstdomain eclient.vorkuta.severgazbank.ru
acl bank_a dst 194.168.1.1
http_access allow localnet bank_a bank_p bank_o CONNECT
always_direct allow bank_d bank_p CONNECT
always_direct allow bank_a bank_p CONNECT
настройка для Jabber:
acl SSL_ports port 5222 # jabber
без этих настроек в локальном варианте по моему тоже будет работать
acl JABBER_DOMAIN dstdomain jabber.ru qip.ru
acl JABBER_ADDR dst 213.180.0.0/16 195.239.0.0/16 195.68.0.0/16
acl JABBER_PORT port 5222
acl JABBER_PROTO proto HTTPS
http_access allow localnet JABBER_ADDR JABBER_PORT JABBER_PROTO CONNECT
always_direct allow JABBER_DOMAIN JABBER_PORT CONNECT
always_direct allow JABBER_ADDR JABBER_PORT CONNECT
В качестве клиента я использовал программу qip Infium, которая поддерживает несколько протоколов (qip, icq, jabber) и занимает мало ресурсов. Единственный недостаток - это то, что при установки необходимо регистрировать клиента на сервере qip.ru. Если нужна поддержка только одного протокола jabber, то имеется не плохая программа - jajc.
общая настройка доступа по локальной сети:
acl localnet src 192.168.0.0/24
сами настройки:
acl SSL_ports port 5190 # ICQ
acl ICQ_PORT port 5190
acl ICQ_PROTO proto https
acl ICQ_DOMAIN dstdomain login.icq.com
acl ICQ_ADDR dst 64.12.0.0/16 205.188.0.0/16
http_access allow localnet ICQ_ADDR ICQ_PORT ICQ_PROTO CONNECT
always_direct allow ICQ_DOMAIN ICQ_PORT CONNECT
always_direct allow ICQ_ADDR ICQ_PORT CONNECT
Далее настройки для программы клиент банк:
acl SSL_ports port 1966 # kl_bank
далее написал настройку по аналогии с icq, на она не понадобилась
acl bank_p port 1966
acl bank_o proto https
acl bank_d dstdomain eclient.vorkuta.severgazbank.ru
acl bank_a dst 194.168.1.1
http_access allow localnet bank_a bank_p bank_o CONNECT
always_direct allow bank_d bank_p CONNECT
always_direct allow bank_a bank_p CONNECT
настройка для Jabber:
acl SSL_ports port 5222 # jabber
без этих настроек в локальном варианте по моему тоже будет работать
acl JABBER_DOMAIN dstdomain jabber.ru qip.ru
acl JABBER_ADDR dst 213.180.0.0/16 195.239.0.0/16 195.68.0.0/16
acl JABBER_PORT port 5222
acl JABBER_PROTO proto HTTPS
http_access allow localnet JABBER_ADDR JABBER_PORT JABBER_PROTO CONNECT
always_direct allow JABBER_DOMAIN JABBER_PORT CONNECT
always_direct allow JABBER_ADDR JABBER_PORT CONNECT
В качестве клиента я использовал программу qip Infium, которая поддерживает несколько протоколов (qip, icq, jabber) и занимает мало ресурсов. Единственный недостаток - это то, что при установки необходимо регистрировать клиента на сервере qip.ru. Если нужна поддержка только одного протокола jabber, то имеется не плохая программа - jajc.
понедельник, 25 мая 2009 г.
Сбор статистики работы сервера
Я пока не стал перегружать сервер мониторингом. Из просмотренных пакетов на эту тему мне понравилась очень простая программа - vnstat. Она собирает отдельную статистику по сетевым интерфейсам. Запускается по умолчанию в cron каждые 5 мин. Для него есть web интерфейс (надо ставить отдельный пакет).
Программа vnstat находится в репозиториях ubuntu и ставится стандартно.
Что бы начать подсчет трафика на том или ином интерфейсе, например ppp0 , надо выполнить следующую команду, которая создаст базу данных для этого интерфейса:
vnstat -u -i ppp0
vnstat -u -i eth0 - для сетевой карты
Чтобы узнать суммарную статистику по трафику через интерфейс ppp0, достаточно выполнить следующую команду:
$ vnstat -i ppp0
Дополнение: доступны и другие формы отчётов (см. man vnstat). Например, для просмотра использования трафика по месяцам:
$ vnstat -i интерфейс -m
по неделям:
$ vnstat -i интерфейс -w
по дням:
$ vnstat -i интерфейс -d
по часам:
$ vnstat -i интерфейс -h
и, наконец, для желающих формировать собственные отчёты, может пригодится
$ vnstat -i интерфейс --dumpdb
Если же возникнет желание стереть (сбросить) всю собранную статистику и начать отсчёт с нуля, то, на мой взгляд, самый простой способ это сделать:
1. остановить подсчёт статистики для используемого интерфейса:
vnstat -i интерфейс -u -r --disable
2. удалить базу данных с собранной статистики (файл /var/lib/vnstat/интерфейс)
3. создать новую базу данных с помощью
vnstat -u -i интерфейс
Пример простого скрипта, который контролирует и сохроняет в файл report1.txt, основные параметры системы. Затем это отчет отправлятся по почте на мой адрес.
#!/bin/sh
#
# сбор статистики и отправка почты
# mail -s "Отчет-1 (ТТТ)" tkachenkosi@gmail.com
echo 'Отчет-1 ub3.examle.local (ТТТ)' > /var/tools/report1.txt
date >> /var/tools/report1.txt
df -h >> /var/tools/report1.txt
free -m >> /var/tools/report1.txt
vnstat >> /var/tools/report1.txt
mbmon -c1 >> /var/tools/report1.txt
hddtemp /dev/sda1 >> /var/tools/report1.txt
echo '' >> /var/tools/report1.txt
less /var/tools/report1.txt | mail -s 'Отчет-1 ub3.examle.local' tkachenkosi@ya.ru
# вариант отправки письма с присоединенным адресом (не всегда срабатывает)
#echo 'Отчет-1 ub3.examle.local' | mutt -a /var/tools/report1.txt -s 'Отчет-1 ub3.examle.local (ТТТ)' tkachenkosi@ya.ru
exit 0
phpsysinfo - еще один способ посмотреть параметры сервера
apt-get install phpsysinfo - инсталяция
http://localhost/phpsysinfo - запуск
Достоинства - минимальные требования к установки и простота использования, генерируется одна web страница средствами php.
Munin - более мощная система мониторинга сервера.
http://448dmg.ru/munin-ubuntu-289 - ссылка на сайт где есть описание
Программа vnstat находится в репозиториях ubuntu и ставится стандартно.
Что бы начать подсчет трафика на том или ином интерфейсе, например ppp0 , надо выполнить следующую команду, которая создаст базу данных для этого интерфейса:
vnstat -u -i ppp0
vnstat -u -i eth0 - для сетевой карты
Чтобы узнать суммарную статистику по трафику через интерфейс ppp0, достаточно выполнить следующую команду:
$ vnstat -i ppp0
Дополнение: доступны и другие формы отчётов (см. man vnstat). Например, для просмотра использования трафика по месяцам:
$ vnstat -i интерфейс -m
по неделям:
$ vnstat -i интерфейс -w
по дням:
$ vnstat -i интерфейс -d
по часам:
$ vnstat -i интерфейс -h
и, наконец, для желающих формировать собственные отчёты, может пригодится
$ vnstat -i интерфейс --dumpdb
Если же возникнет желание стереть (сбросить) всю собранную статистику и начать отсчёт с нуля, то, на мой взгляд, самый простой способ это сделать:
1. остановить подсчёт статистики для используемого интерфейса:
vnstat -i интерфейс -u -r --disable
2. удалить базу данных с собранной статистики (файл /var/lib/vnstat/интерфейс)
3. создать новую базу данных с помощью
vnstat -u -i интерфейс
Пример простого скрипта, который контролирует и сохроняет в файл report1.txt, основные параметры системы. Затем это отчет отправлятся по почте на мой адрес.
#!/bin/sh
#
# сбор статистики и отправка почты
# mail -s "Отчет-1 (ТТТ)" tkachenkosi@gmail.com
echo 'Отчет-1 ub3.examle.local (ТТТ)' > /var/tools/report1.txt
date >> /var/tools/report1.txt
df -h >> /var/tools/report1.txt
free -m >> /var/tools/report1.txt
vnstat >> /var/tools/report1.txt
mbmon -c1 >> /var/tools/report1.txt
hddtemp /dev/sda1 >> /var/tools/report1.txt
echo '' >> /var/tools/report1.txt
less /var/tools/report1.txt | mail -s 'Отчет-1 ub3.examle.local' tkachenkosi@ya.ru
# вариант отправки письма с присоединенным адресом (не всегда срабатывает)
#echo 'Отчет-1 ub3.examle.local' | mutt -a /var/tools/report1.txt -s 'Отчет-1 ub3.examle.local (ТТТ)' tkachenkosi@ya.ru
exit 0
phpsysinfo - еще один способ посмотреть параметры сервера
apt-get install phpsysinfo - инсталяция
http://localhost/phpsysinfo - запуск
Достоинства - минимальные требования к установки и простота использования, генерируется одна web страница средствами php.
Munin - более мощная система мониторинга сервера.
http://448dmg.ru/munin-ubuntu-289 - ссылка на сайт где есть описание
Синхронизация времени
Для синхронизации времени существует несколько пакетов:
ntp - полный вариант реализации протокола синхронизации точного времени
ntp-simple - упращенный вариан протокол - sntp (используется в windows)
ntpdate - синхронизация времени с помощью командной строки
Я выбрал ntpdate.
Через cron запускаю раз в сутки скрипт ntpdate.sh:
01 11 * * * root /var/tools/ntpdate.sh
#!/bin/sh
# для синхронизации времени каждый день
echo 'sets date and time' >> /var/log/ntpdate.log # записывае процес в log файл
date >> /var/log/ntpdate.log
ntpdate ru.pool.ntp.org ntp.ubuntu.com # синхронизация
date >> /var/log/ntpdate.log
echo '***' >> /var/log/ntpdate.log
Для синхронизации времени на рабочих станциях, которые работают под windows xp, я использую командный файл net_map.bat, который выполняется каждый раз при загрузки системы. Кроме синхронизации времени происходит монтирование сетевых дисков.
net use * /delete /yes
net time \\ub3 /set /yes
net use n: \\ub3\pub
net use u: \\ub3\buh
Команды для установки часов
uptime – кроме системного времени покажет как долго запущена ваша система
date – покажет дату и время
hwclock – тоже покажет дату и время BIOS
# date -s 21:00:00 - установка времени
# hwclock --set --date="10/31/2007 21:00:00" - изменения аппаратных часов
ntp - полный вариант реализации протокола синхронизации точного времени
ntp-simple - упращенный вариан протокол - sntp (используется в windows)
ntpdate - синхронизация времени с помощью командной строки
Я выбрал ntpdate.
Через cron запускаю раз в сутки скрипт ntpdate.sh:
01 11 * * * root /var/tools/ntpdate.sh
#!/bin/sh
# для синхронизации времени каждый день
echo 'sets date and time' >> /var/log/ntpdate.log # записывае процес в log файл
date >> /var/log/ntpdate.log
ntpdate ru.pool.ntp.org ntp.ubuntu.com # синхронизация
date >> /var/log/ntpdate.log
echo '***' >> /var/log/ntpdate.log
Для синхронизации времени на рабочих станциях, которые работают под windows xp, я использую командный файл net_map.bat, который выполняется каждый раз при загрузки системы. Кроме синхронизации времени происходит монтирование сетевых дисков.
net use * /delete /yes
net time \\ub3 /set /yes
net use n: \\ub3\pub
net use u: \\ub3\buh
Команды для установки часов
uptime – кроме системного времени покажет как долго запущена ваша система
date – покажет дату и время
hwclock – тоже покажет дату и время BIOS
# date -s 21:00:00 - установка времени
# hwclock --set --date="10/31/2007 21:00:00" - изменения аппаратных часов
воскресенье, 24 мая 2009 г.
Настройка squid
squid - это прокси сервер, предназначенный для организации выхода в глобальную сеть интернет (регулирование скорости, тарафика, доступа)
# Включить forward для сетевых карт
echo 1 > /proc/sys/net/ipv4/ip_forward (файл sysctl.conf)
apt-get install squid - инсталаяция
настройка файла конфигурации /etc/squid/squid.conf
в моем случае я раскоментировал и изменил следуещие строки:
acl localnet src 192.168.0.0/24
http_access allow localnet
http_port 3128 transparent
это минимум настроек, после которого выход в интернет с локальной сети (192.168.0.0) будет работать.
*********** ЭТО СОВЕТ ИЗ ДРУГОГЙ СТАТЬИ (Я НЕ ДЕЛАЛ) ***********
Затем для заворачивание нужных портов на сквид прописывается правило (чтобы правильно действовала настройка transparent) 192.168.0.1 на работе надо 192.168.3.9:
iptables -t nat -A PREROUTING -i eth0 -d ! 192.168.0.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.0.1:3128
это скопировал с зарубежного сайта, тут добавляют две строки:
http://www.cyberciti.biz/tips/linux-setup-transparent-proxy-squid-howto.html
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.1.1:3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t mangle -A PREROUTING -p tcp --dport 80 -d 192.168.0.0/255.255.255.0 -j ACCEPT
iptables -t mangle -A PREROUTING -s 192.168.0.0/255.255.255.0 -p tcp --dport 80 -j QUEUE
iptables -t mangle -A PREROUTING -s 192.168.0.0/255.255.255.0 -p tcp --dport 3128 -j QUEUE
iptables -t nat -A PREROUTING -m tcp -p tcp -s 192.168.0.0/255.255.255.0 -d ! 192.168.0.0/255.255.255.0
--dport 80 -j REDIRECT --to-ports 3128
**********************************************************************
...
http_port 3128 transparent
...
iptables -t nat -A PREROUTING -i eth0 -d ! 192.168.0.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.0.1:3128
**********************************************************************
Можно сделать еще настройки для большей оптимизации squid:
cache_mem 64 MB
maximum_object_size_in_memory 64 KB
cache_dir ufs /var/spool/squid 1024 64 256
always_direct allow SSL_Ports - не совсем уверен в этом параметре
refresh_pattern -i \.gif$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.png$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.jpg$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.jpeg$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.css$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.js$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.ico$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.wav$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.gz$ 43200 100% 43200 override-lastmod override-expire
(повторить для других расширений)
после настройки можно выполнить команду на создания cacha
squid -z
один раз у меня были проблемы с кэшем (при старте в логе message.log писалось чтото вроде squid exited due to signal 6). Причина была в правах на каталог /var/spool/squid/
Было необходимо выполнить команду chmod 777 /var/spool/squid и пересоздать! кеш
service networking restart
service squid restart
squid -k reconfigure - применить новую конфигурацию без перезагрузки squid
# Включить forward для сетевых карт
echo 1 > /proc/sys/net/ipv4/ip_forward (файл sysctl.conf)
apt-get install squid - инсталаяция
настройка файла конфигурации /etc/squid/squid.conf
в моем случае я раскоментировал и изменил следуещие строки:
acl localnet src 192.168.0.0/24
http_access allow localnet
http_port 3128 transparent
это минимум настроек, после которого выход в интернет с локальной сети (192.168.0.0) будет работать.
*********** ЭТО СОВЕТ ИЗ ДРУГОГЙ СТАТЬИ (Я НЕ ДЕЛАЛ) ***********
Затем для заворачивание нужных портов на сквид прописывается правило (чтобы правильно действовала настройка transparent) 192.168.0.1 на работе надо 192.168.3.9:
iptables -t nat -A PREROUTING -i eth0 -d ! 192.168.0.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.0.1:3128
это скопировал с зарубежного сайта, тут добавляют две строки:
http://www.cyberciti.biz/tips/linux-setup-transparent-proxy-squid-howto.html
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.1.1:3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
Заворачиваем 80 порт на Squid (второй совет)iptables -t mangle -A PREROUTING -p tcp --dport 80 -d 192.168.0.0/255.255.255.0 -j ACCEPT
iptables -t mangle -A PREROUTING -s 192.168.0.0/255.255.255.0 -p tcp --dport 80 -j QUEUE
iptables -t mangle -A PREROUTING -s 192.168.0.0/255.255.255.0 -p tcp --dport 3128 -j QUEUE
iptables -t nat -A PREROUTING -m tcp -p tcp -s 192.168.0.0/255.255.255.0 -d ! 192.168.0.0/255.255.255.0
--dport 80 -j REDIRECT --to-ports 3128
**********************************************************************
...
http_port 3128 transparent
...
iptables -t nat -A PREROUTING -i eth0 -d ! 192.168.0.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.0.1:3128
**********************************************************************
Можно сделать еще настройки для большей оптимизации squid:
cache_mem 64 MB
maximum_object_size_in_memory 64 KB
cache_dir ufs /var/spool/squid 1024 64 256
always_direct allow SSL_Ports - не совсем уверен в этом параметре
refresh_pattern -i \.gif$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.png$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.jpg$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.jpeg$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.css$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.js$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.ico$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.wav$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.gz$ 43200 100% 43200 override-lastmod override-expire
(повторить для других расширений)
после настройки можно выполнить команду на создания cacha
squid -z
один раз у меня были проблемы с кэшем (при старте в логе message.log писалось чтото вроде squid exited due to signal 6). Причина была в правах на каталог /var/spool/squid/
Было необходимо выполнить команду chmod 777 /var/spool/squid и пересоздать! кеш
service networking restart
service squid restart
squid -k reconfigure - применить новую конфигурацию без перезагрузки squid
Настройка подключение к интернет
Для соединения с интернет я используе ADSL модем по протоколу PPPoE
все настроки делаются командой pppoeconf. (надо отвечать на вопросы).
pon dsl-provider - соединеться с интернет
poff - разорвать соединение
для запуска соединения после загрузки операционной системы я добавил комады в файл rc.local:
poff
pon dsl-provider
также нашел рекомендацию настройки автосоединения в файле /etc/network/interfaces:
auto dsl-provider
iface dsl-provifer inet ppp
pre-up /sbin/ifconfig eth0 up
provider dsl-provider
Из личного опыты столкнулся со следуещей ситуацией
на качество соединения влияет параметр mtu (размер блока данных) в файле конфигурации /etc/ppp/peers/dsl-provider
по умолчанию mtu=1492, но для некоторых провадеров (Домолинк) его надо уменшить. В моем случаи mtu=1436
Проявления несооветствия этого параметра при работе с интернет - это невозможность открытиях некоторых сайтов. Например yandex.ru, google.com - открываются нармально, а rambler.ru, odnoklasniki... - нет.
Проверить MTU вашего провайдера можно комадой ping из WinXP, с запрещенным флагом разбивки пакетов данных и указанием размера блока данных.
пример: ping rambler.ru -f -l 1460 (лучше делать ping на DNS сервер провайдера). Методом подбора заначения -l в команде ping можно узнать оптимальных размер заначения mtu
все настроки делаются командой pppoeconf. (надо отвечать на вопросы).
pon dsl-provider - соединеться с интернет
poff - разорвать соединение
для запуска соединения после загрузки операционной системы я добавил комады в файл rc.local:
poff
pon dsl-provider
также нашел рекомендацию настройки автосоединения в файле /etc/network/interfaces:
auto dsl-provider
iface dsl-provifer inet ppp
pre-up /sbin/ifconfig eth0 up
provider dsl-provider
Из личного опыты столкнулся со следуещей ситуацией
на качество соединения влияет параметр mtu (размер блока данных) в файле конфигурации /etc/ppp/peers/dsl-provider
по умолчанию mtu=1492, но для некоторых провадеров (Домолинк) его надо уменшить. В моем случаи mtu=1436
Проявления несооветствия этого параметра при работе с интернет - это невозможность открытиях некоторых сайтов. Например yandex.ru, google.com - открываются нармально, а rambler.ru, odnoklasniki... - нет.
Проверить MTU вашего провайдера можно комадой ping из WinXP, с запрещенным флагом разбивки пакетов данных и указанием размера блока данных.
пример: ping rambler.ru -f -l 1460 (лучше делать ping на DNS сервер провайдера). Методом подбора заначения -l в команде ping можно узнать оптимальных размер заначения mtu
Настройка dnsmasq
dnsmasq - это простой кэширующий DNS(DDNS) и DHCP сервер. Применяется для небольших локальных и домашних сетях, использующих NAT и соединяющихся с интернет.
apt-get install dnsmasq - инсталяция
/etc/dnsmasq.conf - файл настроек
Моя конфигурация:
ubuntu-server 9.04 (ub3.example.local)
eth0 (192.168.1.3) - для интернет
eth1 (192.168.0.3) - локальная сеть
adsl модем по протоколу PPPoE
Мои настройки в файле /etc/dnsmasq.conf:
interface=eth1 - какой интерфейс будем обслуживать
no-dhcp-interface=eth0
resolv-file=/etc/resolv.dnsmasq.conf - свой файл со спискои DNS серевров
domain=example.local - это надо чтобы работал локальный DDNS!!
# Добавить сервер имен для домена
server=/example.local/192.168.0.3
# Добавить сервер имен для запроса домена по адресу
server=/0.168.192.in-addr.arpa/192.168.0.3
dhcp-range=192.168.0.50,162.168.0.150,14hcache-size=300
dhcp-leasefile=/var/lib/misc/dnsmasq.leases - список арендованных адресов
в файле /etc/resolv.conf добовляем первой строчкой следующию запись:
nameserver 127.0.0.1, там также должны быть записи о DNS сереверах от вашего провайдера
далее копируем этот файл в /etc/resolv.dnsmasq.conf
и заменяем им файл /etc/ppp/resolv.conf
в файле настроек /etc/ppp/peers/dsl-provider запретим обновлять resolv.conf коментируя параметр: #usepeerdns
в файле настроек /etc/dhcp3/dhclient.conf снимаем коментарий с параметра prepend
(prepend domain-name-server 127.0.0.1, ...(дописать можно несколько DNS адресов))
service dnsmasq restart
проверить работу dnsmasq можно командой:
dig ya.ru
Пример содержимого файла (на работе): /etc/resolv.conf
nameserver 127.0.0.1
nameserver 78.36.121.19
nameserver 78.36.121.18
search osb7128.local
Пример содержимого файла: /etc/ppp/resolv.conf
nameserver 127.0.0.1
nameserver 78.36.121.19
nameserver 78.36.121.18
Пример содержимого файла (автоматическая настройка): /etc/resolv.conf
на виртуальном сервере Ubuntu 9.10 в качестве шлюза MikroTik
domain 192.168.0.7
search 192.168.0.7
nameserver 127.0.0.1
nameserver 192.168.0.7
Файл (на работе): /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.9
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
mtu 1436
dns-nameservers 127.0.0.1
dbs-search ub1.osb7128.local
auto eth1
iface eth1 inet static
address 192.168.3.9
netmask 255.255.255.0
network 192.168.3.0
broadcast 192.168.3.255
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 127.0.0.1
apt-get install dnsmasq - инсталяция
/etc/dnsmasq.conf - файл настроек
Моя конфигурация:
ubuntu-server 9.04 (ub3.example.local)
eth0 (192.168.1.3) - для интернет
eth1 (192.168.0.3) - локальная сеть
adsl модем по протоколу PPPoE
Мои настройки в файле /etc/dnsmasq.conf:
interface=eth1 - какой интерфейс будем обслуживать
no-dhcp-interface=eth0
resolv-file=/etc/resolv.dnsmasq.conf - свой файл со спискои DNS серевров
domain=example.local - это надо чтобы работал локальный DDNS!!
# Добавить сервер имен для домена
server=/example.local/192.168.0.3
# Добавить сервер имен для запроса домена по адресу
server=/0.168.192.in-addr.arpa/192.168.0.3
dhcp-range=192.168.0.50,162.168.0.150,14hcache-size=300
dhcp-leasefile=/var/lib/misc/dnsmasq.leases - список арендованных адресов
в файле /etc/resolv.conf добовляем первой строчкой следующию запись:
nameserver 127.0.0.1, там также должны быть записи о DNS сереверах от вашего провайдера
далее копируем этот файл в /etc/resolv.dnsmasq.conf
и заменяем им файл /etc/ppp/resolv.conf
в файле настроек /etc/ppp/peers/dsl-provider запретим обновлять resolv.conf коментируя параметр: #usepeerdns
в файле настроек /etc/dhcp3/dhclient.conf снимаем коментарий с параметра prepend
(prepend domain-name-server 127.0.0.1, ...(дописать можно несколько DNS адресов))
service dnsmasq restart
проверить работу dnsmasq можно командой:
dig ya.ru
Пример содержимого файла (на работе): /etc/resolv.conf
nameserver 127.0.0.1
nameserver 78.36.121.19
nameserver 78.36.121.18
search osb7128.local
Пример содержимого файла: /etc/ppp/resolv.conf
nameserver 127.0.0.1
nameserver 78.36.121.19
nameserver 78.36.121.18
Пример содержимого файла (автоматическая настройка): /etc/resolv.conf
на виртуальном сервере Ubuntu 9.10 в качестве шлюза MikroTik
domain 192.168.0.7
search 192.168.0.7
nameserver 127.0.0.1
nameserver 192.168.0.7
Файл (на работе): /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.9
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
mtu 1436
dns-nameservers 127.0.0.1
dbs-search ub1.osb7128.local
auto eth1
iface eth1 inet static
address 192.168.3.9
netmask 255.255.255.0
network 192.168.3.0
broadcast 192.168.3.255
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 127.0.0.1
воскресенье, 19 апреля 2009 г.
Первые настройки после инсталяции ubuntu-server
1 - активация root, надо установить пароль для root командой sudo passwd root
2- обновление информации о репозитарии и установка необходимых пакетов
/etc/apt/sources.list - подправить список источников пакетов
apt-get update - получить список пакетов! (обязательно. надо )
apt-get upgrade - обновить систему
3 - установка дополнительных пакетов:
apt-get install ...
gpm - инсталяция консольной мыши
mc - файловый менеджер
ntpdate - синхронизация времени командной строкой (есть еще пакет ntp-simple)
acpid - дополнительный пакет для кнопки power !! (в 9.04 уже есть)
htop - улучшеный менеджер сервисов
iftop - контроль сетевого обмена
nmap - работа с сетевыми интерфейсами
iptraf - мониторинг трафика сетевых устройств (с интерфейсом)
vnstat - сбор статистики по сетевым интерфейсам
nc - передача файлов на другие компьютеры (в 9.04 уже есть)
beep - работа со звуком (/etc/rc.local beep -f 1000 -n -f 2000 -т -n -f 1500)
dnsmasq - алтернатива dns и dhcp
proftpd ucf - распространненый ftp сервер
4 - настройка консоли:
dpkg-reconfigure console-setup - русификация консоли (нормальное отоброжение utf-8, для вер. 9.04 и выше - не надо)
update-alternatives –config editor - выбрать альтернативный редактор (после установки пакета mc = mcedit)
5 - пример как монтировать usb
mkdir /mnt/usb для удобство создаем каталог для usb
mount /dev/sdb1 -t vfat -o iocharset=utf8 /mnt/usb
можно попробовать дополнительные параметры:
mount /dev/sdb1 -t vfat -o iocharset=utf8,umask=000,uid=1000 /mnt/usb
(,umask=000,uid=1000) - дополнительные параметры
(umask - биты полномочий, uid - кто влаелец, gid-какая группа)
6 - пример установки пакетов без интернета
cp mc* /media/tmp - скопировать пакет во временный каталог
dpkg -i mc* - установка mc
7 - установка webmin с загрузкой пакета из интернета:
wget http://prdownloads.sourceforge.net/webadmin/webmin_1.470_all.deb
dpkg -i webmin* - установка webmin
apt-get -f install - установка всех зависимых пакетов
apt-cache search программа поиск программы в кэше.
apt-cache show программа показывает информацию и описание пакета программы.
apt-cache showpkg программа покажет зависимости пакета программы.
8 - настройка Samba (смотреть тему samba)
9 - настройка DNS и Postfix (смотреть тему DNS)
10 - настройка Squid (смотреть тему squid)
11 - для мониторинга:
webalizer, mrtg, vnstat
Просто и быстро присвоить адрес можно так:
ifconfig eth1 192.168.0.13 netmask 255.255.255.0. up
Пример настройки сетевого интерфейса в файлах conf:
/etc/network/interfaces
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.3
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 127.0.0.1
dns-search ub3.example.local
auto eth1
iface eth1 inet static
address 192.168.0.3
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf
provider dsl-provider
/etc/network/hosts
127.0.0.1 localhost
192.168.0.3 ub3.example.local ub3
Некоторые примеры настройки сети с помощью консольных команд:
sudo ifconfig eth0 down
sudo ifconfig eth0 up
sudo ifconfig eth0 inet 192.168.140.1
sudo ifconfig eth0 hw ether 00:12:34:56:78:90 - установить мас адрес
Если связь с интернет идет через прокси то для обновления пакетов необходимо настроить модуль APT:
Поместите в /etc/apt/apt.conf
Acquire::http::Proxy "http://host:port/;
или
Acquire::http::Proxy "http://login:pass@ip:port";
Acquire::ftp::Proxy "http://login:pass@ip:port";
Я так же дополнительно выполнил команды (их лучше прописать в bash.ini):
export http_proxy="http://login:pass@host:port"
export ftp_proxy="http://login:pass@host:port"
2- обновление информации о репозитарии и установка необходимых пакетов
/etc/apt/sources.list - подправить список источников пакетов
apt-get update - получить список пакетов! (обязательно. надо )
apt-get upgrade - обновить систему
3 - установка дополнительных пакетов:
apt-get install ...
gpm - инсталяция консольной мыши
mc - файловый менеджер
ntpdate - синхронизация времени командной строкой (есть еще пакет ntp-simple)
acpid - дополнительный пакет для кнопки power !! (в 9.04 уже есть)
htop - улучшеный менеджер сервисов
iftop - контроль сетевого обмена
nmap - работа с сетевыми интерфейсами
iptraf - мониторинг трафика сетевых устройств (с интерфейсом)
vnstat - сбор статистики по сетевым интерфейсам
nc - передача файлов на другие компьютеры (в 9.04 уже есть)
beep - работа со звуком (/etc/rc.local beep -f 1000 -n -f 2000 -т -n -f 1500)
dnsmasq - алтернатива dns и dhcp
proftpd ucf - распространненый ftp сервер
4 - настройка консоли:
dpkg-reconfigure console-setup - русификация консоли (нормальное отоброжение utf-8, для вер. 9.04 и выше - не надо)
update-alternatives –config editor - выбрать альтернативный редактор (после установки пакета mc = mcedit)
5 - пример как монтировать usb
mkdir /mnt/usb для удобство создаем каталог для usb
mount /dev/sdb1 -t vfat -o iocharset=utf8 /mnt/usb
можно попробовать дополнительные параметры:
mount /dev/sdb1 -t vfat -o iocharset=utf8,umask=000,uid=1000 /mnt/usb
(,umask=000,uid=1000) - дополнительные параметры
(umask - биты полномочий, uid - кто влаелец, gid-какая группа)
6 - пример установки пакетов без интернета
cp mc* /media/tmp - скопировать пакет во временный каталог
dpkg -i mc* - установка mc
7 - установка webmin с загрузкой пакета из интернета:
wget http://prdownloads.sourceforge.net/webadmin/webmin_1.470_all.deb
dpkg -i webmin* - установка webmin
apt-get -f install - установка всех зависимых пакетов
apt-cache search программа поиск программы в кэше.
apt-cache show программа показывает информацию и описание пакета программы.
apt-cache showpkg программа покажет зависимости пакета программы.
8 - настройка Samba (смотреть тему samba)
9 - настройка DNS и Postfix (смотреть тему DNS)
10 - настройка Squid (смотреть тему squid)
11 - для мониторинга:
webalizer, mrtg, vnstat
Просто и быстро присвоить адрес можно так:
ifconfig eth1 192.168.0.13 netmask 255.255.255.0. up
Пример настройки сетевого интерфейса в файлах conf:
/etc/network/interfaces
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.3
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 127.0.0.1
dns-search ub3.example.local
auto eth1
iface eth1 inet static
address 192.168.0.3
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf
provider dsl-provider
/etc/network/hosts
127.0.0.1 localhost
192.168.0.3 ub3.example.local ub3
Некоторые примеры настройки сети с помощью консольных команд:
sudo ifconfig eth0 down
sudo ifconfig eth0 up
sudo ifconfig eth0 inet 192.168.140.1
sudo ifconfig eth0 hw ether 00:12:34:56:78:90 - установить мас адрес
Если связь с интернет идет через прокси то для обновления пакетов необходимо настроить модуль APT:
Поместите в /etc/apt/apt.conf
Acquire::http::Proxy "http://host:port/;
или
Acquire::http::Proxy "http://login:pass@ip:port";
Acquire::ftp::Proxy "http://login:pass@ip:port";
Я так же дополнительно выполнил команды (их лучше прописать в bash.ini):
export http_proxy="http://login:pass@host:port"
export ftp_proxy="http://login:pass@host:port"
Подписаться на:
Сообщения (Atom)