У меня есть настроенный OpenVPN-сервер на pfSense в режиме "Peer to Peer (SSL/TLS)", и к нему подключен маршрутизатор MikroTik. Клиент получает IP-адрес 10.0.78.2 от сервера с IP-адресом 10.0.78.1 (pfSense), и я могу успешно пинговать сервер. Однако, когда я пытаюсь выполнить пинг компьютер в локальной сети за MikroTik или сам бридж MikroTik с IP-адресом 192.168.11.1, пинг не проходит. Какие настройки фаервола могут быть необходимы для разрешения такого сетевого доступа? Вот текущие настройки фаервола: <pre><code>0 ;;; Input chain=input action=accept connection-state=established,related log=no log-prefix="" 1 chain=input action=accept protocol=icmp log=no log-prefix="" 2 chain=input action=accept protocol=tcp src-address-list=WanAcceptIP in-interface-list=WAN dst-port=8291 log=no log-prefix="" 3 ;;; DNS chain=input action=accept protocol=udp in-interface-list=LAN dst-port=53 log=no log-prefix="" 4 ;;; Dostup Mikrotik iz Lan chain=input action=accept protocol=tcp in-interface-list=LAN dst-port=8291 log=no log-prefix="" 5 chain=input action=accept protocol=tcp in-interface-list=LAN dst-port=80 log=no log-prefix="" 6 ;;; Ping accept chain=input action=accept protocol=icmp in-interface=bridge1 log=no log-prefix="" 7 ;;; drop all input chain=input action=drop connection-state=invalid log=no log-prefix="" 8 chain=input action=drop log=no log-prefix="" 11 chain=forward action=accept protocol=icmp log=no log-prefix="" 12 chain=forward action=accept out-interface=VpntoUSA in-interface-list=LAN log=no log-prefix="" 13 chain=forward action=accept in-interface=VpntoUSA out-interface-list=LAN log=no log-prefix="" 14 chain=forward action=accept in-interface-list=LAN out-interface-list=WAN </code></pre>
Для решения проблемы с пингом локальной сети через VPN вам необходимо обратить внимание на несколько факторов, включая настройки маршрутизации и правила фаервола. Давайте рассмотрим шаги, которые могут помочь в разрешении доступа. ### 1. Настройки маршрутизации: Убедитесь, что маршруты правильно настроены как на стороне pfSense, так и на стороне MikroTik. - **На pfSense**: Убедитесь, что экземпляры клиентских адресов (например, 10.0.78.2) могут маршрутизироваться до локальных адресов (например, 192.168.11.0/24). Для этого необходимо добавить соответствующий маршрут для локальной сети в pfSense. - **На MikroTik**: Убедитесь, что маршрутизатор MikroTik знает, как отправить пакеты обратно на адреса в диапазоне 10.0.78.0/24. Вам может понадобиться добавить маршрут, который указывает на интерфейс VPN. ### 2. Правила фаервола MikroTik: У вас есть несколько правил в секции фаервола, которые, вероятно, настроены для разрешения или блокировки трафика. Вот что нужно проверить: - **Правила для входящего трафика**: Вы разрешаете ICMP только на интерфейсе `bridge1` (правило 6) и в разделе `Input` (правило 1). Убедитесь, что в этом случае ваш VPN-трафик также обрабатывается. - **Правила для пересылаемого трафика**: Правила 12 и 13, отвечающие за разрешение пересылки между VPN и локальной сетью, есть. Убедитесь, что пакеты, coming from `VpntoUSA` (VPN интерфейс), могут проходить, когда они направляются в вашу локальную сеть. ### 3. Правила фаервола pfSense: На стороне pfSense также необходимо проверить правила фаервола. Вам нужно убедиться, что: - Правила в pfSense позволяют входящие ICMP-запросы от VPN-клиентов в локальную сеть (192.168.11.0/24). - Если pfSense использует NAT (например, для выхода в интернет), убедитесь, что он настроен правильно и не блокирует нужные протоколы. ### 4. Проверьте настройки OpenVPN: Убедитесь, что OpenVPN настроен следующим образом: - `push "route 192.168.11.0 255.255.255.0"` – добавьте эту строку в конфигурацию сервера OpenVPN, чтобы направить маршруты через VPN. - Если у вас есть разрешения на доступ к пиринговым адресам, проверьте, что они настроены правильно. ### 5. Логирование и диагностика: Попробуйте использовать инструменты диагностики, чтобы увидеть, где именно пакеты блокируются. - **Логи фаервола MikroTik**: Вы можете включить логирование для входящих и пересылаемых запросов ICMP, чтобы понять, доходят ли они до траблшутируемого устройства или нет. - Используйте `traceroute` или аналогичные инструменты для диагностики маршрута пакетов. ### Заключение: Если после выполнения всех этих рекомендаций проблема не решается, вам может понадобиться просмотреть более детальные настройки сетевой конфигурации или обменяться поправками по решению этой проблемы на форумах, посвященных pfSense и MikroTik.
Обратный маршрут на pfSense не увидел
Покажи трассировку
Гммм а разве это не они ?
DAc 10.0.78.0/24 VpntoUSA 0 DAc 10.0.78.0/32 VpntoUSA 0
К сожалению сейчас нет доступа к устройствам в локалке за микротом(Но насколько я помню трафик доходит до 192.168.11.1 это bridge и далше не идёт)
с самого микрота (10.0.78.2 он же VpntoUSA интерфейс который создается при подклчении по openvpn к серверу )
[dracon@MikroTik] > /tool traceroute 10.0.78.1 Columns: ADDRESS, LOSS, SENT, LAST, AVG, BEST, WORST, STD-DEV # ADDRESS LOSS SENT LAST AVG BEST WORST STD-DEV 1 10.0.78.1 0% 6 146.9ms 209.2 146.7 292.4 63
С бриджа
[dracon@MikroTik] > /tool traceroute address=10.78.0.1 src-address=192.168.11.1 Columns: ADDRESS, LOSS, SENT, LAST, AVG, BEST, WORST, STD-DEV # ADDRESS LOSS SENT LAST AVG BEST WORST STD-DEV 1 176.214.183.253 0% 1 0.9ms 0.9 0.9 0.9 0 2 100% 1 timeout 3 100% 1 timeout 4 100% 1 timeout 5 100% 1 timeout 6 0% 1 0ms
На сервере OpenVPN нужно создать файл:
/etc/openvpn/ccd/имяКлиента
имяКлиента - такое, как задавали при создании ключей для клиента
внутри файла должна быть строчка с маршрутом:
push "route 192.168.11.0 255.255.255.0"
Кроме того в конфиге сервера должны бчть строчки:
client-config-dir ccd
route 192.168.11.0 255.255.255.0
Я хз, почему в OpenVPN требуется в двух местах прописывать маршрут, но факт остаётся фактом: если прописать в одном месте, то не работает. :)
Кроме того в файл /etc/openvpn/ccd/имяКлиента можно добавить
iroute 192.168.22.0 255.255.255.0
если захочется, чтобы и серверу была доступна локалка за клиентом (вместо 192.168.22.0 прописать вашу клиентскую локалку).
А, погодите... Микротик у вас на стороне сервера или на стороне клиента? Из вопроса не совсем понятно. Если на стороне клиента, то поменяйте местами route и iroute.