среда, 16 января 2013 г.

OpenVPN (Site To Site)

Пример построения siste-to-site VPN с использованием OpenVPN.

Итак предположим у нас есть два офиса (A и B), в каждом офисе есть по шлюзу (Router_A и  Router_B). 
За каждым из роутеров находится соответствующая локальная сеть (Network_A - 192.168.1.0/24  и  Network_B - 192.168.2.0/24). 
Еще у роутеров есть по внешнему Ip адресу(1.1.1.1 и 2.2.2.2 соответственно).



Необходимо сделать так чтобы пользователи сети А могли получить доступ к сети В и наоборот.
Роутер А у нас будет сервером (будет принимать подключение), роутер В - клиентом (будет подключаться к серверу).
На обоих серверах:

yum install -y wget
wget http://mirror.yandex.ru/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ihv epel-release-6-8.noarch.rpm
rm -f epel-release-6-8.noarch.rpm
yum install -y openvpn
chkconfig openvpn on

Далее на сервере А:

cp -R /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0/ /root/PKI
chmod +x /root/PKI/*
cp /root/PKI/openssl-1.0.0.cnf /root/PKI/openssl.cnf
cd /root/PKI/

правим ./vars , задаем следующие параметры:
export KEY_COUNTRY="ваша страна"
export KEY_PROVINCE="ваша область"
export KEY_CITY="город"
export KEY_ORG="организация"
export KEY_EMAIL="ваш e-mail"

source ./vars
./clean-all
./build-ca (при генерации жмем везде Enter)
./build-key-server server (Также жмем Enter на все вопросы)
./build-dh
./build-key router_b (генерим ключи клиентов)(все также жмем Enter)
ln -s /root/PKI/keys /etc/openvpn/keys
mkdir /etc/openvpn/ccd

Конфиг Router_A(/etc/openvpn/server.conf):

port 1194
proto tcp
dev tun
ca keys/ca.crt
cert keys/server.crt
key keys/server.key
dh keys/dh1024.pem
#========================
server 10.10.0.0 255.255.255.0
#(виртуальная сеть которую будет использовать сервер для назначения клиенту ip адреса )
ifconfig-pool-persist ipp.txt
push "route 192.168.1.0 255.255.255.0"
# отдаем клиенту(router_b) маршрут до сети за router_A (в нашем случае 192.168.1.0/24)
route 192.168.2.0 255.255.255.0
# маршрут до сети Router_B
client-config-dir ccd
# используем папку ccd для хранения настроек клиентов
#========================
keepalive 10 120
comp-lzo
user openvpn
group openvpn
persist-key
persist-tun
status /var/log/openvpn-status.log
log /var/log/openvpn.log
verb 3

Копируем следущие файлы с router_a:
/root/PKI/keys/ca.crt
/root/PKI/keys/router_b.crt
/root/PKI/keys/router_b.key
на router_b в директорию /etc/openvpn/keys/

Конфиг Router_B(/etc/openvpn/client.conf)

client
dev tun
proto tcp
remote 1.1.1.1 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/router_b.crt
key /etc/openvpn/keys/router_b.key
ns-cert-type server
comp-lzo
verb 3

Далее на Router_A:
в директории /etc/openvpn/ccd
создаем файлик: router_b
и пишем в него следующее:
iroute 192.168.2.0 255.255.255.0

На обоих серверах в файле /etc/sysctl.conf включаем ip_forward:
меняем строку
net.ipv4.ip_forward = 0
на
net.ipv4.ip_forward = 1

После команду:
sysctl -p

Соответственно настраиваем iptables.
И команда:
service openvpn start

воскресенье, 9 декабря 2012 г.

grub on software raid (md)

При установке системы(Centos 4, 5 или 6) на софтверный raid1 инсталятор ставит загрузчик только на /dev/sda про остальные диски он даже не вспоминает. Это может привести к очень не хорошей ситуации, если у вас умрет /dev/sda и машина перезагрузится, то загрузится со второго диска вы уже не сможете. Понятно, что можно взять rescue cd  и с него поставить загрузчик на второй диск, но зачем усложнять себе жизнь, если можно просто после установки проинсталить grub на второй диск:
Для этого в консоли набираем:
grub
Далее:
device (hd0) /dev/sdb
root (hd0,0)
setup (hd0)
quit

Все. Теперь загрузчик есть на обоих дисках.

четверг, 15 ноября 2012 г.

vnstat

Для простого мониторинга количества израсходованного трафика на сервере удобно использовать vnstat.

Для установки:
yum install -y vnstat

Настройка:
vnstat -u -i eth0 (Указывать необходимо интерфейс смотрящий в интернет)
chkconfig vnstat on
service vnstat start

Ну и просмотр статистики:
За день vnstat -d
За месяц vnstat -m
В реальном времени vnstat -l

вторник, 11 сентября 2012 г.

Настройка SSHD (доступ по ключам)


Пример простого конфига демона SSH.
Авторизация разрешена только по ключам.

Port 22
Protocol 2
SyslogFacility AUTHPRIV
LoginGraceTime 2m
PermitRootLogin without-password
StrictModes yes
MaxAuthTries 3
MaxSessions 10
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
UsePAM no
PrintMotd no
PrintLastLog no
UseDNS no
Subsystem sftp /usr/lib/misc/sftp-server
AllowUsers root

пятница, 25 мая 2012 г.

Клонирование таблицы разделов.

Заметка чисто для себя (чтоб не забыть).
Обалденно удобный способ клонировать таблицу разделов (но не содержимое) с одного диска на другой.
sfdisk -d /dev/sda > sda.par
sfdisk -f /dev/sdb < sda.par
И всё. Всё скопировалось с sda на sdb.