Re: как дать доступ к почте и bind только openvpn клиентам ?
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 клиентам ?
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 клиентам ?
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 клиентам ?
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 клиентам ?
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 клиентам ?
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 клиентам ?
Не ожидал столько ответов... Если в кратце: основная идея была - давать 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 клиентам ?
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 клиентам ?
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 клиентам ?
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 клиентам ?
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 клиентам ?
Мысли в слух: Попробовал завернуть пакеты с клиента до сервера на 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 клиентам ?
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 клиентам ?
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 клиентам ?
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 клиентам ?
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 клиентам ?
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 клиентам ?
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 клиентам ?
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 клиентам ?
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 клиентам ?
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