Настройка Openvpn Ubuntu 16.04              
 
 

DzenIT

HOME ZEN IT SOFT APK LIVE GAME OTHER W CONTACT SEARCH

Настройка Openvpn Ubuntu 16.04

          

Начнем установку и настройку openvpn с обновления системы

sudo apt-get update

Установим основные компоненты

sudo apt-get install openvpn easy-rsa 
 

Создадим папку для генерации ключей

make-cadir ~/openvpn-ca 
cd ~/openvpn-ca
source vars
./clean-all 

Генерируем ключи для сервера

./build-ca
./build-key-server serverv1

На вопросы можно отвечать рандомно

Сгенерируем ключи для пользователя

./build-key user1

Отвечаем как угодно

Создаем ключ Хельмана, создаётся долго (от 3 до 20 минут)

./build-dh

Теперь ключ tls auth

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

Перейдем в папку с ключами  и перенесем серверные ключи

cd ~/openvpn-ca/keys
sudo cp ca.crt serverv1.crt serverv1.key ta.key dh2048.pem /etc/openvpn

Создадим папку для пользователя и добавим ключи пользователя

sudo mkdir /etc/openvpn/ccd
cp ca.crt ca.key ta.key user1.crt user1.csr user1.key /etc/openvpn/ccd

Теперь конфигурационный файл для сервера

nano server.conf
Посмотреть код
port 1194
proto udp
duplicate-cn
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/serverv1.crt
key /etc/openvpn/serverv1.key
dh /etc/openvpn/dh2048.pem
tls-auth /etc/openvpn/ta.key 0
cipher AES-128-CBC 
server 10.0.0.0 255.255.255.0
comp-lzo
keepalive 10 120
persist-key
persist-tun
client-config-dir /etc/openvpn/ccd
sndbuf 0
rcvbuf 0
push "redirect-gateway def1 bypass-dhcp" 
push "dhcp-option DNS 8.8.8.8"

Тестовый запуск

openvpn --config server.conf

Теперь нужно перенаправить траффик через vpn

Раскомментировать строку net.ipv4.ip_forward=1 в файле /etc/sysctl.conf

nano /etc/sysctl.conf
Раскомментировать
net.ipv4.ip_forward=1

Чтобы изменения вступили в силу без перезагрузки

echo 1 >> /proc/sys/net/ipv4/conf/all/forwarding

Укажем  серверу куда перенаправлять трафик

iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o venet0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o venet0:0 -j MASQUERADE

-venet0 это устройство сетевая карта

Поместим в автозагрузку сервера эти правила

nano /etc/rc.local
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o venet0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o venet0:0 -j MASQUERADE
 openvpn --config /etc/openvpn/server.conf

После перезагрузки сервера у нас заработает наш конфиг сервера

Проверка перенаправления

iptables -L -t nat

Создаем конфиг для юзера

nano  ~/openvpn-ca/keys/user1.conf 
Посмотреть код
client 
dev tun 
proto udp 
remote 88.88.88.88 1194 
resolv-retry infinite 
nobind 
persist-key
persist-tun 
ca ca.crt 
cert user1.crt 
key user1.key 
tls-auth ta.key 1 
cipher AES-128-CBC
ns-cert-type server
comp-lzo
rcvbuf 0

Копируем ключи для клиента

cp ~/openvpn-ca/keys/ca.key  ta.key  user1.conf  user1.crt  user1.csr  user1.key ca.crt /etc/ccd/ 

Забираем папку клиента себе на устройство. Для открытия openvpn под windows или Android необходимо переименовать файл user1.conf в в user1.ovpn. Для полноценной работы все ключи и конфиг должны быть в одной папке