Jump to content
KorDen

Вопросы по интеграции OpenVPN в NDMS

584 posts in this topic

В 26.03.2018 в 11:53, vleonv сказал:

Друзья, помогите, пожалуйста, найти причину в настройках OpenVPN подключения. В качестве сервера выступает KN-1010 с 2.12, в качестве клиента S7 (SM-G930F) c OpenVPN для Android 0.6.73 (хотя клиент значения не имеет, тоже самое и с другими клиентами). Подключение происходит, пинг между клиентом и сервером проходит в обе стороны, клиент прекрасно выходит в мир, но не вижу ни одного клиента из домашней сети, подключенных к роутеру кабелем или wifi

Конфиг сревера

  Показать содержимое

port 1194

proto udp

dev tun

<ca>
</ca>
<cert>
</cert>
<key>
</key>
<dh>
</dh>

topology subnet

server 192.168.128.0 255.255.255.0

client-to-client

keepalive 10 120

<tls-auth>
</tls-auth>

key-direction 0

cipher AES-256-CBC

persist-key

persist-tun

verb 3explicit-exit-notify 1

конфиг клиента

  Показать содержимое

client

dev tun

proto udp

remote my host 1194
resolv-retry infinite

nobind

route 0.0.0.0 0.0.0.0

persist-key
persist-tun

<ca>

</ca>
<cert>
</cert>
<key>
</key>

remote-cert-tls server

<tls-auth>
</tls-auth>

key-direction 1

cipher AES-256-CBC

verb 3

 

 

В 27.03.2018 в 11:14, vleonv сказал:
  Показать содержимое

! $$$ Model: Keenetic Giga
! $$$ Version: 2.06.1
! $$$ Agent: http/rci
! $$$ Last change: Sun, 25 Mar 2018 19:13:36 GMT
! $$$ Md5 checksum: fddcaca52aa5aafa8b83f27072946593

system
    set net.ipv4.ip_forward 1
    set net.ipv4.tcp_fin_timeout 30
    set net.ipv4.tcp_keepalive_time 120
    set net.ipv4.neigh.default.gc_thresh1 256
    set net.ipv4.neigh.default.gc_thresh2 1024
    set net.ipv4.neigh.default.gc_thresh3 2048
    set net.ipv6.neigh.default.gc_thresh1 256
    set net.ipv6.neigh.default.gc_thresh2 1024
    set net.ipv6.neigh.default.gc_thresh3 2048
    set net.netfilter.nf_conntrack_tcp_timeout_established 1200
    set net.netfilter.nf_conntrack_max 16384
    set vm.swappiness 60
    set vm.overcommit_memory 0
    set vm.vfs_cache_pressure 1000
    set net.ipv6.conf.all.forwarding 1
    set net.ipv6.conf.all.accept_ra 1
    no led FN_1 indicate
    no led FN_2 indicate
    no button WLAN on click
    no button WLAN on double-click
    no button WLAN on hold
    no button FN1 on click
    no button FN2 on click
    clock timezone Europe/Moscow
    clock date 25 Mar 2018 22:13:35
    domainname WORKGROUP
    hostname Keenetic
!
ntp server 0.pool.ntp.org
ntp server 1.pool.ntp.org
ntp server 2.pool.ntp.org
ntp server 3.pool.ntp.org

access-list _WEBADMIN_PPPoE0
    permit icmp 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0
    permit tcp 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 port eq 157
    permit udp 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 port eq 1194
!
access-list _WEBADMIN_ISP
    permit icmp 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0
    permit tcp 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 port eq 157
    permit udp 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 port eq 1194
!
isolate-private
user admin
    password md5
    password nt
    tag cli
!
user xxx
    password md5
    password nt
    tag http-proxy
    tag cli
    tag http
!
interface GigabitEthernet0
    up
!
interface GigabitEthernet0/0
    rename 1
    switchport mode access
    switchport access vlan 1
    up
!
interface GigabitEthernet0/1
    rename 2
    switchport mode access
    switchport access vlan 1
    up
!
interface GigabitEthernet0/2
    rename 3
    switchport mode access
    switchport access vlan 1
    up
!
interface GigabitEthernet0/3
    rename 4
    switchport mode access
    switchport access vlan 1
    up
!
interface GigabitEthernet0/Vlan1
    description "Home VLAN"
    security-level private
    ip dhcp client dns-routes
    ip dhcp client name-servers
    up
!
interface GigabitEthernet0/Vlan3
    description "Guest VLAN"
    security-level protected
    ip dhcp client dns-routes
    ip dhcp client name-servers
    up
!
interface GigabitEthernet1
    rename ISP
    description "Broadband connection"
    mac address factory wan
    security-level public
    ip address dhcp
    ip dhcp client dns-routes
    ip dhcp client name-servers
    ip mtu 1500
    ip access-group _WEBADMIN_ISP in
    igmp upstream
    up
!
interface GigabitEthernet1/0
    rename 0
    up
!
interface WifiMaster0
    country-code US
    compatibility N
    channel width 40-below
    beamforming no explicit
    no vht
    up
!
interface WifiMaster0/AccessPoint0
    rename AccessPoint
    description "Wi-Fi access point"
    mac access-list type none
    security-level private
    authentication wpa-psk ns3
    encryption enable
    encryption wpa2
    ip dhcp client dns-routes
    ip dhcp client name-servers
    ssid xxx
    wmm
    up
!
interface WifiMaster0/AccessPoint1
    rename GuestWiFi
    description "Guest access point"
    mac access-list type none
    security-level private
    ip dhcp client dns-routes
    ip dhcp client name-servers
    ssid Guest
    wmm
    down
!
interface WifiMaster0/AccessPoint2
    mac access-list type none
    security-level private
    ip dhcp client dns-routes
    ip dhcp client name-servers
    down
!
interface WifiMaster0/AccessPoint3
    mac access-list type none
    security-level private
    ip dhcp client dns-routes
    ip dhcp client name-servers
    down
!
interface WifiMaster0/WifiStation0
    security-level public
    encryption disable
    ip dhcp client dns-routes
    ip dhcp client name-servers
    down
!
interface WifiMaster1
    country-code US
    compatibility AN+AC
    channel 44
    channel width 40-above/80
    no band-steering
    beamforming no explicit
    up
!
interface WifiMaster1/AccessPoint0
    rename AccessPoint_5G
    description "5Ghz Wi-Fi access point"
    mac access-list type none
    security-level private
    authentication wpa-psk ns3
    encryption enable
    encryption wpa2
    ip dhcp client dns-routes
    ip dhcp client name-servers
    ssid xxx_5G
    wmm
    up
!
interface WifiMaster1/AccessPoint1
    mac access-list type none
    security-level private
    ip dhcp client dns-routes
    ip dhcp client name-servers
    down
!
interface WifiMaster1/AccessPoint2
    mac access-list type none
    security-level private
    ip dhcp client dns-routes
    ip dhcp client name-servers
    down
!
interface WifiMaster1/AccessPoint3
    mac access-list type none
    security-level private
    ip dhcp client dns-routes
    ip dhcp client name-servers
    down
!
interface WifiMaster1/WifiStation0
    security-level public
    encryption disable
    ip dhcp client dns-routes
    ip dhcp client name-servers
    down
!
interface Bridge0
    rename Home
    description "Home network"
    inherit GigabitEthernet0/Vlan1
    include AccessPoint
    include AccessPoint_5G
    security-level private
    ip address 192.168.1.1 255.255.255.0
    ip dhcp client dns-routes
    ip dhcp client name-servers
    up
!
interface Bridge1
    rename Guest
    description "Guest network"
    traffic-shape rate 5120
    inherit GigabitEthernet0/Vlan3
    include GuestWiFi
    security-level protected
    ip address 10.1.30.1 255.255.255.0
    ip dhcp client dns-routes
    ip dhcp client name-servers
    up
!
interface PPPoE0
    description "Broadband connection"
    role inet
    no ipv6cp
    lcp echo 30 3
    ipcp default-route
    ipcp name-servers
    ipcp dns-routes
    no ccp
    security-level public
    authentication identity xxx
    authentication password ns3
    ip dhcp client dns-routes
    ip dhcp client name-servers
    ip mtu 1492
    ip access-group _WEBADMIN_PPPoE0 in
    ip global 350
    ip tcp adjust-mss pmtu
    ipv6 address auto
    ipv6 prefix auto
    ipv6 name-servers auto
    ping-check profile default
    connect via ISP
    up
!
interface OpenVPN0
    description OpenVpn
    role misc
    security-level private
    ip dhcp client dns-routes
    ip dhcp client name-servers
    ip tcp adjust-mss pmtu
    openvpn accept-routes
    up
!
ip dhcp pool _WEBADMIN
    range 192.168.1.33 192.168.1.72
    lease 25200
    bind Home
    enable
!
ip dhcp pool _WEBADMIN_GUEST_AP
    range 10.1.30.33 10.1.30.52
    bind Guest
    enable
!
ip http port 80
ip http security-level private
ip http lockout-policy 5 15 3
ip http ssl enable
ip http ssl redirect
ip nat Home
ip nat Guest
ip nat OpenVPN0
ip telnet
    port 23
    security-level private
    lockout-policy 5 15 3
!
ip ssh
    port 157
    security-level private
    lockout-policy 5 15 3
!
ip hotspot
    default-policy deny
!
ipv6 subnet Default
    bind Home
    number 0
    mode slaac
!
ipv6 firewall
ppe software
ppe hardware
upnp lan Home
service dhcp
service dns-proxy
service igmp-proxy
service http
service telnet
service ssh
service ntp-client
service upnp
components
    auto-update disable
!
!

Пинг проходит со стороны роутера (непосредственно с роутера) к клиенту, и с клиента на сам роутер, а вот компьютеры, NAS и прочие домашние устройства недоступны. Другими слова клиент подключенный к роутеру по OpenVPN полноценно видит мир и сам роутер, но не видит домашнюю сеть

 

Друзья, может кто-нибудь поможет найти мне ошибку? Из-за чего клиенты подключенные к роутеру из домашней сети кроме роутера никого не видят?

Share this post


Link to post
Share on other sites
18 минут назад, vleonv сказал:

 

 

Друзья, может кто-нибудь поможет найти мне ошибку? Из-за чего клиенты подключенные к роутеру из домашней сети кроме роутера никого не видят?

а если добавить в конфиг сервера

push "route 192.168.1.0 255.255.255.0"

 

Edited by r13

Share this post


Link to post
Share on other sites

Как пробросить интерфейс CDCEthernet через OpenVPN?

 Доступ ко всем устройствам домашней сети уже есть, а пробросить Bridge не получается

Share this post


Link to post
Share on other sites
2 часа назад, r13 сказал:

а если добавить в конфиг сервера


push "route 192.168.1.0 255.255.255.0"

 

К сожалению не помогло

Share this post


Link to post
Share on other sites
22 минуты назад, vleonv сказал:

К сожалению не помогло

Тогда описывайте подробно и в деталях кто и кого не видит и как проверяли.

ЗЫ еще смущает route 0.0.0.0 0.0.0.0 в клиентском конфиге. ИМХО лучше управлять роутингом openvpn со стороны сервера.

Share this post


Link to post
Share on other sites

Постараюсь доступно описать. Имеем роутер KN-1010, к которому подключено чуть более десятка устройств (компьютеры, файловое хранилище, смартфоны и т.п.). На роутере поднимаем openvpn сервер, конфиг выше приложен. Далее есть несколько удаленных клиентов, которые подключаются по openvpn, при этом не имеет значения виндовый или линуксный клиент это. Для примера я беру смартфон Galaxy S7 (SM-G930F) c OpenVPN для Android 0.6.73, его конфиг выше приложен.Теперь описываю ситуацию:

удаленный клиент S7 подключается по openvpn к роутеру KN-1010 при этом получает ip 192.168.128.2 и весь интернет трафик заворачивается через роутер. Т.е. работает так как надо, но у клиента отсутствует доступ к домашним устройствам подключенным к роутеру (отсутствие доступа обоюдное, т.е. домашние тоже не могут даже пропинговать клиент S7). Но при этом как с клиента S7 я могу получить доступ к web-морде роутера по адресу 192.168.1.1, так и роутер может пропинговать клиента по адресу 192.168.128.2

route 0.0.0.0 0.0.0.0 в клиентском конфиге могу убрать и проверить завтра днем работу без него, но эту строку добавляет само приложение OpenVPN для Android 0.6.73 при активации пункта "направлять весь IPv4 трафик через сервер" и в конфиге виндовых или линуксовых клиентов этого нет

Share this post


Link to post
Share on other sites
38 минут назад, vleonv сказал:

Постараюсь доступно описать. Имеем роутер KN-1010, к которому подключено чуть более десятка устройств (компьютеры, файловое хранилище, смартфоны и т.п.). На роутере поднимаем openvpn сервер, конфиг выше приложен. Далее есть несколько удаленных клиентов, которые подключаются по openvpn, при этом не имеет значения виндовый или линуксный клиент это. Для примера я беру смартфон Galaxy S7 (SM-G930F) c OpenVPN для Android 0.6.73, его конфиг выше приложен.Теперь описываю ситуацию:

удаленный клиент S7 подключается по openvpn к роутеру KN-1010 при этом получает ip 192.168.128.2 и весь интернет трафик заворачивается через роутер. Т.е. работает так как надо, но у клиента отсутствует доступ к домашним устройствам подключенным к роутеру (отсутствие доступа обоюдное, т.е. домашние тоже не могут даже пропинговать клиент S7). Но при этом как с клиента S7 я могу получить доступ к web-морде роутера по адресу 192.168.1.1, так и роутер может пропинговать клиента по адресу 192.168.128.2

route 0.0.0.0 0.0.0.0 в клиентском конфиге могу убрать и проверить завтра днем работу без него, но эту строку добавляет само приложение OpenVPN для Android 0.6.73 при активации пункта "направлять весь IPv4 трафик через сервер" и в конфиге виндовых или линуксовых клиентов этого нет

Скидывайте self-test с сервера, постараюсь разобраться что там не так.

  • Thanks 1

Share this post


Link to post
Share on other sites

Хорошо, завтра так и сделаю, когда буду удаленно заходить домой

 

P.S. Хотя для чего ждать завтра если можно сейчас подключится к соседской точке. Короче self-test прилагаю

Edited by vleonv

Share this post


Link to post
Share on other sites
9 минут назад, vleonv сказал:

Хорошо, завтра так и сделаю, когда буду удаленно заходить домой

Еще в cli выполните

no isolate-private
system configuration save

 

  • Thanks 1

Share this post


Link to post
Share on other sites

Всем откликнувшимся спасибо, особенно r13. Вопрос закрыт для меня, все работает

Share this post


Link to post
Share on other sites
12 минуты назад, vleonv сказал:

Всем откликнувшимся спасибо, особенно r13. Вопрос закрыт для меня, все работает

Это не очень хорошая команда в плане безопасности, она разрешает свободный проход трафика между всеми private-сегментами. Возможно, в вашем случае нехватало одного-двух правил в МСЭ.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
10 минут назад, Le ecureuil сказал:

Это не очень хорошая команда в плане безопасности, она разрешает свободный проход трафика между всеми private-сегментами. Возможно, в вашем случае нехватало одного-двух правил в МСЭ.

Ну это если считать что в private прокрались враги :D

@vleonv при текущем конфиге будет одинаковый результат, так как у вас только 2 private сегмента

Edited by r13

Share this post


Link to post
Share on other sites
В 04.04.2018 в 22:46, Le ecureuil сказал:

Через curl + rci все можно отлично сделать.

Например, создать интерфейс OpenVPN0, сделать его глобальным с приоритетом 200, включить получение роутов, сразу залить конфиг:


curl -X POST http://192.168.1.1/rci/interface?name=OpenVPN0 -H "Content-Type: application/json" -d "{\"up\": true, \"ip\":{\"global\":{\"priority\":200}}, \"openvpn\":{\"accept-routes\":true, \"config\":\"JSON_ESCAPED_CONFIG\"}}" --digest -uadmin:test

Сохранить настройки:
 


curl -X POST http://192.168.1.1/rci/system/configuration/save -H "Content-Type: application/json" -d "{}" --digest -uadmin:test

 

Ух ты, JSON поддерживается, это уже хорошо! Спасибо за примеры, буду мучить Ansible... Малость почитал, rci крутая штука, а уже существует мануал по JSON и RCI?

По поводу NATа на OpenVPN интерфейсе ждать ли изменений в будущих прошивках?..

Share this post


Link to post
Share on other sites
3 часа назад, dvg_lab сказал:

Ух ты, JSON поддерживается, это уже хорошо! Спасибо за примеры, буду мучить Ansible... Малость почитал, rci крутая штука, а уже существует мануал по JSON и RCI?

По поводу NATа на OpenVPN интерфейсе ждать ли изменений в будущих прошивках?..

Расскажите, что вы хотите видеть (какой именно nat), и мы подумаем.

"Без ваших идей не обойтись" (ц), потому что мы не можем предвидеть все желания пользователей.

 

Насчет мануала по RCI - он готовится, доделываем.

Share this post


Link to post
Share on other sites
16 минут назад, Le ecureuil сказал:

Расскажите, что вы хотите видеть (какой именно nat), и мы подумаем.

"Без ваших идей не обойтись" (ц), потому что мы не можем предвидеть все желания пользователей.

 

Насчет мануала по RCI - он готовится, доделываем.

Спасибо, за быстрый ответ. Да собсно я писал чуть выше, я как раз НЕ хочу видеть NAT на интерфейсе OpenVPN, сейчас дело в том, что все пакеты следующие по пути от компа подключенного к Кинетику в сеть за OpenVPN сервером подвергаются нату на интерфейсе OpenVPN0, хотелось бы чтобы этого не было, либо это было опционально.

У меня обширная сеть магазинов по всей России и странам СНГ, и каждый магазин это отдельная сетка /24, и все эти сетки имеют доступ в часть офисной сети, которая также /24, так вот сейчас на тестовом сетапе я с офиса могу достучаться до компа за Кинетиком, и пинги приходят с моего офисного IP, т.е. все идет по роутингу, все нормально, а вот обратно с если пинговать некий сервер в офисной сети я вижу что пакеты приходят с IP адреса интерфейса OpenVPN0, а это значит что на этом интерфейсе включен маскарадинг. Прочитав ветку выше я уже нашел подобный вопрос и народ писал что либо выключать NAT для всех интерфейсов (что совсем не входит в планы) либо никак. NAT сильно мешает так как хочется OSPF (по факту сеток у меня тут гораздо больше). 

Так как Вы писали про планы относительно Policy Based Routing я и подумал что возможно с приходом PBR появится возможность выключать NAT на OpenVPN интерфейсе.

Спасибо еще раз за отклик.

PS: Опишу как работаем сейчас. В данный момент мы используем Asus RT-N16/WL500-W на собственной прошивке основанной на прошивке от энтузиастов (бывшая прошивка от Олега), у меня отдельное сборочное окружение, в прошивку вкомпиливается OpenVPN, также наши скрипты управления, автоконфигурации, snmp и тд. Автоконфиг основан на мак адресе, все что мне надо это просто прописать мак адрес в своей системе инициализации, роутер же при включении грузит бутстрап скрипт, который проверяет наличие конфигурации по своему мак адресу, после авторизации скачивает конфиг, разворачивает его в nvram, перегружается и вуа-ля готовый роутер, который можно отправлять в магазин, предварительно прописав WAN настройки провайдера.

Минусы подобной схемы только в наличии самих Асусов, эти модели тыщу лет как не производятся, а моя прошивка с новыми моделями не совместима. Поэтому в идеале хочется а) совсем уйти от самосборных прошивок и добиться стандартизации, чтобы с выходом новой модели не переделывать все кардинально, серия Keenetic как раз подкупает единой операционной системой на всех моделях и уже встроенным OpenVPN клиентом и наличием моделей в любом магазине любого города, б) Съемных рогов, т.к. у нас не везде используется Wi-Fi, а рога мешают в) централизованного управления - сейчас буду мутить схему на ансибле, JSON +rci, некой обвязке на каком-либо фреймворке, чтобы IT персонал мог конфигать роутеры централизованно из веб приложения,  у нас строгий список адресов которые можно посещать с магазина через NAT и его периодически приходится менять. Сделать это на одном роутере не проблема, но когда их 200...

Share this post


Link to post
Share on other sites
24 минуты назад, dvg_lab сказал:

Спасибо, за быстрый ответ. Да собсно я писал чуть выше, я как раз НЕ хочу видеть NAT на интерфейсе OpenVPN, сейчас дело в том, что все пакеты следующие по пути от компа подключенного к Кинетику в сеть за OpenVPN сервером подвергаются нату на интерфейсе OpenVPN0, хотелось бы чтобы этого не было, либо это было опционально.

У меня обширная сеть магазинов по всей России и странам СНГ, и каждый магазин это отдельная сетка /24, и все эти сетки имеют доступ в часть офисной сети, которая также /24, так вот сейчас на тестовом сетапе я с офиса могу достучаться до компа за Кинетиком, и пинги приходят с моего офисного IP, т.е. все идет по роутингу, все нормально, а вот обратно с если пинговать некий сервер в офисной сети я вижу что пакеты приходят с IP адреса интерфейса OpenVPN0, а это значит что на этом интерфейсе включен маскарадинг. Прочитав ветку выше я уже нашел подобный вопрос и народ писал что либо выключать NAT для всех интерфейсов (что совсем не входит в планы) либо никак. NAT сильно мешает так как хочется OSPF (по факту сеток у меня тут гораздо больше). 

Так как Вы писали про планы относительно Policy Based Routing я и подумал что возможно с приходом PBR появится возможность выключать NAT на OpenVPN интерфейсе.

Спасибо еще раз за отклик.

PS: Опишу как работаем сейчас. В данный момент мы используем Asus RT-N16/WL500-W на собственной прошивке основанной на прошивке от энтузиастов (бывшая прошивка от Олега), у меня отдельное сборочное окружение, в прошивку вкомпиливается OpenVPN, также наши скрипты управления, автоконфигурации, snmp и тд. Автоконфиг основан на мак адресе, все что мне надо это просто прописать мак адрес в своей системе инициализации, роутер же при включении грузит бутстрап скрипт, который проверяет наличие конфигурации по своему мак адресу, после авторизации скачивает конфиг, разворачивает его в nvram, перегружается и вуа-ля готовый роутер, который можно отправлять в магазин, предварительно прописав WAN настройки провайдера.

Минусы подобной схемы только в наличии самих Асусов, эти модели тыщу лет как не производятся, а моя прошивка с новыми моделями не совместима. Поэтому в идеале хочется а) совсем уйти от самосборных прошивок и добиться стандартизации, чтобы с выходом новой модели не переделывать все кардинально, серия Keenetic как раз подкупает единой операционной системой на всех моделях и уже встроенным OpenVPN клиентом и наличием моделей в любом магазине любого города, б) Съемных рогов, т.к. у нас не везде используется Wi-Fi, а рога мешают в) централизованного управления - сейчас буду мутить схему на ансибле, JSON +rci, некой обвязке на каком-либо фреймворке, чтобы IT персонал мог конфигать роутеры централизованно из веб приложения,  у нас строгий список адресов которые можно посещать с магазина через NAT и его периодически приходится менять. Сделать это на одном роутере не проблема, но когда их 200...

Насчет рогов - насколько я в курсе, то сейчас все WiFi-антенны несьемные, и точно такими будут в ближайшее время. Потому если сильно бесит - отключайте Wifi и отламывайте. :) Думаю, на ваших объемах можно в какой-то мере забить на гарантию, все равно так или иначе будет текучка.

Насчет отключения NAT - есть на это тема: 

Вам придется отключить глобально NAT и настроить на строго определенные исходящие и входящие интерфейсы, но опять-таки при автоматизации это мелкий и решаемый вопрос. Трафик между остальными будет идти без NAT вообще.

Еще можете отключить NAT Loopback, если он мешается: 

 

 

  • Upvote 1

Share this post


Link to post
Share on other sites
1 час назад, Le ecureuil сказал:

Насчет рогов - насколько я в курсе, то сейчас все WiFi-антенны несьемные, и точно такими будут в ближайшее время. Потому если сильно бесит - отключайте Wifi и отламывайте. :) Думаю, на ваших объемах можно в какой-то мере забить на гарантию, все равно так или иначе будет текучка.

Насчет отключения NAT - есть на это тема: 

Вам придется отключить глобально NAT и настроить на строго определенные исходящие и входящие интерфейсы, но опять-таки при автоматизации это мелкий и решаемый вопрос. Трафик между остальными будет идти без NAT вообще.

Еще можете отключить NAT Loopback, если он мешается: 

 

 

Спасибо большое за ссылки, NAT победил, все нормально. NAT Loopback пока вроде не мешает, таким образом констатирую факт что на данный момент Keenetic является вполне конкурентным решением. Пожалую тормозну КП от Cisco, на которые уже собрался было переходить, так то RV320 тоже умеет OpenVPN, но он явно дороже и не в каждом магазине продается. Антенны да придется очевидно разбирать роутеры и "складывать внутрь" - причина отказа от съемных антенн я так понимаю выходящие из строя усилители без нагрузки? 

Мне понравилась модель Ultra II с 7 LAN портами и 2 USB, что решает все наши вопросы по локалке, нехватает только PoE, но его так понимаю можно не ждать, не того уровня девайс. 

Спасибо за ответы на вопросы!

Share this post


Link to post
Share on other sites
10 минут назад, dvg_lab сказал:

Спасибо большое за ссылки, NAT победил, все нормально. NAT Loopback пока вроде не мешает, таким образом констатирую факт что на данный момент Keenetic является вполне конкурентным решением. Пожалую тормозну КП от Cisco, на которые уже собрался было переходить, так то RV320 тоже умеет OpenVPN, но он явно дороже и не в каждом магазине продается. Антенны да придется очевидно разбирать роутеры и "складывать внутрь" - причина отказа от съемных антенн я так понимаю выходящие из строя усилители без нагрузки? 

Мне понравилась модель Ultra II с 7 LAN портами и 2 USB, что решает все наши вопросы по локалке, нехватает только PoE, но его так понимаю можно не ждать, не того уровня девайс. 

Спасибо за ответы на вопросы!

С антеннами все проще - они внутри сделаны на печатной плате и с высокой точностью + усилки и выходной тракт специально калибруется в полном сборе с уже припаянными антеннами для максимальных показателей. Потому замена антенны на другую во-первых только ухудшит характеристики тракта, а во-вторых потери в разьеме будут очень сильные - опять падение характеристик. 

Это все в теории можно побороть, но цена заметно возрастет, сами понимаете.

Насчет умирающих усилков - у меня активно используется пара отладочных плат под разрабатываемые устройства - это вообще голые платы, даже без радиаторов и тем более без антенн WiFi. Тем не менее, до сих пор все живы (например Ultra II с 2015 года, пережившая несколько тысяч перепрошивок) - в целом выходной тракт WiFi неплохо защищен от таких издевателств.

PoE на Ultra II точно не планируется - это устройство 2014-2015 года разработки, оно уже финализировано и никто железную часть перерабатывать не будет. 

Если будут еще какие вопросы - пишите, упоминайте меня, постараемся решить что возможно.

Share this post


Link to post
Share on other sites
3 часа назад, Le ecureuil сказал:

С антеннами все проще - они внутри сделаны на печатной плате и с высокой точностью + усилки и выходной тракт специально калибруется в полном сборе с уже припаянными антеннами для максимальных показателей. Потому замена антенны на другую во-первых только ухудшит характеристики тракта, а во-вторых потери в разьеме будут очень сильные - опять падение характеристик. 

Это все в теории можно побороть, но цена заметно возрастет, сами понимаете.

Насчет умирающих усилков - у меня активно используется пара отладочных плат под разрабатываемые устройства - это вообще голые платы, даже без радиаторов и тем более без антенн WiFi. Тем не менее, до сих пор все живы (например Ultra II с 2015 года, пережившая несколько тысяч перепрошивок) - в целом выходной тракт WiFi неплохо защищен от таких издевателств.

PoE на Ultra II точно не планируется - это устройство 2014-2015 года разработки, оно уже финализировано и никто железную часть перерабатывать не будет. 

Если будут еще какие вопросы - пишите, упоминайте меня, постараемся решить что возможно.

Спасибо за развернутый ответ! По железке пусть это будет любая другая модель, главное чтобы 7 LAN + 1WAN (всё гигабит), 2 USB, и один из 7 LAN портов с поддержкой PoE, так как счетчики посетителей у всех вендоров на PoE питании. И тогда вы заткнёте за пояс еще и Microtic с их RB2011, я за ними тоже пристально слежу, но они до сих пор не могут реализовать UDP OpenVPN, хотя грозятся вот-вот в победить и в 7й версии RouterOS он якобы будет.

Для ритейла стандартный набор - в точке продаж стоит комп с 1С, иногда плюс планшет, все это требует подключения к базе в центральном офисе,  в большинстве случаев по OpenVPN (как одной из самых стабильных VPN технологий), причем соединение требуется с резервированием, т.к. все работает в режиме онлайн, плюс для техперсонала возможность зайти на кассовый комп отработать Trouble Call по RDP. Весь мониторинг завязан на Zabbix (snmp) с Autodiscovery, и алертами напрямую в техсаппорт. Поэтому идеальная железка та которую я описал она у вас уже есть фактически, плюс к этому софтовая обвязка для системы управления и вот он идеал.

Если кого-то заинтересует проект единого центра управления роутерами для нужд распределенного офиса можем начать опенсорс разработку совместно на github. Я то по любому буду делать.

PS: В одном из магазинов мы насчитали 18 блоков питания от разных устройств в удлинителях (кассовый терминал, валютный детектор, роутер, счетчик посетителей, модуль ОФД, БП планшета, БП свитча, БП системы контроля доступа,  резервный роутер от МТС и тд, и тп), и будет счастьем выкинуть хотябы свитч, PoE адаптер для счетчика и вместо резервного роутера воткнуть USB свисток.

Спасибо за помощь, будем обращаться, судя по всему я тут надолго! ))

  • Upvote 1

Share this post


Link to post
Share on other sites
В 09.01.2018 в 13:42, Le ecureuil сказал:

Тогда сделайте простой tap-сервер, но без раздачи адресов, и засуньте его в мост Home командой
> interface Home include OpenVPN0
Адреса будет раздавать DHCP-сервер кинетика.

И tun, и tap. В системе представляется для совместимости в виде Ethernet-интерфейса, можно включать в Bridge (даже tun ;))

Как поправить конфиги сервера и клиента чтобы сделать "tap-сервер, но без раздачи адресов"? Для DLNA нужно.

Нужно ли в таком случае прописывать команды из инструкции:
 

Цитата

 

interface OpenVPN0 no ip global
interface OpenVPN0 security-level private

Если планируете использовать этот сервер в том числе для выхода в Интернет клиента, то еще:

ip nat OpenVPN0

 

Можно ли сделать то же самое с tun, чтобы DLNA также работал у клиентов? Что в этом случае с конфигами проделать?

Немного помогите.

У меня ещё и пинг не проходит на udp 1194 при белом ip, открытым портом для основного интерфейса смотрящего к провайдеру и запущенном OpenVPN сервере. Пинговал себя через 2iр.

update:

Вот это закомментировать что ли, чтобы OpenVPN не раздавал адреса клиентам, а адреса назначал кинетик из пула домашней сети?  Если да, то в конфиге клиента что-то убрать нужно?

Скрытый текст

# Configure server mode and supply a VPN subnet
# for OpenVPN to draw client addresses from.
# The server will take 10.8.0.1 for itself,
# the rest will be made available to clients.
# Each client will be able to reach the server
# on 10.8.0.1. Comment this line out if you are
# ethernet bridging. See the man page for more info.
server 10.8.0.0 255.255.255.0

update2:

Получается чтобы сделать компонент OpenVPN сервером, эти команды обязательны:

interface OpenVPN0 no ip global
interface OpenVPN0 security-level private

и если затем включить мост: interface Home include OpenVPN0, то если: ip nat OpenVPN0 не включить, клиенты будут получать ip от кинетика,

но доступ у них будет только в локальную сеть кинетика, а если включить nat, то эти клиенты также смогут выходить в интернет через кинетик?

(vpn клиент -> сервер OpenVPN[Keenetic] -> локалка[Keenetic]+интернет) ?

Edited by Quadro Rover
update2

Share this post


Link to post
Share on other sites

А вот лог:

Скрытый текст

[I] Apr  8 04:15:16 OpenVPN0: OpenVPN 2.4.4 [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [AEAD]
[I] Apr  8 04:15:16 OpenVPN0: library versions: OpenSSL 1.1.0h  27 Mar 2018, LZO 2.10
[I] Apr  8 04:15:16 OpenVPN0: Diffie-Hellman initialized with 1024 bit key
[I] Apr  8 04:15:16 OpenVPN0: Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
[I] Apr  8 04:15:16 OpenVPN0: Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
[I] Apr  8 04:15:16 OpenVPN0: TUN/TAP device tun0 opened
[I] Apr  8 04:15:16 OpenVPN0: TUN/TAP TX queue length set to 100
[I] Apr  8 04:15:16 OpenVPN0: do_ifconfig, tt->did_ifconfig_ipv6_setup=0
[I] Apr  8 04:15:16 ndm: Network::Interface::IP: "OpenVPN0": IP address is 10.8.0.1/24.
[I] Apr  8 04:15:16 ndm: kernel: Disable SMB fastpath
[I] Apr  8 04:15:16 ndm: kernel: Enable SMB fastpath for 10.8.0.1/255.255.255.0
[I] Apr  8 04:15:16 ndm: kernel: Enable SMB fastpath for 192.168.1.1/255.255.255.0
[W] Apr  8 04:15:16 OpenVPN0: Could not determine IPv4/IPv6 protocol. Using AF_INET6
[I] Apr  8 04:15:16 OpenVPN0: Socket Buffers: R=[155648->155648] S=[155648->155648]
[I] Apr  8 04:15:16 OpenVPN0: setsockopt(IPV6_V6ONLY=0)
[I] Apr  8 04:15:16 OpenVPN0: UDPv6 link local (bound): [AF_INET6][undef]:5575
[I] Apr  8 04:15:16 OpenVPN0: UDPv6 link remote: [AF_UNSPEC]
[I] Apr  8 04:15:16 OpenVPN0: GID set to nobody
[I] Apr  8 04:15:16 OpenVPN0: UID set to nobody
[I] Apr  8 04:15:16 OpenVPN0: MULTI: multi_init called, r=256 v=256
[I] Apr  8 04:15:16 OpenVPN0: IFCONFIG POOL: base=10.8.0.2 size=252, ipv6=0
[I] Apr  8 04:15:16 OpenVPN0: Initialization Sequence Completed

 

Может поэтому не пингуется OpenVPN на порту 5575? Компонент ipv6 не установлен.

Edited by Quadro Rover

Share this post


Link to post
Share on other sites
2 часа назад, Quadro Rover сказал:

Как поправить конфиги сервера и клиента чтобы сделать "tap-сервер, но без раздачи адресов"?

Примерно так:

mode server
tls-server
port 1194
proto udp
dev tap0
<ca>
</ca>
<cert>
</cert>
<key>
</key>
<dh>
</dh>
keepalive 10 120
<tls-auth>
</tls-auth>
cipher AES-256-CBC
compress lz4-v2
push "compress lz4-v2"
max-clients 3
user nobody
group nobody
persist-key
persist-tun
key-direction 0
client
dev tap
proto udp
remote 1.2.3.4 1194
resolv-retry infinite
auth-nocache
nobind
persist-key
persist-tun
float
<ca>
</ca>
<cert> 
</cert>
<key>
</key>
remote-cert-tls server
<tls-auth>
</tls-auth>
cipher AES-256-CBC
comp-lzo adaptive
key-direction 1
verb 3

 

2 часа назад, Quadro Rover сказал:

У меня ещё и пинг не проходит на udp 1194 при белом ip, открытым портом для основного интерфейса смотрящего к провайдеру и запущенном OpenVPN сервере. Пинговал себя через 2iр.

А должен?

 

2 часа назад, Quadro Rover сказал:

Нужно ли в таком случае прописывать команды из инструкции:

Нет.

Edited by Mixin

Share this post


Link to post
Share on other sites

Ой спасибо, попробую. А можно ещё чтобы tun мостом и DLNA через него?)

Извиняюсь что не цитирую конкретные ответы, не очень понятно как.

Это предупреждение [W] Apr 8 04:15:16 OpenVPN0: Could not determine IPv4/IPv6 protocol. Using AF_INET6 я убрал явно указав протокол: proto udp4 (тут вычитал https://community.openvpn.net/openvpn/ticket/805)

Но да, udp4 не пингуется, а если указать tcp4 то пинг приходит и сервер пишет лог по этому поводу. UPD не должен пинговаться? У меня уже долго камасутра с OpenVPN сервером, бедные люди кто хочет настроить и не может)

O кстати, есть батник, делал для себя - ошибки не обрабатывает. Внизу видно какие файлы он удаляет после генерации сертификатов, также можно указать количество клиентов.

Он для задачи "всё сразу". Чтобы генерить отдельно для клиентов новые серты, нужно дописывать. Пишет в папку easy-keys там же где лежит, а лежать должен: C:\Program Files\OpenVPN\bin\ и файл openssl-1.0.0.cnf должен быть рядом с ним. Перед каждым запуском папку easy-keys лучше удалять или очищать. Портативный если его вместе с файлами из папки bin таскать.

Может кому сгодится EasyKeys - OpenVPN.bat

Или кодом, сохранить с расширением .bat

Скрытый текст

@echo off
title EasyKeys - OpenVPN

rem ---------------- USER SETTING SECTION ----------------

set key_size=4096
set dh_key_size=1024

set server_keyname=GanjaServer
set clients_count=2

set key_country=us
set key_province=ca
set key_city=sanfrancisco
set key_org=openvpn
set key_email=mail@host.domain
set key_cn=changeme
set key_name=changeme
set key_ou=changeme
set pkcs11_module_path=changeme
set pkcs11_pin=1234

rem ---------------- USER SETTING SECTION END ----------------

rem ---------------- SCRIPT VARIABLES ----------------
set home=%~dp0
set key_dir=%~dp0easy-keys
set key_config="%~dp0openssl-1.0.0.cnf"

rem ---------------- PAUSE BETWEEN COMMANDS ----------------
set "t=timeout.exe /t 1 /nobreak > nul"

if not exist "%key_dir%" (mkdir "%key_dir%")

type nul> "%key_dir%\index.txt"
type nul> "%key_dir%\index.txt.attr"
type nul> "%key_dir%\serial"
echo 01> "%key_dir%\serial"
%t%

rem ---------------- SERVER AND CLIENT SIDE. BUILD A CERT AUTHORITY VALID FOR TEN YEARS, STARTING NOW ----------------
openssl.exe req -batch -days 3650 -nodes -new -x509 -keyout "%key_dir%\ca.key" -out "%key_dir%\ca.crt" -config %key_config%
%t%

rem ---------------- SERVER SIDE. BUILD A DIFFIE-HELLMAN FILE ----------------
openssl.exe dhparam -out "%key_dir%\dh%dh_key_size%.pem" %dh_key_size%
%t%

rem ---------------- SERVER SIDE. BUILD A REQUEST FOR A CERT THAT WILL BE VALID FOR TEN YEARS ----------------
openssl.exe req -batch -days 3650 -nodes -new -keyout "%key_dir%\%server_keyname%.key" -out "%key_dir%\%server_keyname%.csr" -config %key_config%
%t%
rem ---------------- SERVER SIDE. SIGN THE CERT REQUEST WITH OUR CA, CREATING A CERT/KEY PAIR ----------------
openssl.exe ca -batch -days 3650 -out "%key_dir%\%server_keyname%.crt" -in "%key_dir%\%server_keyname%.csr" -extensions server -config %key_config%
%t%
del /f /q "%key_dir%\*.old"> nul 2> nul
type nul> "%key_dir%\index.txt"
%t%

setlocal enabledelayedexpansion
for /l %%i in (1,1,%clients_count%) do (
set r=client!random!
rem ---------------- CLIENT SIDE. BUILD A REQUEST FOR A CERT THAT WILL BE VALID FOR TEN YEARS ----------------
openssl.exe req -batch -days 3650 -nodes -new -keyout "%key_dir%\!r!.key" -out "%key_dir%\!r!.csr" -config %key_config%
%t%
rem ---------------- CLIENT SIDE. SIGN THE CERT REQUEST WITH OUR CA, CREATING A CERT/KEY PAIR ----------------
openssl.exe ca -batch -days 3650 -out "%key_dir%\!r!.crt" -in "%key_dir%\!r!.csr" -config %key_config%
%t%
del /f /q "%key_dir%\*.old"> nul 2> nul
type nul> "%key_dir%\index.txt"
%t%)
endlocal

rem ---------------- SERVER AND CLIENT SIDE. CREATE AN "HMAC FIREWALL" TO HELP BLOCK DOS ATTACKS AND UDP PORT FLOODING ----------------
openvpn.exe --genkey --secret "%key_dir%\ta.key"

del /f /q "%key_dir%\index.txt"> nul 2> nul
del /f /q "%key_dir%\index.txt.attr"> nul 2> nul
del /f /q "%key_dir%\serial"> nul 2> nul
del /f /q "%key_dir%\0*.pem"> nul 2> nul
rem del /f /q "%home%.rnd"> nul 2> nul

pause
exit 0

 

 

Edited by Quadro Rover

Share this post


Link to post
Share on other sites
29 минут назад, Quadro Rover сказал:

Извиняюсь что не цитирую конкретные ответы, не очень понятно как.

Выделяете мышкой нужное, появляется кнопка "Цитировать".

29 минут назад, Quadro Rover сказал:

Но да, udp4 не пингуется, а если указать tcp4 то пинг приходит и сервер пишет лог по этому поводу. UPD не должен пинговаться?

Будет проще, если вы покажите и лог, и правило. 

29 минут назад, Quadro Rover сказал:

А можно ещё чтобы tun мостом и DLNA через него?)

Более мудрые товарищи, я думаю, помогут. Но мне почему-то кажется, что вам надо с сетями и маршрутами разбираться.

Edited by Mixin

Share this post


Link to post
Share on other sites
1 час назад, Сергей Молоков сказал:

а прошивки для них уже не собирают?

http://files.keenopt.ru/firmware/Keenetic_III/2018-02-22/

1 час назад, Mixin сказал:

Будет проще, если вы покажите и лог, и правило.

Поставьте proto tcp4 и увидите лог при пинге порта сервера, при udp4 не пингует. Или у вас пингует?

Share this post


Link to post
Share on other sites
В 08.04.2018 в 04:52, Mixin сказал:

Примерно так:

а зачем

client
comp-lzo adaptive

если у вас

mode server
push "compress lz4-v2"

?

Share this post


Link to post
Share on other sites
В 12.09.2017 в 10:53, Le ecureuil сказал:

Для ccd на устройствах с storage-разделом можете попробовать использовать его.

Он располагается по адресу /storage

Использование USB-drive неразумно, поскольку порядок поднятия интерфейсов и монтирования дисков не связан, и у вас будут рандомные глюки.

У меня /storage почему-то не связан с usb-drive.

ipp.txt на /storage появляется, но его нет на usb-drive

 

Цитата

(config)> ls

            ...

           entry, type = V:
                 name: storage:

            subsystem: local

            entry, type = V:
                 name: usb:

            subsystem: local

            entry, type = V:
                 name: 1D7D-7F6F:

              mounted: yes

               fstype: vfat

                label: STORAGE1

                 uuid: 1D7D-7F6F

                 free: 4003233792

                total: 31905579008

            subsystem: usb

 

 

Цитата

(config)> show usb

              usb:
               device:
                     name: 1D7D-7F6F:
                    label: STORAGE1
                   DEVICE: /proc/bus/usb/001/003
                  DEVPATH: /devices/platform/ehci-platform/usb1/1-1/1-
                           1.4/1-
                           1.4:1.0/host0/target0:0:0/0:0:0:0/block/sda/sda1
                subsystem: storage
                     port: 1
            power-control: yes
              usb-version: 2.00

               device:
                     name: UsbLte0
                   DEVICE: /proc/bus/usb/001/005
                  DEVPATH: /devices/platform/ehci-platform/usb1/1-1/1-
                           1.2/1-1.2:1.2/net/wimax0
                    alias:
                subsystem: network
                     port: 1
            power-control: yes
              usb-version: 2.10

 

Цитата

(config)> ls storage:

              rel: storage:

            entry, type = R:
                 name: ipp.txt

                 size: 36

 

(config)> ls STORAGE1:

              rel: STORAGE1:

            entry, type = D:
                 name: System Volume Information

            entry, type = D:
                 name: pub

            entry, type = R:
                 name: swapfile

                 size: 536870912

 

 

Share this post


Link to post
Share on other sites
2 часа назад, raf сказал:

У меня /storage почему-то не связан с usb-drive.

ipp.txt на /storage появляется, но его нет на usb-drive

 

 

 

Эти разделы никак не связаны между собой кроме того факта, что если на устройстве нет USB-разъема, то и раздела /storage тоже нет.

Share this post


Link to post
Share on other sites
4 часа назад, Le ecureuil сказал:

Эти разделы никак не связаны между собой кроме того факта, что если на устройстве нет USB-разъема, то и раздела /storage тоже нет.

Как тогда в /storage создать ccd/ каталог и его содержимое для реализации работы опции openvpn "client-config-dir"? Команда cli "copy STORAGE1:ccd storage:" не работает

Пробовал в конфигурации openvpn указать раздел с usb-drive 'client-config-dir /STORAGE1/ccd' - не работает

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×