OpenVPN + centos

Срочна понадобилось vpn.
Понадобилось делаем!

yum install openvpn

воляется в epel;
Первое че лезем делать, это конфиги смотрим /etc/openvpn а там! ЙУХ.
Шо за гоавно?!
Пилим сами! Короче идем по порядку:

port 1194
local xxx.yyy.xxx.yyy
proto tcp
dev tun0
server 10.8.0.0 255.255.255.0
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server.crt
key /etc/openvpn/easy-rsa/keys/server.key
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
tls-auth /etc/openvpn/easy-rsa/keys/tls.key 0
cipher AES-256-CBC
user nobody
group nobody
status openvpn-status.log
log-append openvpn.log
verb 3
mute 20
max-clients
keepalive 10 120
tls-server
comp-lzo
persist-key
persist-tun
push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"

Копируем ключи:

cp -R /usr/share/openvpn/easy-rsa/2.0 /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
cp openssl-1.0.0.cnf openssl.cnf
mkdir keys

Теперь нам предстоит запилить свои ключи:
Редактируем vars как вам надо
и выполняем

source ./vars
./clean-all
./build-ca 
./build-key-server server 
./build-dh
openvpn --genkey --secret keys/tls.key
./build-key-pass user001# тут устанавливаем нужный пароль для пользователя

Замечу что все сгенерированные ключи должны лежать в директории keys.
Теперь нам нужен форвардинг:
в /etc/sysctl.conf включаем его

net.ipv4.ip_forward = 1

фигачим дальше:

sysctl -p
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to-source ваш ip
iptables-save > /etc/sysconfig/iptables

Вот теперь все красиво:
Наши ключи для клиентов такие

/etc/openvpn/easy-rsa/keys/ca.crt
/etc/openvpn/easy-rsa/keys/user001.crt
/etc/openvpn/easy-rsa/keys/user001.key
/etc/openvpn/easy-rsa/keys/tls.key

а конфиг таков:

client
remote xxx.yyy.xxx.yyy 1194
proto tcp
dev tun0

ca ca.crt
dh dh1048.pem
cert user001.crt
key user001.key
tls-auth tls.key 1
cipher AES-256-CB
verb 3
mute 20
keepalive 10 120
comp-lzo
persist-key
persist-tun
resolv-retry infinite
nobind

Вам также может понравиться

About the Author: Тупой прогер

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.