LINUX.ORG.RU
ФорумAdmin

Доступ к клиентам OpenVPN по внешнему адресу.


0

1

Имеется:
OpenVPN-server на CentOS
некоторое количество виндовых клиентов разбросанных по интернету
один из клиентов - терминальный сервер на MS Win 2003

Задача:
организовать доступ к терминальному серверу изнутри и снаружи VPN одновременно так, чтобы пользователи удалённого рабочего стола Win 2003 выходили в интернет через шлюз в VPN

На данный момент при подключении Win 2003 к OpenVPN физический адрес перестаёт быть доступным.

Пока нагуглить решение задачи не удалось...
Буду признателен за любые советы и инструкции.
Необходимые логи и конфиги выложу по мере необходимости.

при подключении Win 2003 к OpenVPN физический адрес перестаёт быть доступным.

На винфак! Опять недовенда неправильно прописывает маршруты, но при чём тут Linux и тем более Admin???

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

если я правильно понимаю, маршруты в данном случае настраиваются на стороне сервера, а клиент их только считывает

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

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

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

А ты проверил, смог ли клиент (венда) верно установить маршруты? Или думаешь, как на сервере прописал, так на клиенте и будет без вариантов? Недаром для венды целая отдельная опция

--route-method m
    Which method m to use for adding routes on Windows?

    adaptive (default) — Try IP helper API first. If that fails, fall back to the route.exe shell command.
    ipapi — Use IP helper API.
    exe — Call the route.exe shell command. 
И да, http://www.google.com/search?q=openvpn route win 2003 в помощь

adriano32 ★★★ ()
Ответ на: комментарий от adsl13

физический адрес перестаёт быть доступным.

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

Ну в первую очередь, маршрут по умолчанию, потом маршруты OpenVPN. Но всё это ты будешь делать на винфаке.

adriano32 ★★★ ()
Ответ на: комментарий от backbone

и клиент, который подключён к VPN доступен по внешнему адресу ?

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

маршрутом по умолчанию по всей видимости должен оставаться маршрут к серверу VPN, потому что клиенты удалённого рабочего стола дожны ходить в тырнет через него и на данный момент я пытаюсь его правильно настроить так что винфак пока откладывается

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

Ну так и смотри на стороне венды, что с маршрутами не так. Может у тебя служба RRAS какая-нибудь запущена на венде, а ты на ЛОР припёрся с вопросами.

adriano32 ★★★ ()

Перечитал ещё раз тему, понял так

Некий пользователь заходит по mstsc на хост с Microsoft Windows 2003, а в ней маршрут "по умолчанию" не тот, который нужно.

backbone ★★★★★ ()
Ответ на: комментарий от adsl13

так у тебя поднялись же туннели, да только на венде 2003 при поднятии тоннеля маршрут по умолчанию установился в тоннель, а не на внешний интерфейс. При чём тут линукс, я тебя спрашиваю? Решай вопрос на оффтопике.

adriano32 ★★★ ()
Ответ на: комментарий от adsl13

да, доступны, и linux-клиент, и windows-клиент.

Для особо одарённых повторяю: у тебя на венде2003 не устанавливается маршрут, который пытается передать openvpn-сервер клиенту, ищи причины на винфаке.

adriano32 ★★★ ()
Ответ на: комментарий от adsl13

При чём тут мои конфиги? У меня там нет ни route, ни push route. на стороне клиентов устанавливаются стандартные маршруты для создания тоннеля

10.0.0.2 dev tun0  proto kernel  scope link  src 10.0.0.1
10.0.0.0/24 via 10.0.0.2 dev tun0
Тебе повторяют в пятый раз: на венде у тебя не маршруты ставятся неправильно, маршрут по умолчанию перезаписывается маршрутом в тоннель, причины от запущенной службы RRAS до плозой кармы и обычных глюков венды, с которыми борются доавлением вышеуказанной опции route-method.

adriano32 ★★★ ()
Ответ на: комментарий от adsl13

> когда винда внутри VPN я не могу к ней подключиться снаружи

Понял задачу. На этом хосте с MS Win 2003 шлюзом по умолчанию должен быть хост внутри VPN, скажем, 10.8.0.1.
При этом, по какой-то причине она перестаёт слушать порт 3389 по 2-ому адресу, который был доступен до включения её в OpenVPN сеть.
По какому соединению ей выдаётся этот 2-ой адрес? Вряд ли помогу в поиске решения, но другим будет легче при правильно понятой задаче...

backbone ★★★★★ ()
Ответ на: комментарий от adriano32

винда - это то , за что мне заплатят, а не работает не только на винде. маршрут по умолчанию должен быть маршрутом в тоннель потому, что у клиентов RDP должна наружу светиться айпишка сервера OpenVPN. и позволь всё ж таки полюбопытствовать конфиги

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

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

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

Она не перестаёт слушать порт 3389, просто маршрут по умолчанию ставится в тоннель, и венда не может более ничего ответить на входящие соединения по другим интерфейсам, так как ответ уходит в тоннель.

Эта вендопроблема столько раз обсосана в интернетах, на хоббите, на винфаке... везде! И надо прийти искать решение на ЛОР. Сейчас дождёмся, что он нам C:\route print выложит с вопросом «Ну и что тут неправильно?»

adriano32 ★★★ ()
Ответ на: комментарий от adsl13

Маршрут по умолчанию должен остаться таким, который позволяет ходить в интернеты, если например интернет по ppp0 приходит, значит default dev ppp0. Маршрут для тоннеля должен относиться исключительно к диапазону подсети тоннеля.

У меня обычный конфиг, считай что вот они.

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

> маршрут по умолчанию ставится в тоннель, и венда не может более ничего ответить на входящие соединения по другим интерфейсам, так как ответ уходит в тоннель.

Что-то совсем всё люто. Пойду учить мат.часть...

backbone ★★★★★ ()
Ответ на: комментарий от adriano32

Иными словами, требуется что-то вроде

route add 10.8.0.0 mask 255.255.255.0 10.8.0.2
после запуска OpenVPN сервиса на клиенте Windows?

// Чую, на следующей недели ждёт такая же засада с виндой...

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

думаю что чота типа route add 0.0.0.0 mask 0.0.0.0 10.8.0.2. но в таком случае физический адаптер в пролёте ...

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

Как ты меня утомил

port 443
proto tcp
dev tun
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh2048.pem
server 10.0.0.0 255.255.255.0
client-to-client
tls-server
keepalive 10 120
tls-auth /etc/openvpn/keys/ta.key 0
cipher DES-EDE3-CBC
comp-lzo
max-clients 3
daemon
persist-key
persist-tun
status openvpn-status.log
log-append  openvpn.log
verb 4
client
dev tun
proto tcp
remote не.скажу.адрес.сервера 443
resolv-retry infinite
connect-retry 5
connect-retry-max 5
nobind
user openvpn
group openvpn
persist-key
persist-tun
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/bla.crt
key /etc/openvpn/keys/bla.key
ns-cert-type server
tls-auth /etc/openvpn/keys/ta.key 1
cipher DES-EDE3-CBC
comp-lzo
verb 4
Удовлетворён?

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

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

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

2003 должна иметь маршрут по умолчанию на интерфейс с интернетом, иначе остальные клиенты, которым ты укажешь её в качестве шлюза, ни в какой интернет не выйдут.

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

ты не до конца понял задачу. перечитай. винда - терминальный сервак, кторый должен ходить в тырнэт через VPN, и к которому нужно иметь возможность подключаться и снаружи и изнутри VPN

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

я думал об этом, но не нашёл логического обоснования. пожтому пробовать не стал ))

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

Ну эту опцию всем клиентам, в качестве адреса — адрес 2003-ей венды. А в конфиге венды push-reset и разбираешься, почему она не оставляет маршрут по умолчанию на интерфейс с интернетом.

RRAS, который нужен венде для шлюзования, не всегда корректно сожительствовал с openvpn, у меня был негативный опыт со старыми версиями (до 2.1.4).

adriano32 ★★★ ()
Ответ на: комментарий от adsl13

чтобы пользователи удалённого рабочего стола Win 2003 выходили в интернет через шлюз в VPN

И это означает "терминальный сервак, кторый должен ходить в тырнэт через VPN"?? мой мозг...

Ты венде устанвливаешь маршрут по умолчанию на центось?

adriano32 ★★★ ()
Ответ на: комментарий от adsl13

Вот почему бы сразу не написать так «венда должна выходить в интернет через сервер с центосью?» А то замудрил...

тогда разные метрики интерфейсам внешнему и opevpn-вскому на венде, причём openvpn-интерфейсу ниже. Но это уже на винфак или технет

adriano32 ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.