ALT Linux sysadmins discussion
 help / color / mirror / Atom feed
* [Sysadmins] OpenVPN в OVZ-контейнере + маршрутизация
@ 2007-06-29  5:45 Alex Moskalenko
  2007-06-29  6:18 ` Nikolay A. Fetisov
  0 siblings, 1 reply; 6+ messages in thread
From: Alex Moskalenko @ 2007-06-29  5:45 UTC (permalink / raw)
  To: sysadmins

Здравствуйте!

Столкнулся с проблемой при попытке настроить удаленный доступ в локальную сеть 
через OpenVPN в OVZ-контейнере. Итак, дано:

1. Сервер 4.0 с ovz-ядром, несколькими сетевыми интерфейсами. Интерфейс 
локальной сети - 192.168.123.1/24.
2. OVZ-контейнер на этом сервере, сеть через venet, IP контейнера 
192.168.222.50.
3. OpenVPN внутри вышеназванного контейнера, принимающий внешние подключения 
(перенаправляю порт через DNAT из HN). OpenVPN раздает клиентам адреса из 
подсети 192.168.234.0/24.

Хочется получить прозрачную маршрутизацию от клиентов в сеть 192.168.123.0/24.

На HN прописал ip r a 192.168.234.0/24 via 192.168.222.50. Из контейнера сеть 
192.168.123.0/24 видна, контейнер из сети тоже. А вот с клиентов попасть в 
сеть 192.168.123.0/24 не получается. При этом tcpdump показывает пакеты от 
клиента в сеть и на tun0 (openvpn), и на venet0 внутри контейнера. А вот на 
venet0 на HN пакетов уже нет...

Если в правила iptables в контейнере добавить SNAT на venet0, то клиенты 
openVPN в сеть 192.168.123.0/24 попадают, естественно, через этот самый NAT. 
tcpdump показывает пакеты от клиентов на tun0 внутри контейнера и отNATенные 
пакеты на venet0 в контейнере и на HN.

Вопрос собственно простой - можно ли сделать так, чтобы оно работало без NAT?

-- 
WBR, Alex Moskalenko

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Sysadmins] OpenVPN в OVZ-контейнере + маршрутизация
  2007-06-29  5:45 [Sysadmins] OpenVPN в OVZ-контейнере + маршрутизация Alex Moskalenko
@ 2007-06-29  6:18 ` Nikolay A. Fetisov
  2007-06-29  6:37   ` Alex Moskalenko
  0 siblings, 1 reply; 6+ messages in thread
From: Nikolay A. Fetisov @ 2007-06-29  6:18 UTC (permalink / raw)
  To: sysadmins

On Fri, 29 Jun 2007 09:45:39 +0400
Alex Moskalenko wrote:

> Здравствуйте!
> 
> Столкнулся с проблемой при попытке настроить удаленный доступ в локальную сеть 
> через OpenVPN в OVZ-контейнере. Итак, дано:
> 
> 1. Сервер 4.0 с ovz-ядром, несколькими сетевыми интерфейсами. Интерфейс 
> локальной сети - 192.168.123.1/24.
> 2. OVZ-контейнер на этом сервере, сеть через venet, IP контейнера 
> 192.168.222.50.
> 3. OpenVPN внутри вышеназванного контейнера, принимающий внешние подключения 
> (перенаправляю порт через DNAT из HN). OpenVPN раздает клиентам адреса из 
> подсети 192.168.234.0/24.
> 
> Хочется получить прозрачную маршрутизацию от клиентов в сеть 192.168.123.0/24.
> 

OpenVPN раздаёт клиентам маршрут в сеть 192.168.123.0/24 через сервер
OpenVPN?

На машинах в сети 192.168.123.0/24 маршрут на 192.168.234.0/24 через
192.168.222.50 отдельно прописан? 

Iptables на HN ничего лишнего не режет?



А в целом, есть подозрение, что назначение контейнеру IP из сетки
192.168.123.0/24 вопрос снимет. Ну или прописывание отдельно маршрутов
на клиентах для сети 192.168.234.0/24. 

-- 
С уважением,	
Николай Фетисов


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Sysadmins] OpenVPN в OVZ-контейнере + маршрутизация
  2007-06-29  6:18 ` Nikolay A. Fetisov
@ 2007-06-29  6:37   ` Alex Moskalenko
  2007-06-29  8:28     ` Nikolay A. Fetisov
  0 siblings, 1 reply; 6+ messages in thread
From: Alex Moskalenko @ 2007-06-29  6:37 UTC (permalink / raw)
  To: ALT Linux sysadmin discuss

В сообщении от Friday 29 June 2007 10:18:46 Nikolay A. Fetisov написал(а):
> OpenVPN раздаёт клиентам маршрут в сеть 192.168.123.0/24 через сервер
> OpenVPN?
Да, маршрут клиентам отдается и устанавливается.

> На машинах в сети 192.168.123.0/24 маршрут на 192.168.234.0/24 через
> 192.168.222.50 отдельно прописан?
Для них этот сервер - default gw, так что можно считать, что прописан.

> Iptables на HN ничего лишнего не режет?
Нет, даже policy в accept установил.

> А в целом, есть подозрение, что назначение контейнеру IP из сетки
> 192.168.123.0/24 вопрос снимет. Ну или прописывание отдельно маршрутов
> на клиентах для сети 192.168.234.0/24.
Да вот не похоже... При отсутствии правила iptables для SNAT внутри контейнера 
пакеты ОТ клиентов не покидают его пределы (не наблюдаются на HN venet0), при 
наличии этого правила (SNAT на IP контейнера) - покидают (наблюдаются на всем 
пути их прохождения - tun0 в VPS c адресами клиентов - venet0 в VE прошедшие 
через SNAT с адресом контейнера - venet0 на HN тоже с адресом контейнера - 
eth1 HN - машина в сети) и нормально маршрутизируются, доходят до клиентов и 
т.п. - в общем, при NAT все работает. Если SNAT в VE убрать - то пакеты от 
клиентов наблюдаются только на tun0 в VE (с адресами клиентов) и на venet0 в 
VE (тоже с адресами клиентов). Дальше (venet0 на HN, eth1, ....) - тишина, 
пакетов нет.

-- 
WBR, Alex Moskalenko

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Sysadmins] OpenVPN в OVZ-контейнере + маршрутизация
  2007-06-29  6:37   ` Alex Moskalenko
@ 2007-06-29  8:28     ` Nikolay A. Fetisov
  2007-06-29  8:40       ` Alex Moskalenko
  0 siblings, 1 reply; 6+ messages in thread
From: Nikolay A. Fetisov @ 2007-06-29  8:28 UTC (permalink / raw)
  To: sysadmins

On Fri, 29 Jun 2007 10:37:07 +0400
Alex Moskalenko wrote:

> В сообщении от Friday 29 June 2007 10:18:46 Nikolay A. Fetisov написал(а):
> > OpenVPN раздаёт клиентам маршрут в сеть 192.168.123.0/24 через сервер
> > OpenVPN?
> Да, маршрут клиентам отдается и устанавливается.
> 
> > На машинах в сети 192.168.123.0/24 маршрут на 192.168.234.0/24 через
> > 192.168.222.50 отдельно прописан?
> Для них этот сервер - default gw, так что можно считать, что прописан.

Да, вот только пакеты от клиентов OpenVPN из сети 192.168.234.0/24 к
ним приходят не с 192.168.123.1, а с 192.168.222.50.

Рассматривайте VE c OpenVPN как отдельный хост - все станет намного
понятнее. 

Без SNAT пакет с машины из сети VPN в локальную сеть проходит через
шлюз 192.168.222.50. Обратно же локальная машина отсылает его через
default gateway - отнюдь не на 192.168.222.50. 
Пропишите маршрут на машине в локальной сети на 192.168.222.50 - будет
работать.

Когда же внутри VE включён SNAT, то пакеты в локальную сеть приходят от
192.168.222.50 - и обратно отправляются туда же, а не на 192.168.123.1.


-- 
С уважением,
Николай Фетисов


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Sysadmins] OpenVPN в OVZ-контейнере + маршрутизация
  2007-06-29  8:28     ` Nikolay A. Fetisov
@ 2007-06-29  8:40       ` Alex Moskalenko
  2007-07-02  6:45         ` Alex Moskalenko
  0 siblings, 1 reply; 6+ messages in thread
From: Alex Moskalenko @ 2007-06-29  8:40 UTC (permalink / raw)
  To: ALT Linux sysadmin discuss

В сообщении от Friday 29 June 2007 12:28:28 Nikolay A. Fetisov написал(а):
> Да, вот только пакеты от клиентов OpenVPN из сети 192.168.234.0/24 к
> ним приходят не с 192.168.123.1, а с 192.168.222.50.
>
> Рассматривайте VE c OpenVPN как отдельный хост - все станет намного
> понятнее.
>
> Без SNAT пакет с машины из сети VPN в локальную сеть проходит через
> шлюз 192.168.222.50. Обратно же локальная машина отсылает его через
> default gateway - отнюдь не на 192.168.222.50.
> Пропишите маршрут на машине в локальной сети на 192.168.222.50 - будет
> работать.
>
> Когда же внутри VE включён SNAT, то пакеты в локальную сеть приходят от
> 192.168.222.50 - и обратно отправляются туда же, а не на 192.168.123.1.
Это все хорошо и правильно. И вполне возможно, я смогу дойти и до этого. 
Оставим пока SNAT внутри VE в сторонке. У меня пакеты из сети OpenVPN не 
выходят за пределы VE с OpenVPN... Совсем не выходят.... На HN полная тишина 
и на venet0, и на физических интерфейсах... И пропадают они именно при 
переходе из VE в HN, так как на venet0 внутри VE пакеты присутствуют. Так 
что, как мне кажется, об ответах машин из реальной сети пока еще рано 
говорить - у меня и запросов-то нет...

-- 
WBR, Alex Moskalenko

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Sysadmins] OpenVPN в OVZ-контейнере + маршрутизация
  2007-06-29  8:40       ` Alex Moskalenko
@ 2007-07-02  6:45         ` Alex Moskalenko
  0 siblings, 0 replies; 6+ messages in thread
From: Alex Moskalenko @ 2007-07-02  6:45 UTC (permalink / raw)
  To: ALT Linux sysadmin discuss

В сообщении от Friday 29 June 2007 12:40:51 Alex Moskalenko написал(а):

====cut====
>У меня пакеты из сети OpenVPN не
> выходят за пределы VE с OpenVPN... Совсем не выходят.... На HN полная
> тишина и на venet0, и на физических интерфейсах... И пропадают они именно
> при переходе из VE в HN, так как на venet0 внутри VE пакеты присутствуют.
> Так что, как мне кажется, об ответах машин из реальной сети пока еще рано
> говорить - у меня и запросов-то нет...
====cut====

Похоже, проблема описана тут 
http://forum.openvz.org/index.php?t=tree&th=1511&mid=8389&&rev=&reveal=

Видимо, придется экспериментировать с veth. Похоже, через venet и 
маршрутизацию такого не сотворить, а жаль...

-- 
WBR, Alex Moskalenko

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2007-07-02  6:45 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-06-29  5:45 [Sysadmins] OpenVPN в OVZ-контейнере + маршрутизация Alex Moskalenko
2007-06-29  6:18 ` Nikolay A. Fetisov
2007-06-29  6:37   ` Alex Moskalenko
2007-06-29  8:28     ` Nikolay A. Fetisov
2007-06-29  8:40       ` Alex Moskalenko
2007-07-02  6:45         ` Alex Moskalenko

ALT Linux sysadmins discussion

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sysadmins/0 sysadmins/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sysadmins sysadmins/ http://lore.altlinux.org/sysadmins \
		sysadmins@lists.altlinux.org sysadmins@lists.altlinux.ru sysadmins@lists.altlinux.com
	public-inbox-index sysadmins

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sysadmins


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git