• Как настроить Site-to-site OpenVPN между роутерами Mikrotik и DD-WRT?

    @nikitadenisov Автор вопроса
    Gregory, Вот выдержка из логов сервера при подключении клиента.
    Причём, в случае с Mikrotik, клиент получает информацию из файла ccd клиента. А вот в случае с клиентом Windows и Android по какой то причине он этот файл игнорирует.
    20200519 14:02:30 I TCP connection established with [AF_INET]xxx.xxx.xxx.xxx:xxxxx 
    20200519 14:02:31 xxx.xxx.xxx.xxx:xxxxx TLS: Initial packet from [AF_INET]xxx.xxx.xxx.xxx:xxxxx sid= XXX 
    20200519 14:02:35 xxx.xxx.xxx.xxx:xxxxx VERIFY OK: depth=1 Cert parameters 
    20200519 14:02:35 xxx.xxx.xxx.xxx:xxxxx VERIFY OK: depth=0 Cert parameters 
    20200519 14:02:35 xxx.xxx.xxx.xxx:xxxxx NOTE: --mute triggered... 
    20200519 14:02:35 xxx.xxx.xxx.xxx:xxxxx 5 variation(s) on previous 3 message(s) suppressed by --mute 
    20200519 14:02:35 I xxx.xxx.xxx.xxx:xxxxx [Mobile ] Peer Connection Initiated with [AF_INET]xxx.xxx.xxx.xxx:xxxxx 
    20200519 14:02:35 I Mobile /xxx.xxx.xxx.xxx:xxxxx MULTI_sva: pool returned IPv4=192.168.4.2 IPv6=(Not enabled) 
    20200519 14:02:35 Mobile /xxx.xxx.xxx.xxx:xxxxx OPTIONS IMPORT: reading client specific options from: /tmp/openvpn_cc_XXXXXX.tmp 
    20200519 14:02:35 Mobile /xxx.xxx.xxx.xxx:xxxxx MULTI: Learn: 192.168.4.2 -> Mobile /xxx.xxx.xxx.xxx:xxxxx 
    20200519 14:02:35 Mobile /xxx.xxx.xxx.xxx:xxxxx MULTI: primary virtual IP for Mobile /xxx.xxx.xxx.xxx:xxxxx : 192.168.4.2 
    20200519 14:02:36 Mobile /xxx.xxx.xxx.xxx:xxxxx PUSH: Received control message: 'PUSH_REQUEST' 
    20200519 14:02:36 I Mobile /xxx.xxx.xxx.xxx:xxxxx send_push_reply(): safe_cap=940 
    20200519 14:02:36 Mobile /xxx.xxx.xxx.xxx:xxxxx SENT CONTROL [Mobile ]: 'PUSH_REPLY route 192.168.1.0 255.255.255.0 route-gateway 192.168.4.1 topology subnet ping 30 ping-restart 120 socket-flags TCP_NODELAY ifconfig 192.168.4.2 255.255.255.0' (status=1)
  • Как настроить Site-to-site OpenVPN между роутерами Mikrotik и DD-WRT?

    @nikitadenisov Автор вопроса
    Gregory,
    Ключи и сертификаты у каждого из клиентов свои.
  • Как настроить Site-to-site OpenVPN между роутерами Mikrotik и DD-WRT?

    @nikitadenisov Автор вопроса
    Windows клиент пробовал подключать через Wi-Fi точку доступа с телефона.
    Android клиент подключал по мобильной сети LTE.
  • Как настроить Site-to-site OpenVPN между роутерами Mikrotik и DD-WRT?

    @nikitadenisov Автор вопроса
    Gregory,
    Удалось найти решение!
    Прописал в конфиге сервера OVPN на DD-WRT
    client-config-dir /jffs/etc/openvpn/ccd
    И соответственно в этой папке разместил файлы с пользовательскими маршрутами.
    Также в поле Additional config на DD-WRT добавил маршрут до сети 192.168.2.0/24 следующей командой:
    route 192.168.2.0 255.255.255.0

    После выполнения этих действий сеть клиента со стороны сервера стала успешно пинговаться.

    Но появилась сдедующая проблема:
    Помимо Mikrotik в сети есть ещё 2 клиента - один на Windows, другой на Android.
    Соответственно для них в папке client-config-dir /jffs/etc/openvpn/ccd создал файлы конфигов этих клиентов.
    Но проблема в том, что и клиент на Windows и клиент на Android игнорируют эту настройку и получают не тот IP адрес, что указан в CCD.
    Привожу содержимое CCD файлов для каждого из клиентов:
    Mikrotik:
    ifconfig-push 192.168.4.5 255.255.255.0 
    iroute 192.168.2.0 255.255.255.0

    Android:
    ifconfig-push 192.168.4.2 255.255.255.0
    Windows:
    ifconfig-push 192.168.4.3 255.255.255.0
    Из всех трёх клиентов настройки из файла CCD успешно получает только Mikrotik.
    Остальные берут IP произвольно.
    В чём может быть проблема?
  • Как настроить Site-to-site OpenVPN между роутерами Mikrotik и DD-WRT?

    @nikitadenisov Автор вопроса
    Gregory, Большое спасибо за проявленный интерес к моему вопросу!

    1. mikroitk по openvpn ip получает?
    Mikrotik по OVPN IP адрес получает. Из сети сервера OVPN могу пинговать IP Mikrotik, из диапазона 192.168.4.0/24. Но дальше, в локальную сеть за клиентом, пинги из локальной подсети за сервером не проходят.

    2. Маршруты.
    На роутере DD-WRT во вкладке Setup-Advanced Routing добавлен маршрут до сети 192.168.2.0/24. Шлюзом указан адрес Mirkotik из подстети OVPN.

    На роутере Mikrotik есть маршрут до сети за сервером - 192.168.1.0/24

    Больше никаких дополнительных маршрутов не прописывал.

    3. Firewall.
    Вот вывод команды ip firewall filter print на Mikrotik( OVPN клиент):

    Flags: X - disabled, I - invalid, D - dynamic 
     0    ;;; VPN Accept_PPTP
          chain=input action=accept in-interface=VPN_Home log=no log-prefix="" 
    
     1 X  ;;; VPN Accept_OVPN
          chain=input action=accept in-interface=ovpn-outHOME log=no log-prefix="" 
    
     2 X  chain=forward action=accept src-address=192.168.4.0/24 dst-address=192.168.2.0/24 out-interface=ovpn-outHOME log=no log-prefix="" 
    
     3 X  chain=output action=accept out-interface=ovpn-outHOME log=no log-prefix="" 
    
     4    ;;; SNMP Protocol Accept
          chain=input action=accept protocol=udp dst-port=161 log=no log-prefix="" 
    
     5    ;;; defconf: accept established,related,untracked
          chain=input action=accept connection-state=established,related,untracked 
    
     6    ;;; defconf: drop invalid
          chain=input action=drop connection-state=invalid 
    
     7    ;;; defconf: accept ICMP
          chain=input action=accept protocol=icmp 
    
     8    ;;; defconf: drop all not coming from LAN
          chain=input action=drop in-interface-list=!LAN log=no log-prefix="" 
    
     9    ;;; defconf: accept in ipsec policy
          chain=forward action=accept ipsec-policy=in,ipsec 
    
    10    ;;; defconf: accept out ipsec policy
          chain=forward action=accept ipsec-policy=out,ipsec 
    
    11 X  ;;; defconf: fasttrack
          chain=forward action=fasttrack-connection connection-state=established,related log=no log-prefix="" 
    
    12    ;;; defconf: accept established,related, untracked
          chain=forward action=accept connection-state=established,related,untracked 
    
    13    ;;; defconf: drop invalid
          chain=forward action=drop connection-state=invalid 
    
    14    ;;; defconf:  drop all from WAN not DSTNATed
          chain=forward action=drop connection-state=new connection-nat-state=!dstnat in-interface-list=WAN 
    -- [Q quit|D dump|down]
    
    15    ;;; LTE Modem Accept 
          chain=input action=accept in-interface=lte1 log=no log-prefix=""

    Первое правило - это пропуск трафика с PPTP тунеля (он сейчас используется для доступа к сети роутера. Вместо него как раз и хочу настроить OVPN).

    Правила Firewall роутера DD-WRT указывал в самом вопросе.
  • Локальный интерфейс на сервере иногда становиться не доступным.Почему?

    @nikitadenisov Автор вопроса
    Wexter: Судя по Wireshark действительно в сети происходит конфликт IP адресов. Но проблема в том, что это конфликт происходит на сетевых интерфейсах самого сервера. Т.е. у сервера 2 сетевых интерфейса, один смотрит в Интернет, другой в локальную сеть. И почему то так получается, что внешней карте сервера присваивается тот же IP, что и у локальной карты сервера. Подскажите пожалуйста, почему так может происходить?

    Адреса на сервере и для внешней и для внутренней карты прописаны статически. На DHCP сервере зарезервирован IP для локальной карты по её MAC адресу.
  • Локальный интерфейс на сервере иногда становиться не доступным.Почему?

    @nikitadenisov Автор вопроса
    Wexter: Вывод arp -n до и во время сбоя не изменяется. Сервер знает о всех сопроставлениях IP - MAC, о которых должен.
  • Локальный интерфейс на сервере иногда становиться не доступным.Почему?

    @nikitadenisov Автор вопроса
    nioterzor: В общем снова произошёл обрыв коннекта и в Wireshark посыпалось много информации о TCP Retransmission, TCP Dup ACK, TCP Spurious Retransmission(В Wireshark эти сообщения выделены чёрным). А также сообщения про порты RST, ACK(выделены красным).
    Что это может значить?
  • Локальный интерфейс на сервере иногда становиться не доступным.Почему?

    @nikitadenisov Автор вопроса
    nioterzor: Просканировал сеть с помощью WireShark. Ничего аномально вроде бы как не выявилось. По ICMP есть только ошибки, что на локальном адресе сервера destination port unreacheble:53. Т.е. это порт DNS. Может ли это как то влиять на периодическое падение коннекта?
    Wexter: Сеть маленькая, тут никто подобным не занимается.
  • Локальный интерфейс на сервере иногда становиться не доступным.Почему?

    @nikitadenisov Автор вопроса
    Wexter: Думаю что врятли, так как адрес статический.
    Falseclock: Можно пожалуйста подробнее, что вы отключили на виндовых машинах? В моём случае DNS итак не на виндовой машине поднят. Или я что то не так понял?
  • Локальный интерфейс на сервере иногда становиться не доступным.Почему?

    @nikitadenisov Автор вопроса
    nioterzor: Я правильно понимаю, что для захвата информации о ping нужно пользоваться следующими опциями tcpdump:
    tcpdump -tn icmp and host "локальный адрес сервера" ?
  • Локальный интерфейс на сервере иногда становиться не доступным.Почему?

    @nikitadenisov Автор вопроса
    ping не идёт, по ssh также не выходит подключиться.
  • Как настроить доступ в локальную сеть за клиентом OpenVPN?

    @nikitadenisov Автор вопроса
    mureevms:
    Если посмотреть логи, то маршрут до сети 192.168.2.0/24 отправляется всем клиентам OpenVPN, кроме клиента в сети 192.168.2.0/24. Локальный адрес OpenVPN клиента в сети 192.168.2.0/24 - 192.168.1.100.
    Этот адрес можно пропинговать с любого из клиентов сети OpenVPN, но только его(саму сеть 192.168.2.0/24 остальные клиенты не видят. Но вот в чём странность: с сервера OpenVPN клиента 192.168.2.100 пропинговать не получается.
    В чём может быть причина?
  • Как настроить доступ в локальную сеть за клиентом OpenVPN?

    @nikitadenisov Автор вопроса
    mureevms:
    1. Маршрутизатизировать с помощью iptables? Если я правильно понял, то не подскажете правила для маршрутизации пакетов из сети клиента в сеть локальную сеть за сервером.На клиенте сетевые интерфейсы eth0 и tun0.
    2. Выше есть вывод команды route для клиента и сервера. Маршрута нет как на клиенте, так и на сервере.
  • Как настроить доступ в локальную сеть за клиентом OpenVPN?

    @nikitadenisov Автор вопроса
    Большое спасибо за ответ.
    Т.е. компьютер с OpenVPN клиентом должен быть шлюзом по умолчанию для сети 192.168.2.0/24?
    И ещё один вопрос: почему команда route не показывает существование маршрута из сети 192.168.1.0/24 в сеть 192.168.2.0/24 и через сеть OpenVPN? Ведь он прописан в конфигурации OpenVPN сервера.
  • Настройка доступа из локальной сети во внешнюю, как правильно настроить NAT?

    @nikitadenisov Автор вопроса
    roswell: Спасибо, исправил. Доступ в Интернет на сервере появился.
  • Настройка доступа из локальной сети во внешнюю, как правильно настроить NAT?

    @nikitadenisov Автор вопроса
    Большое спасибо за ответ. Обязательно перепишу скрипт.
    А почему вы посоветовали убрать скрипт из Post-up? Куда этот скрипт добавить, чтобы параметры iptables автоматически применялись при перезагрузке?
    Что касается необходимости NAT. Сервер же стоит первым в локальной сети, а значит он виден из Интернета. Для того, чтобы запретить излишний доступ кому попало из вне я и настраиваю Iptables. Разве не так?
  • Настройка доступа из локальной сети во внешнюю, как правильно настроить NAT?

    @nikitadenisov Автор вопроса
    Karmashkin: По dhcp адрес получить не получиться, так как провайдер подключает клиентов по статичным ip.
    Вот в том то и проблема, что даже с самого сервера доступа в Интернет нету. ping до локального шлюза провайдера доходит и всё.
  • Настройка доступа из локальной сети во внешнюю, как правильно настроить NAT?

    @nikitadenisov Автор вопроса
    Wexter: Кэширование трафика, настройка доступа к определённым сайтам.