Re: как дать доступ к почте и bind только openvpn клиентам ?

2011-05-17 Пенетрантность Andrey Lyubimets
16.05.2011 18:38, Nicholas пишет:
 Не ожидал столько ответов...
 
 Если в кратце:
может лучше подробнее? твой кратце на 3 экрана, а толку ноль.
 основная идея была - давать ip клиенту (что-бы то же Апач на лаптопе увидеть
 или диск подмонтировать, не вспоминая на каком они порту), а не шифроваться.
другими словами тебе нужно поднять openvpn-server, что бы была возможность
доступа до хоста клиента для всего Интернета? Для этого ты отдаёшь ему второй
реальный адрес

---много букв-
 Второй важный момент - дать возможность клиентам обращаться к сервисам по его
 внешнему ip, т.к. заставлять клиентов менять dns сервер, после соглашения с
 agreement, не удобно.
А сервисы должны быть доступны клиенту всегда, или  только когда он установил
vpn-соединение.

---много букв-
 Подитожу:
 Один ip уходит клиенту по ТЗ. Но даже если у клиента не будет своего
 внешнего ip, вопрос остается прежним: можно ли, с помощью правильного
 роутинга, обращаться к сервисам сервера через впн, при условии что у сервера
 один ip.

IMHO, твоя проблема не в технической реализации, а в отсутствии логичной и
чёткой формулировки цели.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4dd24b77.3020...@nskes.ru



Re: как дать доступ к почте и bind только openvpn клиентам ?

2011-05-16 Пенетрантность Михаил Миронов

16.05.2011 07:47, Andrey Lyubimets пишет:

15.05.2011 16:38, Nicholas пишет:

On 15.05.2011 11:50, Михаил Миронов wrote:

Попробовать следующий вариант:
По openvpn отдает свой DNS сервер клиентам при подключении
На своем DNS сервере при коннекте с сети openvpn отдает для своих
доменных имен внутренние адреса


Спасибо за совет. Да так можно сделать (на клиенте, т.к.
http://openvpn.net/index.php/open-source/documentation/howto.html

Windows clients can accept pushed DHCP options natively, while non-Windows
clients can accept them by using a client-side up script)

Но в моем вопросе dns был скорее в качестве примера (причем не самого
удачного - в кафе часто требуется использовать локальный днс, что бы увидеть
страницу с agreement-ом), главный вопрос был - как обратиться к другим
сервисам сервера, на котором находится openvpn, через tap (то есть через
vpn, а не напрямую). Проблема была с том, что они имеют единый ip (сервер с
доменным именем (обращение по домену) и openvpn сервер).

Дважды прочитал весь тред, но , чувствую, что до конца не понимаю сути
вопроса (поэтому прошу не обижаться на глупый совет ;-)

Зачем использовать реальный адрес на клиенте? Все нормальные и ненормальные
люди с успехом используют серые адреса на концах туннеля и в ус не дуют.
В этом случае для всех сервисов пропиши в хостах серый адрес openvpn-сервера.


Он (клиент) получает адрес по имени, типа, imap.domain.ru




Попробовал, на клиенте, завернуть весь (кроме vpn) траффик идущий на ip
сервера на tap - сразу не заработало, сервер (все кроме vpn) не отвечает -
надо будет подумать, разобраться... но даже если и заработает, то это будет
сложно настроить на win и андроид клиентах.

Более простой вариант - дать openvpn server-y отдельный ip (оставив его на
той же машине).
Хотя проверить его пока не удалось - тестовый сервер это vps на linode -
оказалось что третий ip они не дают, хотя и рекламируют... (и не разрешают
передавать ip vpn клиенту).

Угу. Вопрос ровно тот же самый, как и совет: зачем использовать реальный
адрес на клиенте? Назначь серверу оба реальных адреса, а маршрут пропиши
через серый.




Если я правильно понимаю проблему, то ситуация следующая:

Есть клиент. Он устанавливает VPN соединение и потом лезет, скажем, на 
imap.domain.ru за своей почтой.


На мой взгляд вариантов два:
1. Обмануть клиента и отдавать для imap.domain.ru свой внутренний IP
Проблем со страницей авторизации и прочего в инет-кафе быль не должно: 
мы сначала проходим там авторизацию, а потом устанавливаем туннель.
2. Заворачивать ВЕСЬ трафик клиента на VPN. В этом случае тоже все не 
просто - запросы могут приходить на внутренний IP, но от внешнего IP 
адреса клиента (если я не ошибаюсь). Вроде с этим сейчас и проблема.


Наверное стоит сделать проще:
Файрволом закрываем данные сервисы на коннект из внешнего мира (с 
внешней сетевой карты) и разрешаем на них коннект с любого IP. 
Собственно, в результате доступ будет только с openvpn


P.S. Сорри за предыдущее письмо в личку.


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4dd0bdd7.4070...@darkmike.ru



Re: как дать доступ к почте и bind только openvpn клиентам ?

2011-05-16 Пенетрантность Alexander GQ Gerasiov
Fri, 13 May 2011 14:55:52 +
Nicholas s...@networkgate.us wrote:

 А как это правильно это сделать - пока так и не понял, особенно если
 у клиента не будет своего созданного вручную iptables, например если
 это не рутованный андроид или win.
На нерутованном андроиде и openvpn'а то нет =)

-- 
Best regards,
 Alexander GQ Gerasiov

 Contacts:
 e-mail:g...@cs.msu.su Jabber:  g...@jabber.ru
 Homepage:  http://gq.net.ru ICQ: 7272757
 PGP fingerprint: 04B5 9D90 DF7C C2AB CD49  BAEA CA87 E9E8 2AAC 33F1


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110516110556.67376990@desktopvm.lvknet



Re: как дать доступ к почте и bind только openvpn клиентам ?

2011-05-16 Пенетрантность Mikhail A Antonov
15.05.2011 13:38, Nicholas пишет:
 On 15.05.2011 11:50, Михаил Миронов wrote:
 Попробовать следующий вариант:
 По openvpn отдает свой DNS сервер клиентам при подключении
 На своем DNS сервере при коннекте с сети openvpn отдает для своих
 доменных имен внутренние адреса
 
 Спасибо за совет. Да так можно сделать (на клиенте, т.к.
 http://openvpn.net/index.php/open-source/documentation/howto.html
 
 Windows clients can accept pushed DHCP options natively, while
 non-Windows clients can accept them by using a client-side up script)
 
 Но в моем вопросе dns был скорее в качестве примера (причем не самого
 удачного - в кафе часто требуется использовать локальный днс, что бы
 увидеть страницу с agreement-ом), главный вопрос был - как обратиться к
 другим сервисам сервера, на котором находится openvpn, через tap (то
 есть через vpn, а не напрямую). Проблема была с том, что они имеют
 единый ip (сервер с доменным именем (обращение по домену) и openvpn
 сервер).
 
 Попробовал, на клиенте, завернуть весь (кроме vpn) траффик идущий на ip
 сервера на tap - сразу не заработало, сервер (все кроме vpn) не отвечает
 - надо будет подумать, разобраться... но даже если и заработает, то это
 будет сложно настроить на win и андроид клиентах.
 
 Более простой вариант - дать openvpn server-y отдельный ip (оставив его
 на той же машине).
 Хотя проверить его пока не удалось - тестовый сервер это vps на linode -
 оказалось что третий ip они не дают, хотя и рекламируют... (и не
 разрешают передавать ip vpn клиенту).
 
 Эксперимент отложен до тестового дедика.
 
Не нужен ему третий IP. Клиент получает второй IP не на свой
интерфейс, а ты ему всего лишь порты пробрасываешь натом. Сам к себе по
внешнему IP клиент вряд ли захочет подключаться. ВПН-сервер и IP-клиента
можно усадить на один адрес, остальные сервисы - на другой.
Ну да, если кто-то вдруг захочет подключиться к клиенту с тем же портом,
который слушает ВПН-сервер - он попадёт не к клиенту. Это всего один
порт и это не страшно.

-- 
Best regards,
Mikhail.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4dd0d32c.7060...@solarnet.ru



Re: как дать доступ к почте и bind только openvpn клиентам ?

2011-05-16 Пенетрантность Mikhail A Antonov
16.05.2011 10:01, Михаил Миронов пишет:
 16.05.2011 07:47, Andrey Lyubimets пишет:
 Дважды прочитал весь тред, но , чувствую, что до конца не понимаю сути
 вопроса (поэтому прошу не обижаться на глупый совет ;-)

 Зачем использовать реальный адрес на клиенте? Все нормальные и
 ненормальные
 люди с успехом используют серые адреса на концах туннеля и в ус не дуют.
 В этом случае для всех сервисов пропиши в хостах серый адрес
 openvpn-сервера.
 
 Он (клиент) получает адрес по имени, типа, imap.domain.ru
А кто мешает сделать либо шифрование трафика в самом imap-демоне либо
настроить у клиента imap.domain.lan ?
Подозреваю что там не просто имап, а нечто, что не умеет само шифровать.
Но для этого вполне подойдёт вариант с .lan т.к. работать всё равно не
будет пока впн не запустишь. Может вообще ещё проще IP сразу указывать.

-- 
Best regards,
Mikhail.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4dd0d513.5050...@solarnet.ru



Re: как дать доступ к почте и bind только openvpn клиентам ?

2011-05-16 Пенетрантность Михаил Миронов

16.05.2011 11:41, Mikhail A Antonov пишет:

16.05.2011 10:01, Михаил Миронов пишет:

16.05.2011 07:47, Andrey Lyubimets пишет:

Дважды прочитал весь тред, но , чувствую, что до конца не понимаю сути
вопроса (поэтому прошу не обижаться на глупый совет ;-)

Зачем использовать реальный адрес на клиенте? Все нормальные и
ненормальные
люди с успехом используют серые адреса на концах туннеля и в ус не дуют.
В этом случае для всех сервисов пропиши в хостах серый адрес
openvpn-сервера.


Он (клиент) получает адрес по имени, типа, imap.domain.ru

А кто мешает сделать либо шифрование трафика в самом imap-демоне либо
настроить у клиента imap.domain.lan ?


А это все к топикстартеру :)

Вообще говоря, проще даже сделать imap-lan.domain.ru
Тогда не обязательно отдавать свой DNS сервер для возможности разрешения 
имен *.domain.lan




Подозреваю что там не просто имап, а нечто, что не умеет само шифровать.
Но для этого вполне подойдёт вариант с .lan т.к. работать всё равно не
будет пока впн не запустишь. Может вообще ещё проще IP сразу указывать.



P.S. IMAP был взят мной просто для примера. В случае imap проще, легче и 
удобней конечно настроить шифрование + длинные пароли в самом imap.



--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4dd0d889.8020...@darkmike.ru



Re: как дать доступ к почте и bind только openvpn клиентам ?

2011-05-16 Пенетрантность Nicholas

Не ожидал столько ответов...

Если в кратце:

основная идея была - давать ip клиенту (что-бы то же Апач на лаптопе 
увидеть или диск подмонтировать, не вспоминая на каком они порту), а не 
шифроваться.
К слову, если в конфиге openvpn клиента закомментирвоать route-gateway 
192.168..., то после коннекта он виден по мнешнему, а сам идет в сеть 
напрямую.


Но в процессе настройки выяснилось, что без vpn не работает traceroute 
(!), если интернет через мобильник, а с vpn - работает.


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


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


Вариантов оставалось два:

1. заворачивать трафик на клиенте  на тап, даже если он идет на сервер - 
 пробовал (конфиг в одном из предыдущех писем) маркировкой всех 
пакетов, кроме порта впн и перенаправлением его на tap.


Но сервер не отечает. (видимо ждет с tap запрос от 192... ?).

On 16.05.2011 06:01, Михаил Миронов wrote:
запросы могут приходить на внутренний IP, но от внешнего IP
адреса клиента (если я не ошибаюсь). Вроде с этим сейчас и проблема.

Так внешний ip клиент получает на сервере в *nat postroute. Если он 
завернут в vpn, то скорее наоборот - дает src ip 192..., а сервер 
наверно удивляется зачем такой клиент обращается на сервер не по 
внутреннему.


Разобраться с этим вариантом было бы очень интересно, что бы просто 
понять как все работает.


Что можно попробовать ?

(если я заворачиваю на клиенте все кроме впн (8080) по маркеру
-A OUTPUT  -p tcp  -j MARK --set-xmark 0x5/0x.
-A OUTPUT  -p udp -m udp ! --dport 8080 -j MARK --set-xmark 0x5/0x

ip rule add from all fwmark 0x5 lookup 100
ip route add default via 192.168.206.5 dev tap5 table 100

то запрос на сервере виден, dtpdump-ом, а ответ - нет.
)

 Файрволом закрываем данные сервисы на коннект из внешнего мира (с
 внешней сетевой карты) и разрешаем на них коннект с любого IP.
 Собственно, в результате доступ будет только с openvpn

Вы предлагаете сделать сервисы не доступными по их внешнему ip или 
интерфейсу ?
Если по ip сервиса - это не лучший вариант, т.к. внешние dns дают на 
него ссылку.
А если по интерфейсу клиента - да, так и планировалось. Но вот не 
отвечают сервисы пока...



On 16.05.2011 07:05, Alexander GQ Gerasiov wrote:
 На нерутованном андроиде и openvpn'а то нет =)

А на рутованном, какой посоветуете ?
И к слову, ни у кого sshfs на андроиде не заработал ?


2.
On 16.05.2011 07:33, Mikhail A Antonov wrote:
 Не нужен ему третий IP. Клиент получает второй IP не на свой
 интерфейс, а ты ему всего лишь порты пробрасываешь натом

Что бы не путаться в числительных - если у сервера будет 2 ip, то 
проблема решится роутингом, скорее всего.



Подитожу:
Один ip уходит клиенту по ТЗ. Но даже если у клиента не будет своего 
внешнего ip, вопрос остается прежним: можно ли, с помощью правильного 
роутинга, обращаться к сервисам сервера через впн, при условии что у 
сервера один ip.


Вопрос этот скорее на понимание (т.к. если IPs много - не жалко одного 
на openvpn server, а если нет - то и клиентам раздавать не нечего - 
будут по портам прыгать, и vpn не нужен - порт через ssh пробрасывается).


А вот понять как можно настроить роутинг в изначально предложенном 
варианте - полезно.



--
Sincerely,
Nicholas


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/iqrggt$nqp$1...@dough.gmane.org



Re: как дать доступ к почте и bind только openvpn клиентам ?

2011-05-15 Пенетрантность Nicholas

On 15.05.2011 11:50, Михаил Миронов wrote:
 Попробовать следующий вариант:
 По openvpn отдает свой DNS сервер клиентам при подключении
 На своем DNS сервере при коннекте с сети openvpn отдает для своих
 доменных имен внутренние адреса

Спасибо за совет. Да так можно сделать (на клиенте, т.к.
http://openvpn.net/index.php/open-source/documentation/howto.html

Windows clients can accept pushed DHCP options natively, while 
non-Windows clients can accept them by using a client-side up script)


Но в моем вопросе dns был скорее в качестве примера (причем не самого 
удачного - в кафе часто требуется использовать локальный днс, что бы 
увидеть страницу с agreement-ом), главный вопрос был - как обратиться к 
другим сервисам сервера, на котором находится openvpn, через tap (то 
есть через vpn, а не напрямую). Проблема была с том, что они имеют 
единый ip (сервер с доменным именем (обращение по домену) и openvpn 
сервер).


Попробовал, на клиенте, завернуть весь (кроме vpn) траффик идущий на ip 
сервера на tap - сразу не заработало, сервер (все кроме vpn) не отвечает 
- надо будет подумать, разобраться... но даже если и заработает, то это 
будет сложно настроить на win и андроид клиентах.


Более простой вариант - дать openvpn server-y отдельный ip (оставив его 
на той же машине).
Хотя проверить его пока не удалось - тестовый сервер это vps на linode - 
оказалось что третий ip они не дают, хотя и рекламируют... (и не 
разрешают передавать ip vpn клиенту).


Эксперимент отложен до тестового дедика.

--
Sincerely,
Nicholas


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/iqol46$g68$1...@dough.gmane.org



Re: как дать доступ к почте и bind только openvpn клиентам ?

2011-05-15 Пенетрантность Andrey Lyubimets
15.05.2011 16:38, Nicholas пишет:
 On 15.05.2011 11:50, Михаил Миронов wrote:
 Попробовать следующий вариант:
 По openvpn отдает свой DNS сервер клиентам при подключении
 На своем DNS сервере при коннекте с сети openvpn отдает для своих
 доменных имен внутренние адреса
 
 Спасибо за совет. Да так можно сделать (на клиенте, т.к.
 http://openvpn.net/index.php/open-source/documentation/howto.html
 
 Windows clients can accept pushed DHCP options natively, while non-Windows
 clients can accept them by using a client-side up script)
 
 Но в моем вопросе dns был скорее в качестве примера (причем не самого
 удачного - в кафе часто требуется использовать локальный днс, что бы увидеть
 страницу с agreement-ом), главный вопрос был - как обратиться к другим
 сервисам сервера, на котором находится openvpn, через tap (то есть через
 vpn, а не напрямую). Проблема была с том, что они имеют единый ip (сервер с
 доменным именем (обращение по домену) и openvpn сервер).
Дважды прочитал весь тред, но , чувствую, что до конца не понимаю сути
вопроса (поэтому прошу не обижаться на глупый совет ;-)

Зачем использовать реальный адрес на клиенте? Все нормальные и ненормальные
люди с успехом используют серые адреса на концах туннеля и в ус не дуют.
В этом случае для всех сервисов пропиши в хостах серый адрес openvpn-сервера.

 Попробовал, на клиенте, завернуть весь (кроме vpn) траффик идущий на ip
 сервера на tap - сразу не заработало, сервер (все кроме vpn) не отвечает -
 надо будет подумать, разобраться... но даже если и заработает, то это будет
 сложно настроить на win и андроид клиентах.
 
 Более простой вариант - дать openvpn server-y отдельный ip (оставив его на
 той же машине).
 Хотя проверить его пока не удалось - тестовый сервер это vps на linode -
 оказалось что третий ip они не дают, хотя и рекламируют... (и не разрешают
 передавать ip vpn клиенту).
Угу. Вопрос ровно тот же самый, как и совет: зачем использовать реальный
адрес на клиенте? Назначь серверу оба реальных адреса, а маршрут пропиши
через серый.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4dd09e41.4010...@nskes.ru



Re: как дать доступ к почте и bind только openvpn клиентам ?

2011-05-13 Пенетрантность Nicholas

On 13.05.2011 05:20, Mikhail A Antonov wrote:

13.05.2011 05:08, Nicholas пишет:

On 13.05.2011 04:37, Mikhail A Antonov wrote:


allow-query { ::1; 127.0.0.1;сетка реальных IP;сетка серых IP; }


Реальные ip - разные, теже точки wifi в городе.

Я про realip_2.



Конечно же я пробовал прописывать все свои ip в allow-query (внешние, 
серые 192.168...) с самого начала. К сожалению не заработало.


Тогда я сделал allow-query {any;}; и стал смотреть tcpdump-ом, оказалось 
что на сервере обращения к bind видны как от локального wifi провайдера 
(внешний ip роутера).


Насколько я понимаю, вариантов ответа на мой вопрос может быть три:

1. Надо обязательно разнести openvpn server и остальные сервисы на 
разные машины.


2. Можно рассказать openvpn клиенту, что через wlan можно идти только по 
порту для vpn, в всем остальным через wlnan. (Возможно ли такое в 
принципе ?)


-A PREROUTING -d real_ip_1 -j ACCEPT  (сервер)
-A PREROUTING -d real_ip_2   -j ACCEPT  (получаемый клиентом)

-A POSTROUTING -s  real_ip_1 -j ACCEPT
-A POSTROUTING -s real_ip_2   -j ACCEPT

-A Firewall_vpn -i lo -j ACCEPT
-A Firewall_vpn -m state --state RELATED,ESTABLISHED -j ACCEPT
-A Firewall_vpn -d real_ip_1 -j Firewall
-A Firewall_vpn -s real_ip_1 -j Firewall
-A Firewall_vpn --out-interface tap5  -j Firewall (разрешаем только vpn)
-A Firewall_vpn --in-interface tap5  -j Firewall
-A Firewall_vpn -j REJECT

То есть, клиент может работать или через vpn или с сервером...
А вот как сделать так, что бы он работал одновременно и через vpn и с 
сервером непонятно. Может быть надо завернуть все кроме порта vpn на tap...


3. Что-то можно сделать на сервере (передавать внешний ip клиенту раньше 
чем в postroute, сделать доп сеть, перевести сервисы на третий ip, etc).



Возможно это типовая задача, у которой есть рекомендуемое решение ?

--
Sincerely,
Nicholas


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/iqjhhu$7ti$1...@dough.gmane.org



Re: как дать доступ к почте и bind только openvpn клиентам ?

2011-05-13 Пенетрантность Mikhail A Antonov
13.05.2011 15:07, Nicholas пишет:
 Возможно это типовая задача, у которой есть рекомендуемое решение ?

 Судя по tcpdump с лаптопа, на сервер клиент приходит не по tap, а
 напрямую через wlan.
 Маршрут смотреть надо не на сервере, а на клиенте. Ты какой IP для
 DNS-сервера указываешь на клиенте? Внешний? Укажи внутренний.

Какое слово не понятно?

На всякий случай повторю. Клиент подключается к серверу и получает
локальный IP (на tap). С этого локального IP он (клиент) может
связываться с сервером _внутри_ туннеля. Дальше всё ясно или нет?
Если всё ещё нет - сервисы, к которым должен иметь доступ пользователь
внутри сети сообщай с внутренними адресами. У сервера ведь тоже на tap
есть локальный IP.

-- 
Best regards,
Mikhail.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4dcd74b3.8050...@solarnet.ru



Re: как дать доступ к почте и bind только openvpn клиентам ?

2011-05-13 Пенетрантность Nicholas

Мысли в слух:

Попробовал завернуть пакеты с клиента до сервера на tap,
вся сеть как работала так и работает, а вот к своему серверу с клиента 
теперь вообще нельзя приконнектиться Ж)


С одной стороны это хорошо - говорит о том, что пакеты действительно 
пошли по tap, а с другой - непонятно что надо прописать на сервере, что 
бы пакеты из 192.168.33.0.24 им принимались не только для forward.


На сервере:

*nat 



:PREROUTING ACCEPT [3:180]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]



-A PREROUTING -d real_ip_1 -j ACCEPT (сервер)
-A PREROUTING -d real_ip_2 -j DNAT --to-destination 192.168.33.8 (для 
клиента)

-A POSTROUTING -s 192.168.33.8 -j SNAT --to-source real_ip_2
COMMIT

*filter 



:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [390:61807]
:Firewall - [0:0]

-A INPUT -j Firewall
-A FORWARD -j Firewall

в таблице Firewall интерфейсы и ip не указанны (кроме -A Firewall -i lo 
-j ACCEPT), просто разрешены основные  --dport xxx для udp и tcp


На клиенте:

*mangle
:PREROUTING ACCEPT [17:4969]
:INPUT ACCEPT [9:4649]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [6:410]
:POSTROUTING ACCEPT [5:381]

-A OUTPUT  -p tcp  -j MARK --set-xmark 0x5/0x (как только 
появляется это правило - www страница сервера с клиента перестает быть 
видна)

-A OUTPUT  -p udp -m udp ! --dport 8080 -j MARK --set-xmark  0x5/0x

#(vpn - udp 8080)

COMMIT

*nat
:PREROUTING ACCEPT [3:180]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]

-A PREROUTING -d real_ip_2 -j ACCEPT
-A POSTROUTING -s real_ip_2  -j ACCEPT


COMMIT

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [390:61807]
:Firewall_vpn - [0:0]
:Firewall - [0:0]


-A INPUT -j Firewall_vpn
-A FORWARD -j Firewall_vpn
-A OUTPUT -j Firewall_vpn

-A Firewall_vpn -i lo -j ACCEPT
-A Firewall_vpn -m state --state RELATED,ESTABLISHED -j ACCEPT
-A Firewall_vpn -d real_ip_1 -j Firewall
-A Firewall_vpn -s real_ip_1 -j Firewall
-A Firewall_vpn --out-interface tap5  -j Firewall
-A Firewall_vpn --in-interface tap5  -j Firewall
-A Firewall_vpn -j REJECT

-A Firewall -p tcp -m state --state NEW -m tcp --dport xxx -j ACCEPT
-A Firewall -p udp -m state --state NEW -m udp --dport xxx -j ACCEPT
...
-A Firewall -j REJECT
COMMIT

после поднятия wlan и openvpn:

ip rule add from all fwmark 0x5 lookup 100
ip route add default via 192.168.33.5 dev tap5 table 100
(192.168.33.5 слушает сервер vpn)

---

2 Mikhail A Antonov:
dns я не прописываю, его можно указать произвольно:
nslookup any_domain dns_server_ip


--
Sincerely,
Nicholas


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/iqjtbf$epb$1...@dough.gmane.org



Re: как дать доступ к почте и bind только openvpn клиентам ?

2011-05-13 Пенетрантность Nicholas

On 13.05.2011 18:13, Mikhail A Antonov wrote:

На всякий случай повторю. Клиент подключается к серверу и получает
локальный IP (на tap). С этого локального IP он (клиент) может
связываться с сервером _внутри_ туннеля.


Да, это понятно. После поднятия tap я могу обращаться к сервисам сервера 
по внутреннему ip 192.168 - это работает и это уже неплохой вариант.


Но если я обращаюсь по доменному имени сервера, то обращаюсь с нему по 
внешнему ip (а доменное имя прописанно во всех клиентах imap, smtp, 
etc), в этом случае - или иду к нему не через tap или, если все-таки 
заворачиваю пакеты, вообще не могу достучаться.



Ваш вариант можно использовать, но хотелось бы найти возможность 
обращаться к серверу по внешнему ip через vpn/tap, что бы не менять 
настройки приложений, где прописан домен. Это особенно актуально, если 
приходится использовать dns кафе, что-бы согласиться с соглашением.


(в этом случае важно получить доступ к серверу почты, календаря, etc, а 
не dns (то есть я не могу прописать свой домен на 192...), bind 
используется скорее для тестов - есть доступ/нет. А доступ к imap, 
например, также хотелось бы ограничить клиентами openvpn)



--
Sincerely,
Nicholas


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/iqjube$la9$1...@dough.gmane.org



Re: как дать доступ к почте и bind только openvpn клиентам ?

2011-05-13 Пенетрантность Nicholas

On 13.05.2011 18:13, Mikhail A Antonov wrote:

На всякий случай повторю. Клиент подключается к серверу и получает
локальный IP (на tap). С этого локального IP он (клиент) может
связываться с сервером _внутри_ туннеля.


Еще раз подумал - нет, не понятно.

Я могу обращаться _на_ локальный ip сервера, полученный от openvpn.

А вот обращаться _с_ локального ip клиента на сервер (сервер dns или 
почты, кроме как на openvpn server) - этот вариант я пробую реализовать 
через маркировку пакетов в iptables клиента, но так и не достучался до 
сервера...


А как это правильно это сделать - пока так и не понял, особенно если у 
клиента не будет своего созданного вручную iptables, например если это 
не рутованный андроид или win.



--
Sincerely,
Nicholas


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/iqjuu8$ofr$1...@dough.gmane.org



Re: как дать доступ к почте и bind только openvpn клиентам ?

2011-05-13 Пенетрантность Mikhail A Antonov
13.05.2011 18:45, Nicholas пишет:
 On 13.05.2011 18:13, Mikhail A Antonov wrote:
 На всякий случай повторю. Клиент подключается к серверу и получает
 локальный IP (на tap). С этого локального IP он (клиент) может
 связываться с сервером _внутри_ туннеля.
 
 Да, это понятно. После поднятия tap я могу обращаться к сервисам сервера
 по внутреннему ip 192.168 - это работает и это уже неплохой вариант.
 
 Но если я обращаюсь по доменному имени сервера, то обращаюсь с нему по
 внешнему ip (а доменное имя прописанно во всех клиентах imap, smtp,
 etc), в этом случае - или иду к нему не через tap или, если все-таки
 заворачиваю пакеты, вообще не могу достучаться.
 
 Ваш вариант можно использовать, но хотелось бы найти возможность
 обращаться к серверу по внешнему ip через vpn/tap, что бы не менять
 настройки приложений, где прописан домен. Это особенно актуально, если
 приходится использовать dns кафе, что-бы согласиться с соглашением.
У сервера же два реальника? Ну повесь сервисы на второй и скажи что мол
после коннекта к впн маршрут к второму IP лежит через vpn.
А на первом сервис openvpn.

И оставь уже фаервол в покое. Всё решается обычной маршрутизацией. Без
натов вовсе. Нат тебе пригодится только если клиенты захотят через твой
сервер выходить куда-то за пределы твоей локальной сети (например если
ты им меняешь дефолтный маршрут на себя). Причём это будет SNAT.

-- 
Best regards,
Mikhail.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4dcd7f31.2060...@solarnet.ru



Re: как дать доступ к почте и bind только openvpn клиентам ?

2011-05-13 Пенетрантность Mikhail A Antonov
13.05.2011 18:55, Nicholas пишет:
 On 13.05.2011 18:13, Mikhail A Antonov wrote:
 На всякий случай повторю. Клиент подключается к серверу и получает
 локальный IP (на tap). С этого локального IP он (клиент) может
 связываться с сервером _внутри_ туннеля.
 
 Еще раз подумал - нет, не понятно.
 
 Я могу обращаться _на_ локальный ip сервера, полученный от openvpn.
 
 А вот обращаться _с_ локального ip клиента на сервер (сервер dns или
 почты, кроме как на openvpn server) - этот вариант я пробую реализовать
 через маркировку пакетов в iptables клиента, но так и не достучался до
 сервера...
 
 А как это правильно это сделать - пока так и не понял, особенно если у
 клиента не будет своего созданного вручную iptables, например если это
 не рутованный андроид или win.
 
Посмотри ip a l на сервере и посмотри пинг\трейс до каждого. Понятнее
сразу станет.


-- 
Best regards,
Mikhail.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4dcd7fb1.90...@solarnet.ru



Re: как дать доступ к почте и bind только openvpn клиентам ?

2011-05-13 Пенетрантность Nicholas

On 13.05.2011 18:57, Mikhail A Antonov wrote:


У сервера же два реальника? Ну повесь сервисы на второй и скажи что мол
после коннекта к впн маршрут к второму IP лежит через vpn.
А на первом сервис openvpn.


Да два - один для сервера, другой для клиента (клиент получает внешний ip).
Могу купить еще один ip для сервера.

А как сказать что мол после коннекта к впн маршрут к второму IP лежит 
через vpn ? Можно какой-то пример увидеть ?


--
Sincerely,
Nicholas


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/iqjv7q$q09$1...@dough.gmane.org



Re: как дать доступ к почте и bind только openvpn клиентам ?

2011-05-13 Пенетрантность Nicholas

On 13.05.2011 15:00, Nicholas wrote:

А как сказать что мол после коннекта к впн маршрут к второму IP лежит
через vpn ? Можно какой-то пример увидеть ?



Все понял. Для openvpn сервера нужно купить третий ip.
Спасибо за советы.


--
Sincerely,
Nicholas


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/iqjvjo$q09$2...@dough.gmane.org



Re: как дать доступ к почте и bind только openvpn клиентам ?

2011-05-12 Пенетрантность Mikhail A Antonov
13.05.2011 03:56, Nicholas пишет:
...
 Проблема:
 
 если зайти по ssh на сервер с сервером openvpn c клиента с клиентом
 openvpn (который всем виден как real_ip_2), то в этом случае клиент
 виден по своему физическому ip (потому что real_ip_2  передается в
 POSTROUTING)
 
 А это значит, что, например, bind работает только если прописать
 allow-query { any;  };
allow-query { ::1; 127.0.0.1; сетка реальных IP; сетка серых IP; }
 
 Вопрос:
 Как правильно поступить в данной ситуации, при условии что openvpn,
 bind, postfix остаются на единой машине, а доступ к ним надо разрешить
 только клиентам vpn  ?
Аналогично bind. Как сделать с bind - написал выше.

-- 
Best regards,
Mikhail.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4dccb588.7010...@solarnet.ru



Re: как дать доступ к почте и bind только openvpn клиентам ?

2011-05-12 Пенетрантность Nicholas

On 13.05.2011 04:37, Mikhail A Antonov wrote:


allow-query { ::1; 127.0.0.1;сетка реальных IP;сетка серых IP; }


Реальные ip - разные, теже точки wifi в городе.

При обращении к службам сервера, со стороны openvpn клиента, через 
tcpdump сервера ip-щников 192.168.33.xx не видно.


Судя по tcpdump с лаптопа, на сервер клиент приходит не по tap, а 
напрямую через wlan.


$ sudo route
Kernel IP routing table
Destination Gateway Genmask Flags Metric RefUse 
Iface

server.com  192.168.1.1 255.255.255.255 UGH   0  00 wlan0
192.168.1.0 *   255.255.255.0   U 0  00 
wlan0

192.168.33.0   *   255.255.255.0   U 0  00 tap5
default 192.168.33.5   0.0.0.0 UG0  00 tap5


--
Sincerely,
Nicholas


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/iqiefi$3sq$1...@dough.gmane.org



Re: как дать доступ к почте и bind только openvpn клиентам ?

2011-05-12 Пенетрантность Mikhail A Antonov
13.05.2011 05:08, Nicholas пишет:
 On 13.05.2011 04:37, Mikhail A Antonov wrote:
 
 allow-query { ::1; 127.0.0.1;сетка реальных IP;сетка серых IP; }
 
 Реальные ip - разные, теже точки wifi в городе.
Я про realip_2.

 При обращении к службам сервера, со стороны openvpn клиента, через
 tcpdump сервера ip-щников 192.168.33.xx не видно.
 
 Судя по tcpdump с лаптопа, на сервер клиент приходит не по tap, а
 напрямую через wlan.
Маршрут смотреть надо не на сервере, а на клиенте. Ты какой IP для
DNS-сервера указываешь на клиенте? Внешний? Укажи внутренний.

-- 
Best regards,
Mikhail.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4dccbfb5.6070...@solarnet.ru