up
ГлавнаяБлогБезопасностьЖелезоПрограммированиеАдминистрирование
SSDHDDBenchmarkCentOSLinuxCPUPerlBashFreeBSDHTMLDebianPHPRAMMySQL

Популярные статьи
Категория “Администрирование

Настройка OpenVPN на Debian

Устанавливаем OpenVPN

aptitude install openvpn udev

Генерируем корневой сертификат

cd /usr/share/doc/openvpn/examples/easy-rsa/2.0
. /usr/share/doc/openvpn/examples/easy-rsa/2.0/vars
. /usr/share/doc/openvpn/examples/easy-rsa/2.0/clean-all
. /usr/share/doc/openvpn/examples/easy-rsa/2.0/build-ca

Генерируем сертификаты сервера и клиента(вместо client1)

. /usr/share/doc/openvpn/examples/easy-rsa/2.0/build-key-server server
. /usr/share/doc/openvpn/examples/easy-rsa/2.0/build-key client1
. /usr/share/doc/openvpn/examples/easy-rsa/2.0/build-key client2
. /usr/share/doc/openvpn/examples/easy-rsa/2.0/build-key client3
. /usr/share/doc/openvpn/examples/easy-rsa/2.0/build-key client4
. /usr/share/doc/openvpn/examples/easy-rsa/2.0/build-key client5

Если новый клиент создаётся спустя некоторое время, процедура будет выглядеть следующим образом

cd /usr/share/doc/openvpn/examples/easy-rsa/2.0
source ./vars
./build-key client6

Генерируем параметры Диффи-Хеллмана

. /usr/share/doc/openvpn/examples/easy-rsa/2.0/build-dh

Создаем симлинк с ключами

ln -s /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys /etc/openvpn/keys

Генерируем последний ключ

openvpn --genkey --secret /etc/openvpn/keys/ta.key

Разрешаем форвардинг

echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p

Обеспечиваем прохождение пакетов

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to 123.123.123.123
mkdir /etc/firewall
iptables-save > /etc/firewall/iptables-save
echo "/sbin/iptables-restore < /etc/firewall/iptables-save" >> /etc/rc.local

Создаем конфиг сервера

cat /dev/null > /etc/openvpn/server.conf
nano /etc/openvpn/server.conf

port 1194
proto udp
dev tun
ca keys/ca.crt
cert keys/server.crt
key keys/server.key  # This file should be kept secret
dh keys/dh1024.pem
local 123.123.123.123
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
keepalive 10 120
tls-auth keys/ta.key 0 # This file is secret
tls-server
persist-key
persist-tun
comp-lzo
status openvpn-status.log
verb 4
mute 20

Запускаем OpenVPN сервера

service openvpn start

 

Настраиваем клиент (на Linux):

Устанавливаем OpenVPN и dnsmasq

sudo apt-get install openvpn udev dnsmasq

Создаем директорию с ключами (на клиенте):

sudo mkdir /etc/openvpn/keys<

И копируем из сервера туда следующие ключи: ca.crt  client1.crt  client1.key  dh1024.pem  ta.key

Создаем конфиг клиента:

sudo nano /etc/openvpn/client.conf

nobind
client

# Remote server here
remote 123.123.123.123

# Path to certificates here
ca keys/ca.crt
cert keys/client1.crt
key keys/client1.key
dh keys/dh1024.pem

tls-client
tls-auth keys/ta.key 1

# Uncomment this is you are not on Windows
fast-io

dev tun
proto udp

resolv-retry infinite
persist-key
persist-tun

explicit-exit-notify

comp-lzo

Запускаем клиент

sudo service openvpn start

Проверяем:

ifconfig
route -n
ping -c3 10.8.0.1

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.8.0.6  P-t-P:10.8.0.5  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:33604 errors:0 dropped:0 overruns:0 frame:0
          TX packets:34484 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:10580875 (10.5 MB)  TX bytes:12076617 (12.0 MB)

Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0         10.8.0.5        128.0.0.0       UG    0      0        0 tun0
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
10.8.0.1        10.8.0.5        255.255.255.255 UGH   0      0        0 tun0
10.8.0.5        0.0.0.0         255.255.255.255 UH    0      0        0 tun0
123.123.123.123   192.168.1.1     255.255.255.255 UGH   0      0        0 eth0
128.0.0.0       10.8.0.5        128.0.0.0       UG    0      0        0 tun0
192.168.1.0     0.0.0.0         255.255.255.0   U     1      0        0 eth0

ping будет тольтко если на сервере он разрешен.

Friday, 22 August 2014, 23:36Прочитано 71 раз
Ссылка на страницу:

comments powered by Disqus

Чаще всего ищут

Статистика блога
Статтей: 177
Безопасность: 9
Железо: 19
Программирование: 14
Администрирование: 134