вторник, 22 апреля 2014 г.

Настройка интернет-шлюза на ubuntu server 14.04

1. Настраиваем сетевые интерфейсы:
nano /etc/network/interfaces
-------------------------
auto lo
iface lo inet loopback

# The primary network interface
auto p5p1
iface p5p1 inet dhcp

auto p4p1
iface p4p1 inet static
address 10.10.10.1
netmask 255.255.255.0

auto p5p1
iface p5p1 inet static
address 20.20.20.1
netmask 255.255.255.0
-------------------------

где:
p5p1 - мир
p4p1 - внутренняя сеть
p5p2 - внутренняя сеть

2. Настройка SSH-сервера

Установка:
apt-get install openssh-server
 Настройка (редактируем файл sshd_config):
nano /etc/ssh/sshd_config
Port 32123 # порт доступа
PermitRootLogin no # запрет входа под root
PermitEmptyPasswords no # запрет входа под учётной записью без пароля
AllowUsers goreckii_ai # разрешённые учётные записи

Перезапуск службы:
sudo /etc/init.d/ssh restart
3. Настройка Firewall (ufw)

запрет входящего трафика по всем портам:
ufw default deny
разрешаем ssh (для всех ip-адресов):
ufw allow 32123/tcp
или разрешаем ssh только для локальной сети:
ufw allow proto tcp from 10.10.10.0/24 to 10.10.10.1 port 32123

4. Настройка маршрутизации

 Включаем форвардинг пакетов и отключаем IPv6 в UFW (редактируем файл ufw):
IPV6=no
DEFAULT_FORWARD_POLICY="ACCEPT"
редактируем файл sysctl.conf:
net.ipv4.ip_forward=1
выполняем команду:
sysctl -p
4. Настройка NAT

редактируем файл before.rules:

# Табица NAT
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
#Очистка
-F PREROUTING
-F POSTROUTING
# включаем трансляцию из сети 10.10.10.0 через интерфейс подключенный к интернету (p5p1)
-A POSTROUTING -s 10.10.10.0/24 -o p5p1 -j MASQUERADE
# включаем трансляцию из сети 20.20.20.0 через интерфейс подключенный к интернету (p5p1)
-A POSTROUTING -s 20.20.20.0/24 -o p5p1 -j MASQUERADE

# don't delete the 'COMMIT' line or these nat table rules won't be processed
COMMIT

Перезагружаем Firewall:
ufw disable && ufw enable
Добавляем правила для внутренних сетей:
ufw allow from 10.10.10.0/24 
ufw allow from 20.20.20.0/24
 Базовый интернет-шлюз готов.





четверг, 13 марта 2014 г.

Как сбросить пароль доступа к сетевой папке

Нажимаете комбинацию клавиш Win+R или "Пуск-Выполнить" и вводите команду:
control userpasswords2
Дальше выбираете вкладку "Дополнительно-Управление паролями-Учётные данные Windows". Выбираете необходимую учётную запись и нажимаете кнопку "Изменить". Вводите необходимые учётные данные и нажимаете кнопку "Сохранить".

Восстановление пароля root в FreeBSD

 Оригинал статьи находится здесь.

1. Загружаемся в single mode
2. Необходимо смонтировать систему в режиме чтения-записи:
/sbin/mount -o rw /dev/ad4s1a /
/sbin/mount -o rw /dev/ad4s1f /usr
 3. Используем утилиту passwd:
/usr/bin/passwd
4. Вводим новый пароль и перезагружаемся.

среда, 5 марта 2014 г.

Восстановление загрузчика Windows 7

Оригинал и более подробная статья находится здесь.

Для восстановления загрузчика Windows 7 можно использовать установочный диск Windows 7 или образ MSDart.
Используя установочный диск:
- в начальном окне установщика windows 7 выберите "Восстановление системы"
- в следующем окне выберите ОС, которую необходимо восстановить и нажмите "Далее"
- в окне "Параметры восстановления системы" выберите пункт "Командная строка"
- введите две команды:
Bootrec.exe /FixMbr
эта команда создаёт главную загрузочную запись, совместимую с windows 7, в системном разделе. И:
Bootrec.exe /FixBoot
эта команда записывает в системный раздел новый загрузочный сектор, совместимый с windows 7.
Потом перезагружаемся и проверяем.

Если Вы используете MSDart то Вы сразу попадёте в окно "Параметры восстановления системы". А дальше всё по аналогии.

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

Скрипт автоматической настройки Linux Ubuntu, Mint etc. на примере Ubuntu 12.04

Скрипт должен выполняться от имени root-а и начинаться со строк:
#!/bin/bash
 Как принято, сначала обновляем систему до актуального состояния. Добавим несколько команд:
notify-send --expire-time=10000 "Начальное обновление системы"
apt-get -y update
apt-get -y --force-yes upgrade
apt-get -y --force-yes dist-upgrade
Остановимся поподробней:
 notify-send --expire-time=10000 "Начальное обновление системы" - всплывающее сообщение (Если Вам это не нужно можно эту команду не писать).
apt-get -y update - обновление списка пакетов (ключ "-y" означает нажатие кнопки "Enter").
apt-get -y --force-yes upgrade - загрузка и установка необходимых пакетов (ключ "--force-yes" означает ввод слова "yes", когда необходимо подтвердить загрузку и установку зависимостей).
apt-get -y --force-yes dist-upgrade - обновление дистрибутива.

Дальше мы добавим список сторонних репозиториев:
notify-send --expire-time=10000 "Список репозиториев"
# Audacious

add-apt-repository -y ppa:nilarimogard/webupd8
# Ubuntu Tweak
add-apt-repository -y ppa:tualatrix/next
# Wine

add-apt-repository -y ppa:ubuntu-wine/ppa
# My-Weather

add-apt-repository -y ppa:atareao/atareao
# ClassicMenu Indicator
add-apt-repository -y ppa:diesch/testing
# Pidgin

add-apt-repository -y ppa:pidgin-developers/ppa
# Grub customizer
add-apt-repository -y ppa:danielrichter2007/grub-customizer
 Потом обновим кэш репозиториев:
notify-send --expire-time=10000 "Обновление кэша"
apt-get -y update
 Создадим переменную "PACKAGES". В неё будем добавлять пакеты, которые необходимо установить:
 PACKAGES="skype dconf-tools conky ubuntu-tweak audacious ubuntu-restricted-extras wine1.7 winetricks my-weather-indicator lm-sensors hddtemp psensor classicmenu-indicator pidgin synaptic gnome-system-tools grub-customizer"
 Установка необходимых пакетов вместе с зависимостями:
notify-send --expire-time=10000 "Установка списка программ"
apt-get -y --force-yes install $PACKAGES
 И на всякий пожарный случай:
apt-get install -f
 Теперь можно ввести команды настройки системы:
# Возвращение классического системного трея ##########################
#gsettings set com.canonical.Unity.Panel systray-whitelist "['all']"
# Решение проблемы с кодировкой в Gedit ##############################
gsettings set org.gnome.gedit.preferences.encodings auto-detected "['UTF-8', 'WINDOWS-1251', 'CURRENT', 'ISO-8859-15', 'UTF-16']"
 И перезагрузка:
notify-send --expire-time=10000 "Перезагрузка"
sleep 10
reboot
Для начальной настройки системы скрипт готов. Его можно дополнять, убирать ненужные команды. Каждый может модифицировать этот скрипт под свои нужды.

среда, 22 января 2014 г.

Не работает TAB в терминале на Ubuntu

На *ubuntu-подобных системах разработчики почему-то отключили возможность использования кнопки TAB в терминале (используется для простоты ввода команд). Чтобы кнопка заработала необходимо в файле /etc/bash.bashrc раскомментировать строки:
#if [ -f /etc/bash_completion ]; then
 #. /etc/bash_completion
#fi
и всё)

Ручное переназначение гнезд звуковой карты Realtek

Запускаете
regedit
Находите папку:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96C-E325-11CE-BFC1-08002BE10318}\0007\Settings\
У меня папка называлась 0007. У вас может называться по другому.

Откройте папку Drv6278_DevType_0888_SS10438357 или с аналогичным названием (DrvXXXX_DevType_XXXX_SSXXXXXXXX, где вместо X могут быть любые цифры, зависит от версии драйвера)

Создайте двоичный параметр. Задаете ему необходимое имя и значение из списка указанного ниже или отредактируйте уже имеющийся:
Имя (вставлять без кавычек):
"Pin01" = Заднее зеленое гнездо
"Pin02" = Заднее черное гнездо
"Pin03" = Заднее коричневое гнездо
"Pin04" = Заднее серое гнездо
"Pin05" = Заднее розовое гнездо (на некоторых материнских платах, даже изменения его в реестре не изменят, его со значения Микрофон)
"Pin07" = Заднее синее гнездо (на некоторых материнских платах, даже изменения его в реестре не изменят, его со значения Линейный вход)

"Pin06" = Переднее розовое гнездо
"Pin08" = Переднее зеленое гнездо

Значение(вставлять без кавычек):
"00 00 00 00" = Линейный вход
"01 00 00 00" = Микрофон
"02 00 00 00" = Наушники
"04 00 00 00" = Передние динамики
"05 00 00 00" = Тыловые динамики
"06 00 00 00" = Центральный канал/Сабвуфер
"07 00 00 00" = Боковые динамики

Как восстановить загрузчик Grub в Linux Ubuntu, Mint и т.д.

Запустите систему с LiveCD/USB и откройте терминал:
gnome-terminal
Далее необходимо узнать Вашу таблицу разделов. Используйте команду:
sudo fdisk -l
На экран должна быть выведена примерно такая таблица:
/dev/sda1 29 8369 66999082+ 83 Linux
/dev/sda2 * 8370 13995 45190845 7 HPFS/NTFS
/dev/sda3 13996 14593 4803435 5 Extended
Теперь нужно примонтировать Ваш Linux раздел (здесь это sda1) и еще несколько важных директорий:
sudo mount /dev/sda1 /mntsudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys  /mnt/sys
Если раздел /boot находится отдельно, то Вам необходимо примонтировать его в /mnt/boot!

Теперь перейдем в окружающую среду chroot:
sudo chroot /mnt
Теперь необходимо установить GRUB, используя команду:
grub-install /dev/sda
Если Вы получили сообщение об ошибке, то используйте команду:
grub-install --recheck /dev/sda
Также в некоторых случаях может помочь вариант:
grub-install --recheck --no-floppy /dev/sda
Если все прошло успешно, выходим из chroot командой:
exit
Теперь необходимо отмонтировать разделы:
sudo umount /mnt/devsudo umount /mnt/proc
sudo umount /mnt/sys
sudo umount /mnt
Если Вы монтировали раздел /boot воспользуйтесь командой:
sudo umount /mnt/boot
Затем перезагрузим Ваш компьютер командой:
sudo reboot
Вот и всё:)

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

Установка и настройка Webmin на FreeBSD

 ПРЕДИСТОРИЯ
Webmin - это web-интерфейс для администрирования FreeBSD и других Unix-систем. Используя этот сервис можно легко обойтись без терминала для настройки учётных записей, почтового сервера, LDAP, DNS, DHCP, файлового сервера и т.д.


УСТАНОВКА
Для установки переходим в папку:
cd /usr/ports/sysutils/webmin
и запускаем сборку и установку webmin:
make install clean
Все параметры можно оставить по умолчанию, или выбрать то, что вам нужно. Так как в моей сети не используется IPv6 я отключаю его поддержку и установку.

НАСТРОЙКА
Для настройки всех конфигурационных файлов необходимо запустить скрипт:
sh /usr/local/lib/webmin/setup.sh
И отвечать на вопросы:
Log file directory - папка куда будут сохранятся логи работы webmin'a. Оставим по умолчанию.    Жмём [Enter]
Full path to perl - Т.к. Webmin полностью написан на языке программирования perl, необходимо указать путь к его интерпретатору. Оставим по умолчанию. Жмём [Enter]
Web server port - Порт Webmin'а. Можно оставить по умолчанию. Но, для безопасности, я изменю его на 32123. Вы можете выбрать любой порт от 1024 до 65535.
Login name - учётная запись администратора системы. По умолчанию создаётся учётная запись с логином admin. Жмём [Enter] или пишем любой логин (только не забудьте его).
Login password - вводим пароль учётной записи (не забудьте его!!!).
Password again - подтвердите правильность ввода пароля.
Use SSL (y/n) - как всякий уважающий себя админ, мы будем использовать SSL. Пишем [y].

АВТОЗАГРУЗКА
Для автозагрузки webmin открываем файл /etc/rc.conf:
ee /etc/rc.conf
И добавляем в конец файла строки:
############### WEBMIN #############
webmin_enable="YES"
#####################################
 ЗАПУСК
Чтобы запустить службу webmin необходимо ввести команду:
/usr/local/etc/rc.d/webmin start
Для доступа к Webmin в браузере вводим в адресной строке:
https://ваш-домен.com:32123/
ваш-домен.com - имя вашего домена. Если его нет, можно просто ввести ip-адрес или имя freebsd.
32123 - порт, который мы указали при установке

ПРИМЕЧАНИЯ
Всегда старайтесь обновлять Webmin, т.к. в новых версиях латают дыры в безопасности, ошибки.
Настройте параметры аутентификации. Поставьте ограниченное время попыток на ввод пароля, автоматический выход при простое. Поставьте галочку "Заносить заблокированные компьютеры в журнал". И да прибудет с Вами сила)
 


Установка и настройка DHCP-сервера на FreeBSD

ПРЕДИСТОРИЯ
Есть интернет-шлюз на FreeBSD 9.2. На нём настроено два сетевых интерфейса:
"em0" - внешний статический адрес а-ля 88.2.6.13/24 и
"em1" - "внутренний" статический адрес 10.10.10.1/24.
Необходимо чтобы клиенты компьютерной сети получали ip-адреса автоматически.

УСТАНОВКА
Сначала нужно установить необходимые пакеты. Переходим в папку:
cd /usr/ports/net/isc-dhcp42-server
Для сборки и установки пакета необходимо ввести команду:
make config install  clean
Задаём следующие параметры установки:
[  ] DHCP_IPV6

[*] DHCP_PARANOIA

[  ] DHCP_LDAP

[*] DHCP_LDAP_SSL
Остальные параметры установки можно оставить по умолчанию.

НАСТРОЙКА
После установки редактируем файл /usr/local/etc/dhcpd.conf любым текстовым редактором. Т.к. я привык к обычному ee, я буду использовать его:
ee /usr/local/etc/dhcpd.conf
Содержимое файла должно быть следующим:
option domain-name "goreckii.local";
option domain-name-servers 10.10.10.1;
option subnet-mask 255.255.255.0;
default-lease-time 600;
max-lease-time 7200;
ddns-update-style none;
authoritative;
log-facility local7;
subnet 10.10.10.0 netmask 255.255.255.0 {
range 10.10.10.101 10.10.10.200;
option routers 10.10.10.1;
option domain-name-servers 10.10.10.1;
}
Остановимся на параметрах dhcpd.conf поподробней:
option domain-name "goreckii.local" - имя домена
option domain-name-servers 10.10.10.1 - DNS-сервер (может быть несколько)
option subnet-mask 255.255.255.0 - маска подсети
default-lease-time 600 - время аренды (сек.) по-умолчанию 
max-lease-time 7200 - максимальное время аренды адреса (сек.)
ddns-update-style none - не обновлять DNS при выдаче клиенту
authoritative - главный DHCP-сервер
log-facility local7 - уровень детализации логов
subnet 10.10.10.0 - заданная сеть
netmask 255.255.255.0  - заданная маска подсети
range 10.10.10.101 10.10.10.200 - диапазон ip-адресов, который доступен для выдачи
option routers 10.10.10.1 - основной шлюз, который выдаётся клиентам
option domain-name-servers 10.10.10.1 - DNS-сервер, который выдаётся клиентам
Если необходимо чтобы определённые компьютеры получали фиксированных адрес необходимо в файл /usr/local/etc/dhcpd.conf добавить следующие строки:
host pc1 {
hardware ethernet 08:00:27:0C:A9:7C;
fixed-address 10.10.10.5; }
host pc1 - имя компьютера
hardware ethernet 08:00:27:0C:A9:7C - MAC-адрес  сетевой карты компьютера
fixed-address 10.10.10.5 - фиксированный ip-адрес

АВТОЗАГРУЗКА
для автозагрузки добавляем в rc.conf
ee /etc/rc.conf
следующие строки:
############ DHCP SERVER ################ 
dhcpd_enable="YES"
dhcpd_iface="em1"
###########################################
dhcpd_enable="YES" - автозапуск службы DHCP-сервера
dhcpd_iface="em1" - сетевой интерфейс, на котором будет работать DHCP-сервер.

ПРИМЕЧАНИЯ
Запуск  DHCP-сервера:
/usr/local/etc/rc.d/isc-dhcpd start
 Перезапуск DHCP-сервера:
 /usr/local/etc/rc.d/isc-dhcpd restart
Остановка DHCP-сервера:
 /usr/local/etc/rc.d/isc-dhcpd stop
 Статус DHCP-сервера:
 /usr/local/etc/rc.d/isc-dhcpd stop
Сведения, статистика использования DHCP-сервера можно посмотреть в файле /var/db/dhcpd/dhcpd.leases:
cat /var/db/dhcpd/dhcpd.leases