LINUX.ORG.RU
ФорумAdmin

Не работает dante через openvpn туннель

 ,


1

2

Подскажите пожалуйста по решению а то уже сломал голову Есть 2 сервера, на первом установлен openvpn в качестве клиента к 2-му серверу.
Для туннеля на 2-м сервере прописана сеть 192.168.208.0/24 2-й сервер поднимает на себе адрес 192.168.208.1
На первом сервере есть постоянный адрес 19.137.85.3/8 Соединяется первый сервер через openvpn-клиент со вторым сервером успешно и на первом сервере поднимается интерфейс tun0 с адресом 192.168.208.2

Через этот интерфейс должен идти только определенный траффик (от dante сервера), поэтому в клиенте на первом сервере openvpn прописаны директивы
route 192.168.208.0 255.255.255.0
route-nopull

Также на первом сервере установлен сервис dante, который слушает на локальном интерфейсе а запросы наружу и ответы должен кидать/получать на второй сервер через интерфейс туннеля openvpn.

Прописан такой конфиг:

logoutput: /var/log/socks2.log
internal: ens18 port = 881
external: tun0
socksmethod: none
clientmethod: none
user.privileged: proxy
user.unprivileged: nobody
#user.libwrap: nobody

client pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: connect disconnect error
}
socks pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: connect disconnect error
}

На втором сервере включены:
в /etc/sysctl.conf - net.ipv4.ip_forward=1

в iptables
iptables -A FORWARD -i enp0s5 -o tun0 -m state –state ESTABLISHED,RELATED -j ACCEPT

iptables -A FORWARD -s 192.168.208/24 -o enp0s5 -j ACCEPT

iptables -t nat -A POSTROUTING -s 192.168.208/24 ! -d 192.168.208/24 -o enp0s5 -j MASQUERADE

таблица роутинга на первом сервере
default via 10.137.0.253 dev ens18 onlink
10.0.0.0/8 dev ens18 proto kernel scope link src 10.137.85.3
192.168.15.0/24 via 10.141.15.1 dev ens18
192.168.28.0/24 via 10.137.0.28 dev ens18
192.168.201.0/24 via 10.137.0.1 dev ens18
192.168.208.0/24 dev tun0 proto kernel scope link src 192.168.208.2

таблица роутинга на втором сервере
default via 78.111.ХХХ dev enp0s5 onlink
78.111.ХХХ/24 dev enp0s5 proto kernel scope link src 78.111.ХХХ
192.168.208.0/24 dev tun0 proto kernel scope link src 192.168.208.1

на отдельной машине с адресом 10.138.11.22 запускаю браузер в котором прописываю в настройках прокси - сокс сервер с адресом первого сервера 10.137.85.3 и портом 881 (тип сокс5)

и ничего не работает …

куда рыть?

Может мне и на втором сервере надо ставить dante сервер и делать цепочку?



Последнее исправление: alsemen (всего исправлений: 4)

и ничего не работает …
куда рыть?

смотреть логи dante конечно

Через этот интерфейс должен идти только определенный траффик (от dante сервера), поэтому в клиенте на первом сервере openvpn прописаны директивы

и какими средствами трафик от dante заворачивается в 192.168.208.0/24?
Разве он не пойдет в default via 10.137.0.253 dev ens18 onlink

Может мне и на втором сервере надо ставить dante сервер и делать цепочку?

Можно и так, но я бы сделал так:
1) поставил dante только на втором сервере
2) на клиенте прописал бы route в 192.168.208.0/24 через 10.137.85.3
3) на первом vpn сервере прописал форвардинг (либо NAT) пакетов между 192.168.208.0/24 и 10.0.0.0/8

MirandaUser2
()
Ответ на: комментарий от MirandaUser2

и какими средствами трафик от dante заворачивается в 192.168.208.0/24?
Разве он не пойдет в default via 10.137.0.253 dev ens18 onlink

директива в dante-
internal: ens18 port = 881 - слушает в сети 10.0/8 external: tun0 - запросы направляет и ответы ловит через 192.168.208.0/24

  1. на клиенте прописал бы route в 192.168.208.0/24 через 10.137.85.3

если бы 1-2 клиента сокс сервера то да, а если их больше 50-70 ???
получается что в этом случае все таки проще на второй сервер еще dante поставить и сделать цепочку …

alsemen
() автор топика
Ответ на: комментарий от alsemen

internal: ens18 port = 881 - слушает в сети 10.0/8 external: tun0 - запросы направляет и ответы ловит через 192.168.208.0/24

так у тебя никаких маршрутов (default, либо более специфичных) через 192.168.208.1 в таблице роутинга нет. Иными словами в интернет при такой таблице роутинга трафик может пойти только через 10.137.0.253 dev ens18.

В принципе ты можешь в таблице маршрутов (на первом vpn сервере) завернуть default трафик в 192.168.208.1, а через 10.137.0.253 оставить только маршрут ко второму vpn-серверу.
Это можно делать средствами vpn-клиента: см. опцию --redirect-gateway flags (https://openvpn.net/community-resources/reference-manual-for-openvpn-2-6/)

если бы 1-2 клиента сокс сервера то да, а если их больше 50-70 ???

как я понял, vpn-клиент там же, где клиента сокс сервера (иначе как он получил адрес 10.138.11.22), значит и маршрут к 192.168.208.0/24 ему можно при поднятии vpn подключения пропушить с vpn-сервера.

MirandaUser2
()
Ответ на: комментарий от MirandaUser2

как я понял, vpn-клиент там же, где клиента сокс сервера (иначе как он получил адрес 10.138.11.22), значит и маршрут к 192.168.208.0/24 ему можно при поднятии vpn подключения пропушить с vpn-сервера.

Нет, есть 2 сервера, первый в сети 10.0/8, второй вовне на внешней площадке в интернете.

Есть раб.станции в сети 10.0/8, которые используют сокс сервер dante расположенный по адресу 10.137.85.3 на первом сервере, и который сервис dante должен ТОЛЬКО этих клиентов пробрасывать через туннель опенвпн со вторым сервером в интернет через второй сервер.

Соответственно на раб.станциях не ставится никакого клиента опенвпн или еще что либо. Просто в настройках браузера прописывается адрес сокс сервера 10.137.85.3 с портом 881.

alsemen
() автор топика
Ответ на: комментарий от alsemen

Да, при этом на первом сервере живет еще скатд, который ходит по деыолт маршруту на 10.137.0.253 и через который другие рабочие станции получают доступ в интернет.

Поэтому завернуть весь трафик с первого сервера в туннель опенапн нельзя. Нужно только трафик от сервиса dante….

alsemen
() автор топика
Ответ на: комментарий от alsemen

Нет, есть 2 сервера, первый в сети 10.0/8, второй вовне на внешней площадке в интернете.

а, мне почему-то показалось, что имеет место цепочка из двух vpn серверов.
Но я бы всё равно поставил dante только на втором сервере, а на шлюзе (10.137.0.253) прописал маршрут в подсеть 192.168.208.0/24 через 10.137.85.3. На 10.137.85.3 соответственно включил бы forwarding или NAT из 10.0.0.0/8 в 192.168.208.0/24.

Как вариант делать не L3, а L2 vpn-туннель (tap) и объединять через бридж с 10.0.0.0/8. Тогда второму серверу можно будет выдать IP из подсети 10.0.0.0/8.

MirandaUser2
()