Два openvpn в entware-3x

Используем пакеты, расширяющие возможности оборудования
Vladimir
Сообщения: 53
Зарегистрирован: 28 янв 2016, 14:07

Сообщение Vladimir » 29 мар 2017, 20:10

Привет. У кого-нибудь есть ли опыт настройки openvpn в качестве сервера и клиента одновременно? Тоесть сервер запущен на tun0 а клиент на tun1. Клиент подключён к заграничному серверу и в конфиг добавлена команда

Код: Выделить всё

route-nopull
route 195.82.146.114
route 195.82.146.214
route 185.112.157.181
route 134.19.177.67
route 81.17.30.51
route 89.32.127.227
route 104.28.4.193
route 104.28.5.193
route 178.63.151.224
route 178.62.9.171
route 81.17.19.227
log openvpn.log

чтоб только определённые сайты открывались через него. Подобное реализовал в дебиан.Интересно можно ли так сделать в entware-3x???

Опытных прошу поделится знаниями.

dexter
Сообщения: 63
Зарегистрирован: 23 авг 2015, 09:40

Сообщение dexter » 29 мар 2017, 21:33

Реализовать это можно. В сети были примеры. В кратце:
1. делаем симлинки на сам демон openvpn(openvpn-serv, openvpn-clt)
2. нужно 2 конфига где четко указывает № tun интерфейса(tun0, tun1)
3. делаем второй скрипт запуска в каталоге /opt/etc/init.d/Sxxopenvpn-serv, /opt/etc/init.d/Sxxopenvpn-clt
Должно всё заработать. Я на кинетике используя entware-3x поднимал совместно tun и tap интерфейс.

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1912
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 29 мар 2017, 22:09

dexter, это дубль темы https://forum.keenetic.net/topic/2289-д ... ntware-3x/
1. Лишнее, лучше использовать `--writepid file` в параметрах.
2. У меня интерфейсы tun создавались в порядке запуска. Не указывал никак в конфиге.
3. Все так.

Vladimir
Сообщения: 53
Зарегистрирован: 28 янв 2016, 14:07

Сообщение Vladimir » 29 мар 2017, 22:11

dexter писал(а):Источник цитаты Реализовать это можно. В сети были примеры. В кратце:
1. делаем симлинки на сам демон openvpn(openvpn-serv, openvpn-clt)
2. нужно 2 конфига где четко указывает № tun интерфейса(tun0, tun1)
3. делаем второй скрипт запуска в каталоге /opt/etc/init.d/Sxxopenvpn-serv, /opt/etc/init.d/Sxxopenvpn-clt
Должно всё заработать. Я на кинетике используя entware-3x поднимал совместно tun и tap интерфейс.

Спасибо за отклик. А можно выложить пример с конфигами.? Просто я не программист а обычный юзер .

Vladimir
Сообщения: 53
Зарегистрирован: 28 янв 2016, 14:07

Сообщение Vladimir » 29 мар 2017, 22:31

Код: Выделить всё

#!/bin/sh
#
# Startup script for openvpn server
#

# Make sure IP forwarding is enabled
echo 1 > /proc/sys/net/ipv4/ip_forward

# Make device if not present (not devfs)
if ( [ ! -c /dev/net/tun0 ] ) then
  # Make /dev/net directory if needed
  if ( [ ! -d /dev/net ] ) then
	mkdir -m 755 /dev/net
  fi
  mknod /dev/net/tun0 c 10 200
fi

# Make sure the tunnel driver is loaded
#if ( !(lsmod | grep -q "^tun") ); then
#	insmod /opt/lib/modules/tun.ko
#fi

ENABLED=yes
PROCS=openvpn
ARGS="--daemon --cd /opt/etc/openvpn --config openvpn.conf"
PREARGS=""
DESC=$PROCS
PATH=/opt/sbin:/opt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

. /opt/etc/init.d/rc.func

Правильно указал интерфейс tun0?

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1912
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 29 мар 2017, 23:33

Vladimir писал(а):Источник цитаты Правильно указал интерфейс tun0?

Нет

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1912
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 30 мар 2017, 08:24

dexter писал(а):Источник цитаты нужно 2 конфига где четко указывает № tun интерфейса(tun0, tun1)

Vladimir, Вам же написали, что изменения вносятся в конфиг. Меняете там

Код: Выделить всё

dev tun

на

Код: Выделить всё

dev-type tun
dev tun-client

И получаете

Код: Выделить всё

~# ifconfig
.....
tun-client 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.2  P-t-P:10.8.0.2  Mask:255.255.255.0
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:10 errors:0 dropped:0 overruns:0 frame:0
          TX packets:21 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:560 (560.0 B)  TX bytes:1146 (1.1 KiB)

Если со скриптами туго, изучите для начала конфиги - https://openvpn.net/index.php/open-sour ... npage.html

Vladimir
Сообщения: 53
Зарегистрирован: 28 янв 2016, 14:07

Сообщение Vladimir » 30 мар 2017, 10:40

Zyxmon писал(а):Источник цитаты dev-type tun
dev tun-client

Теперь создаётся либо tun1 (сервер) либо tun-client (клиент).
dexter писал(а):Источник цитаты /opt/etc/init.d/Sxxopenvpn-serv, /opt/etc/init.d/Sxxopenvpn-clt

Содержимое может отличатся лишь строкой

Код: Выделить всё

ARGS="--daemon --cd /opt/etc/openvpn --config openvpn.conf"

И

Код: Выделить всё

ARGS="--config /opt/root/openvpn.ovpn"

Или что то еще надо изменить ? Прошу не пинать а помочь.

Аватара пользователя
Александр Рыжов
Сообщения: 447
Зарегистрирован: 12 авг 2015, 14:14
Откуда: Смоленск

Сообщение Александр Рыжов » 30 мар 2017, 10:55

Vladimir писал(а):Источник цитаты Или что то еще надо изменить ? Прошу не пинать а помочь.

Идея в чём: стартовые скрипты unslung из /opt/etc/init.d различают сервисы по именам бинарника (и одноимённому процессу в памяти, если процесс уже запущен).
Следственно, если в двух скриптах указан один и тот же PROCS=openvpn, то две копии запустить не получится. Поэтому:

1) Создайте симлинк на бинарник openvpn для того, чтобы второй запускаемый экземпляр openvpn имел другое имя исполняемого файла (и другое имя в списке запущенных процессов), например:

Код: Выделить всё

ln -s /opt/sbin/openvpn /opt/sbin/openvpn_second

2) Сделайте копию стартового скрипта, в которой будет указан уже новый PROCS=openvpn_second и новые параметры для запуска.

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1912
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 30 мар 2017, 12:14

Александр Рыжов, поскольку фунциональность бинарника в linux может зависеть от его имени (к openvpn скорее всего не относится), я предпочитаю в подобных случаях скрипты на основе pid файла (openvpn это позволяет) типа - https://github.com/Entware-for-kernel-3 ... 51dropbear


Вернуться в «Entware/Qnapware/Optware/Zyxware - обсуждаем репозитории пакетов»

Кто сейчас на конференции

Всего 4 посетителя :: 1 зарегистрированный, 0 скрытых и 3 гостя (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (162) здесь было 16 ноя 2019, 18:33

Сейчас этот форум просматривают: Yandex [Bot] и 3 гостя