Спасибо Lo-fi
Доклад tonsky оказался полезным и в простых словах дающим направление.
Про чистые функции, неизменяемые данные и прочие прелести ФП в целом все понятно, и даже несистемно применялось там, где рабочий ЯП позволяет (тот же js).
А вот в части immutable data, например, было непонятно какие накладные расходы на память/производительность это накладывает. Тот же метод copy-on-write (так он называется оказывается), который первым приходит на ум при работе по изменению исходных структур, выглядит жутко накладным.
Из доклада понятно, что данные организуются в виде деревьев, в теорию можно углубиться по по тэгам "persistent data structure".
И с поверхностным пониманием принципа можно, наконец, покопаться в react.js или за closure взяться.
в server.conf вставить строки
route 192.168.66.0 255.255.255.0
push "route 192.168.66.0 255.255.255.0"
в ccd/ams005 строка push "route 10.8.0.0 255.255.255.0" вроде как лишняя
про ipv6 и сеть 192.168.1.1 пока не пойму, каким образом они влияют, так не вижу полной топологии сети. Видимо какие-то перекрещивающиеся маршруты - вот и скорость низкая, а ipv6 при этом дропается в openvpn.
>>>Команда push "redirect-gateway def1 bypass-dhcp" отправляет весь внешний траффик клиентов наружу? Как разграничить тунеллирование внутри сети и в интернет?
я думаю, эта опция вам не нужна. С ней весь трафик идет в openvpn на сервер,
без нее сеть 10.8.0.0/24 пойдет на сервер, остальной трафик напрямую.
Попробуйте без нее.
>>>Как перейти от ip в обозначениях клиентов к рабочим группам и названиям компьютеров, как в сетях windows?
Сети Windows работают в одной подсети и на уровне L2.
Это нужно было изначально поднимать L2-туннель в openvpn (опция dev tap)
Сейчас у вас L3-туннель (опция dev tun).
Там не будет роутинга и маршрутизации подсетей, а устройства будут общаться на уровне mac-адресов. Непонятно только, что делать с вашей nat-сетью. Здесь я вам ничем помочь не смогу, так как такое никогда не настраивал за ненадобностью.
в файле hosts в windows можно назначить имена для ip-адресов (что-то типа локального dns), но универсального решения тут нет. Разрешением имен занимается DNS, в сетях windows есть NetBios, ну и все.
>>>Стандартными средствами внутренности android клиент windows видеть не желает. Только пингует да и дает просматривать себя на уровне прав текущего пользователя. Как быть?
от openvpn и маршрутизация (а также типа сетей L2 - L3) это не зависит.
Это уже надо смотреть какие привилегии сам андроид может давать при сетевом входе. Это политики аутентификации устройства и возможности программ типа ES Explorer и т.п.
на сервере в ccd/ папке для этого клиента необходимо указать опцию iroute 192.168.66.0 255.255.255.0
эта опция скажет серверу, что у этого клиента за ним есть сеть 66.0/24 и пакеты в эту сеть необходимо передать именно этому клиенту (а далее он сам разберется со своим NAT)
Сейчас сервер дропает пакеты 66.0/24, так как ему ничего не известно о сети 192.168.66.0
возможно потребуются 2 правила iptables
Chain FORWARD (policy ACCEPT)
ACCEPT all -- 10.8.0.0/24 192.168.66.0/24 (тут правда уже есть более общее правило ACCEPT all -- 10.8.0.0/24 anywhere)
и обратное
ACCEPT all -- 192.168.66.0/24 10.8.0.0/24
1)для логирования в конфиг на сервере необходимо вставить опцию
log /var/log/openvpn.log
или
log-append /var/log/openvpn.log
2)соединения клиентов сервером есть - хорошо. Осталась маршрутизация
В Вашем случае необходимо, чтобы в конфиге сервера была опция client-to-client (это есть уже).
Далее нужно разрешающее правило в iptables в таблице FORWARD на сквозную передачу пакетов через интерфейс tun в сети 10.8.0.0
что-то типа iptables -A FORWARD -s 10.8.0.0/24 -i tun0 -j ACCEPT
(после перезагрузки сервера правила сбрасываются в iptables, если это отдельно не настроено).
И третье - опция iroute 10.8.0.0 255.255.255.0 в файлах в ccd/ вам не нужна - эта опция нужна для маршрутизации подсети, находящейся за клиентом, если такая имеется, у вас этого нет, насколько я вижу. Таким образом получается, что ccd/ папка вам вообще без надобности.
>> пинг на них, а также на DHCP самого сервера не проходит
Тут первым делом необходимо, чтобы пинг проходил, да и вообще, чтобы помех для соединения от клиента к серверу на Debian не было.
Смотреть iptables, открыть порт udp 5000 (по умолчанию для openvpn 1194, но в конфиге указан 5000)
Далее, посмотрите /var/log/openvpn.log в момент соединения, возможно клиентские ключи/сертификаты необходимо переложить в /etc/openvpn/ccd, т.к. эту папку вы указали в конфиге (у меня ключи/сертификаты лежат в ней - клиенты подсоединяются)
Далее, возможно вам понадобится опция duplicate-cn в конфиге сервера (если сертификаты не индивидуальные на каждого клиента)
На этом этапе важно, чтобы клиент подключился и получил ip-адрес от сервера, далее можно уже настроить нужную маршрутизацию через опции конфигов и iptables.
У себя на сервере вы используете опцию push "redirect-gateway def1 bypass-dhcp", а это значит, что весь трафик в интернет без исключения заворачивается в openvpn к вам на сервер (вы именно этого хотели?), поэтому настройка маршрутизации на сервере необходима.
Они и были идентичными. Насколько я понял, различаются firmware. Может в этом и дело, хотя я сомневаюсь, так как raid1 собирал из одного целого диска, второй был просто "missing". Ситуация так и осталась загадкой для меня, но в итоге все разрешилось положительно. Raid-раздел "разобрали" в обычный блочный sdb с помощью testdisk, а там lvm-разделы запустились штатными средствами.
Спасибо. В саппорт написал ранее. Ответа пока нет.
Перечитал ваш комментарий выше еще раз более внимательно.
В принципе, описанное там может быть причиной того, что smtp не принимает запрос. Пока читал - проблема разрешилась сама собой, как ни странно. Вот теперь гадаю, что это было?
Естественно. Изначально все было настроено и работало. И вдруг перестало. Логины/пароли после этого, конечно, проверил. На веб-интерфейс заходит. На imap.yandex.ru - заходит, а на smtp.yandex.ru - нет. Ответа от саппорта пока тоже нет.
спасибо, но это не из веб-интерфейса. Изначально МФУ мне письмо отправить не может, потом и msoutlook-клиент отвалился. Через веб-интерфейс все хорошо.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.