Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.09.2015, 02:19   #1
stD
Senior Member
 
Аватар для stD
 
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1310
stD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant future
По умолчанию OpenVPN-сервер на OpenWRT

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

PHP код:
opkg update

opkg install openvpn openvpn
-easy-rsa 
Переходим в папку /etc/easy-rsa для создания ключей:

PHP код:
cd /etc/easy-rsa 
Очищаем:

PHP код:
clean-all 
Создаём сертификат, на все вопросы отвечайте нажатием Enter:

PHP код:
build-ca 
Файл Диффи-Хеллмана:

PHP код:
build-dh 
Ключи для сервера, надо будет несколько раз нажать Enter и два раза y:

PHP код:
build-key-server server 
Ключи для клиента:

PHP код:
build-key client1 
Для каждого клиента надо создавать свои ключи. Поэтому в зависимости от количества планируемых клиентов создайте необходимое число ключей.

Для второго клиента:

PHP код:
build-key client2 

И так далее… Если в дальнейшем появятся ещё клиенты, то просто выполните эту команду.

Если что-то нажали не так, то сделайте clean-all и создайте ключи заново.


TLS-ключ:

PHP код:
openvpn --genkey --secret /etc/openvpn/ta.key 

PHP код:
cd /etc/easy-rsa/keys 
И копируем ключи для сервера в папку /etc/openvpn/

PHP код:
cp ca.crt ca.key dh1024.pem server.crt server.key /etc/openvpn
Сохраняем дефолтный конфиг openvpn:

PHP код:
mv /etc/config/openvpn /etc/config/openvpn.bak 
Создаём свой:

PHP код:
nano /etc/config/openvpn 
PHP код:
package openvpn

config openvpn custom_config
# Set to 1 to enable this instance:
option enable 1
# Include OpenVPN configuration
option config /etc/openvpn/server.conf 

Переходим в папку /etc/openvpn

PHP код:
cd /etc/openvpn 
Конфиг сервера server.conf

PHP код:
nano /etc/openvpn/server.conf 
Вставляем:

PHP код:
port 1194

proto udp

dev tun

topology subnet

server 10.25.0.0 255.255.255.0

keepalive 10 30

comp
-lzo

persist
-key
persist
-tun

ca 
/etc/openvpn/ca.crt
cert 
/etc/openvpn/server.crt
key 
/etc/openvpn/server.key
dh 
/etc/openvpn/dh1024.pem

tls
-auth /etc/openvpn/ta.key 0 

log
-append /var/log/openvpn.log

#status /var/log/openvpn.status

#client-to-client

verb 3 
Сервер OpenVPN получит адрес 10.25.0.1, а клиенты будут получать адреса 10.25.0.2 и т.д.

Команды и параметры.


Конфиг файрвола:

PHP код:
nano /etc/config/firewall 
после опции:

PHP код:
config include
        
option path /etc/firewall.user 
Добавим правило:

PHP код:
config 'rule'
        
option 'target' 'ACCEPT'
        
option 'name' 'VPN'
        
option 'src' 'wan'
        
option 'proto' 'udp'
        
option 'dest_port' '1194' 

Получится вот так:

PHP код:
...
# include a file with users custom iptables rules
config include
        
option path /etc/firewall.user

config 
'rule'
        
option 'target' 'ACCEPT'
        
option 'name' 'VPN'
        
option 'src' 'wan'
        
option 'proto' 'udp'
        
option 'dest_port' '1194'
... 
Сохраняем.

Открываем файл /etc/firewall.user

PHP код:
nano /etc/firewall.user 
Заполняем:

PHP код:
iptables -t nat -A prerouting_wan -p udp --dport 1194 -j ACCEPT
iptables 
-A input_wan -p udp --dport 1194 -j ACCEPT

iptables 
-I INPUT -i tun+ -j ACCEPT
iptables 
-I FORWARD -i tun+ -j ACCEPT
iptables 
-I OUTPUT -o tun+ -j ACCEPT
iptables 
-I FORWARD -o tun+ -j ACCEPT

iptables 
-t nat -A POSTROUTING -s 10.25.0.0/24 -o br-lan -j MASQUERADE 
Где br-lan — интерфей смотрящий в интернет. Проверить можно командой ifconfig


PHP код:
reboot 
Запустим сервер:

PHP код:
/etc/init.d/openvpn restart 
Ничего не должно отображаться.

Смотрим лог:

PHP код:
tail -/var/log/openvpn.log 


В автозагрузку:

PHP код:
/etc/init.d/openvpn enable 
Настройка клиентов для различных ОС описана здесь.
__________________
istarik.ru
stD вне форума   Ответить с цитированием
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 18:55. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика