faq обучение настройка
Текущее время: Вс июл 27, 2025 02:27

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: OpenVPN и DNS-323
СообщениеДобавлено: Пт авг 28, 2009 13:44 
Не в сети

Зарегистрирован: Ср фев 27, 2008 17:25
Сообщений: 85
Откуда: Санкт-Петербург
Поднял openvpn-2.0.9-1.gz на коробочке, на винде поставил openvpn-2.0.9-gui-1.0.3-install.exe
Создал статичный ключ static.key и на его основе запустил самую простую VPN-ку.
openvpn_config:
Код:
local 192.168.1.101
port 1194
proto udp
dev tun
secret /ffp/etc/openvpn/certs/static.key

ifconfig 10.8.0.1 10.8.0.2

# Use compression on the VPN link
comp-lzo

# Make the link more resistent to connection failures
keepalive 10 60
ping-timer-rem
persist-tun
persist-key

verb 3

client.ovpn:
Код:
remote мой_внешний_белый_ip 1194
dev tun
ifconfig 10.8.0.2 10.8.0.1
secret static.key

# Use compression on the VPN link
comp-lzo

# Make the link more resistent to connection failures
keepalive 10 60
ping-timer-rem
persist-tun
persist-key

Порт 1194 в роутере естесственно переброшен с WAN на 192.168.1.101

Соединение устанавливается, на клиенте адрес 10.8.0.1 пингуется, все ОК. Но как теперь вылезти с клиента во внутреннюю сетку серверра (192.168.1.*), т.е. чтобы так же с клиента пинговались компьютеры с этой подсети?

_________________
http://kostasoft.com - Наш софт!


Последний раз редактировалось kostasoft Вт сен 01, 2009 13:31, всего редактировалось 1 раз.

Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: OpenVPN и DNS-323
СообщениеДобавлено: Пт авг 28, 2009 16:24 
Не в сети

Зарегистрирован: Чт апр 17, 2008 19:30
Сообщений: 85
Откуда: Самара
kostasoft писал(а):
Соединение устанавливается, на клиенте адрес 10.8.0.1 пингуется, все ОК. Но как теперь вылезти с клиента во внутреннюю сетку серверра (192.168.1.*), т.е. чтобы так же с клиента пинговались компьютеры с этой подсети?


Нужно разрешить прохождение пакетов между сетевыми интерфейсами

echo "1" > /proc/sys/net/ipv4/ip_forward

_________________
wBR, Тучинский Артем


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт авг 28, 2009 21:02 
Не в сети

Зарегистрирован: Ср фев 27, 2008 17:25
Сообщений: 85
Откуда: Санкт-Петербург
Код:
echo "1" > /proc/sys/net/ipv4/ip_forward

Вписать в fun_plug, чтоб грузилось автоматом при запуске девайса?

_________________
http://kostasoft.com - Наш софт!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт авг 28, 2009 21:31 
Не в сети

Зарегистрирован: Чт апр 17, 2008 19:30
Сообщений: 85
Откуда: Самара
kostasoft писал(а):
Код:
echo "1" > /proc/sys/net/ipv4/ip_forward

Вписать в fun_plug, чтоб грузилось автоматом при запуске девайса?


ага

_________________
wBR, Тучинский Артем


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт авг 28, 2009 22:15 
Не в сети

Зарегистрирован: Ср фев 27, 2008 17:25
Сообщений: 85
Откуда: Санкт-Петербург
Сделал. Не пингуется...
Файл ip_forward создается с содержимым 1.
И в локалке адрес 10.8.0.1 (как и 10.8.0.2) так же не пингуется.

_________________
http://kostasoft.com - Наш софт!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн авг 31, 2009 10:08 
Не в сети

Зарегистрирован: Ср фев 27, 2008 17:25
Сообщений: 85
Откуда: Санкт-Петербург
Ладно, черт с ним, с роутингом, почему после создании VPN по вновь обретенному интерфейсу не гуляет файлшаринг? Т.е. почему клиент не видит сетевые ресурсы на сервере (днс-323)?
ЗЫ:
Погуглил немного, рекомендуют для этого использовать tap вместо tun
У меня файл запуска openvpn.sh:
Код:
#!/ffp/bin/sh

# PROVIDE: openvpn
# REQUIRE: LOGIN

. /ffp/etc/ffp.subr

name="openvpn"
command="/ffp/bin/$name"
required_files="/ffp/etc/openvpn/openvpn_config"
openvpn_flags="--daemon --config /ffp/etc/openvpn/openvpn_config"

start_cmd="openvpn_start"
stop_cmd="openvpn_stop"
extra_commands="debug"
debug_cmd="openvpn_debug"

openvpn_start()
{
   echo Starting OpenVPN
   echo "Creating devices..."
   mkdir -p /dev/net
   mknod /dev/net/tun c 10 200 > /dev/null 2>&1

   echo "Loading modules ..."
   insmod /ffp/lib/modules/2.6.12.6-arm1/kernel/drivers/net/tun.ko > /dev/null 2>&1

   proc_start $command
}

openvpn_stop()
{

   echo Stopping OpenVPN
   proc_stop $command

   echo "Removing devices..."
   rm -f /dev/net/tun
   rmdir  /dev/net > /dev/null 2>&1
   sleep 3

   echo "Unloading modules ..."
   rmmod tun
}

openvpn_debug()
{
   openvpn_flags="--config /ffp/etc/openvpn/openvpn_config"
   echo Starting OpenVPN

   echo "Creating devices..."
   mkdir -p /dev/net
   mknod /dev/net/tun c 10 200 > /dev/null 1>&1

   echo "Loading modules ..."
   insmod /ffp/lib/modules/2.6.12.6-arm1/kernel/drivers/net/tun.ko

   proc_start $command
}

run_rc_command "$1"

Достаточно ли будет в нем, а также и в openvpn_config просто заменить все tun на tap?

_________________
http://kostasoft.com - Наш софт!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн авг 31, 2009 14:29 
Не в сети

Зарегистрирован: Ср фев 27, 2008 17:25
Сообщений: 85
Откуда: Санкт-Петербург
Немного разобрался с роутингом.
Нужно было использовать
Код:
echo 1 > /proc/sys/net/ipv4/ip_forward

без кавычек.
Теперь у меня клиент пингует сервер не только по 10.8.0.1, но и по 192.168.1.101 (т.е. по его адресу в локалке).
Но другие компы в этой локалке он пинговать не хочет...
Думаю, нужно поколдовать с route на стороне сервера и push "route", для отправки клиенту команд для роутинга.
Исходя из данной информации (цитата):
Цитата:
Then on the server side, add a route to the server's LAN gateway that routes 10.8.0.2 to the OpenVPN server machine (only necessary if the OpenVPN server machine is not also the gateway for the server-side LAN).
, не могу сообразить что мне прописать в настройках роутинга...

_________________
http://kostasoft.com - Наш софт!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт сен 01, 2009 11:32 
Не в сети

Зарегистрирован: Вт июн 12, 2007 23:22
Сообщений: 97
Откуда: STP
А на компьютерах/роутере в локалке, которые хотите пинговать, Вы роутинг прописали? Если нет, то они просто не знают, куда отправлять пакеты. А отправлять их надо на локальный интерфейс девайса.
ЗЫ По поводу tap Вы безусловно правы.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт сен 01, 2009 12:05 
Не в сети

Зарегистрирован: Ср фев 27, 2008 17:25
Сообщений: 85
Откуда: Санкт-Петербург
C tap-ом не все так просто.
Поменяв tun на tap в строке
Код:
insmod /ffp/lib/modules/2.6.12.6-arm1/kernel/drivers/net/tun.ko

толку не добъешься, ибо tap.ko в этой папке не существует, ИХМО. А как по другому?

_________________
http://kostasoft.com - Наш софт!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср сен 02, 2009 06:55 
Не в сети

Зарегистрирован: Ср фев 27, 2008 17:25
Сообщений: 85
Откуда: Санкт-Петербург
Запустил tap. Пользовался следующим источником
Содержимое файлов:
openvpn.sh
Код:
#!/ffp/bin/sh

# PROVIDE: openvpn
# REQUIRE: LOGIN

. /ffp/etc/ffp.subr

name="openvpn"
command="/ffp/bin/$name"
required_files="/ffp/etc/openvpn/openvpn_config"
openvpn_flags="--daemon --config /ffp/etc/openvpn/openvpn_config"

start_cmd="openvpn_start"
stop_cmd="openvpn_stop"
extra_commands="debug"
debug_cmd="openvpn_debug"

openvpn_start()
{
   echo Starting OpenVPN
   echo "Creating devices..."
   mkdir -p /dev/net
   mknod /dev/net/tun c 10 200 > /dev/null 2>&1

   echo "Loading modules ..."
   insmod /ffp/lib/modules/2.6.12.6-arm1/kernel/drivers/net/tun.ko > /dev/null 2>&1

   openvpn --mktun --dev tap0
   #brctl addif br0 tap0
   ifconfig tap0 0.0.0.0 promisc up

   proc_start $command
}

openvpn_stop()
{

   echo Stopping OpenVPN
   proc_stop $command

   echo "Removing devices..."
   rm -f /dev/net/tun
   rmdir  /dev/net > /dev/null 2>&1
   sleep 3

   echo "Unloading modules ..."
   rmmod tun
}

openvpn_debug()
{
   openvpn_flags="--config /ffp/etc/openvpn/openvpn_config"
   echo Starting OpenVPN

   echo "Creating devices..."
   mkdir -p /dev/net
   mknod /dev/net/tun c 10 200 > /dev/null 1>&1

   echo "Loading modules ..."
   insmod /ffp/lib/modules/2.6.12.6-arm1/kernel/drivers/net/tun.ko

   openvpn --mktun --dev tap0
   #brctl addif br0 tap0
   ifconfig tap0 0.0.0.0 promisc up

   proc_start $command
}

run_rc_command "$1"

openvpn_config
Код:
# Tunnel options
mode server       # Set OpenVPN major mode
proto udp         # Setup the protocol (server)
port 443         # TCP/UDP port number
dev tap0          # TUN/TAP virtual network device
keepalive 15 60   # Simplify the expression of --ping
daemon            # Become a daemon after all initialization
verb 3            # Set output verbosity to n
comp-lzo          # Use fast LZO compression

# OpenVPN server mode options
client-to-client  # tells OpenVPN to internally route client-to-client traffic
duplicate-cn      # Allow multiple clients with the same common name

# TLS Mode Options
tls-server        # Enable TLS and assume server role during TLS handshake
ca /ffp/etc/openvpn/certs/ca.crt         # Certificate authority (CA) file
dh /ffp/etc/openvpn/certs/dh1024.pem     # File containing Diffie Hellman parameters
cert /ffp/etc/openvpn/certs/server.crt   # Local peers signed certificate
key /ffp/etc/openvpn/certs/server.key    # Local peers private key

в fun_plug в конце добавлена строчка:
Код:
# Set routing
echo 1 > /proc/sys/net/ipv4/ip_forward

client.ovpn
Код:
client
dev tap
proto udp
remote мой_внешний_белый_ip 443
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
ns-cert-type server
comp-lzo
verb 3

Пришлось закоментировать создание моста между соединениями, ибо не нашел в Fun_Plug 0,5 соответствующего приложения:
Код:
#brctl addif br0 tap0

Но хотелось бы все-таки этот мост создать.

_________________
http://kostasoft.com - Наш софт!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср сен 02, 2009 15:03 
Не в сети

Зарегистрирован: Ср фев 27, 2008 17:25
Сообщений: 85
Откуда: Санкт-Петербург
Как вариант, возможно использовать ifconfig и iptables. Кто-нибудь сможет помочь мне в этом вопросе?

Локалка:192.168.1.1-192.168.1.255 (DHCP сервер 192.168.1.1)
В локалке есть DNS-323, в котором установлен tap OpenVPN сервер, который раздает клиентам в виртуалку адреса 192.168.1.21-192.168.1.25
Необходимо создать подобие сетевого моста между VPN и локальной сетью, чтобы ресурсы в сети были видны в vpn.

_________________
http://kostasoft.com - Наш софт!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт сен 03, 2009 17:06 
Не в сети

Зарегистрирован: Ср фев 27, 2008 17:25
Сообщений: 85
Откуда: Санкт-Петербург
Нашел brctl, правда в сырцах.
Вот он
Кто-нибудь сможет его перекомпилить для использования в Fun-Plug 0.5 для девайса DNS-323?
В описании сказано:
brctl - интерфейс к ядру для настройки мостов (также как ifconfig - для настройки интерфейсов). Т.е. мост есть в ядре, нужно только его реализовать на доступных сетевых интерфейсах.

_________________
http://kostasoft.com - Наш софт!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт сен 04, 2009 09:26 
Не в сети

Зарегистрирован: Вс авг 23, 2009 20:08
Сообщений: 12
Раз уж умные люди смогли поднять на 323-м VPN, может и мне кто-нибудь сможет помочь? Вот моя тема: viewtopic.php?t=108450 .Не посчитайте за флуд. Заранее всем большое спасибо.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


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

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB