Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > VPN соединение


Автор: vns955 4.11.2009, 02:07
Всем здрям!

Подскажите плз API функции для создания VPN-соединения в Linux/Unix.

Заранее благодарен.

Автор: kuzulis 4.11.2009, 08:44
Тут нужно наверное курить в сторону pptpclient, ppp и т.п. . 
т.е. (ИМХО) - проще использовать готовые утилиты для создания VPN соединения, чем что-то городить своё.

Автор: vns955 4.11.2009, 15:11
Вы наверное не совсем поняли, - мне нужно программно создать это соединение. Я глянул в винде - там всего две функции для решения данной задачи. Я ожидаю что и линухе они есть, вот иммено их названия я и хотел от Вас услышать. Или Вы предлагаете изучать коды этих утилит чтоб на их базе создать свое ПО?

Автор: kuzulis 4.11.2009, 15:49
Имею ввиду программно запускать эти утилиты и передавать им параметры VPN соединения. Хотя, хз как лучше.

Коды не нужно изучать, в общем смысле - хотя можно посмотреть каким образом эти утилиты и что они используют (какие функции и т.п. ядра ) для создания соединения. 

Автор: vns955 4.11.2009, 16:55
Да, теперь я понял идею, пасиб smile
Но, хз, как проще: написать нужный код самому или париться с изучением настроек различных утилит и их запуска? smile Это раз, второй момент, что заказчику нужен переносимый код для всех Unix-систем (ну по крайней мере Linux, FreeBSD, Mac OS X) (т.е. он должен закомпилить по мануалу и должно везде работать), а что эти утилиты и их параметры для всех систем одинаковые, я далеко не уверен. Например я могу точно сказать что для BSD и Linux названия многих утилит разнятся, не говоря уже об особенностях настройки, параметрах и т.д. Кстати, даже данного пакета может в системе вообще не оказаться (а пользователь не должен об этом думать), как тогда будет работать моё ПО?
Вот поэтому я хочу писать свою либу на стандартных для всех Unix-систем ф-циях и прошу дать хоть названия этих API функций, ну а глянуть на исходники уже готовых утилит никто не мешает.

Автор: MAKCim 4.11.2009, 22:02
vns955, 

Цитата(vns955 @  4.11.2009,  16:55 Найти цитируемый пост)
Это раз, второй момент, что заказчику нужен переносимый код для всех Unix-систем (ну по крайней мере Linux, FreeBSD, Mac OS X) (т.е. он должен закомпилить по мануалу и должно везде работать)

ух...

проще наверное заюзать openvpn ;)
при инсталле основной программы предусмотреть сборку openvpn, его конфигурацию и при старте программы - стартовать его

Добавлено через 2 минуты и 2 секунды
стандартных API нет ;) это UNIX-way
в Linux к примеру VPN строится на использовании виртуального сетевого интерфейса (/dev/net/tun) и форвардинга
на остальных может быть иначе

Автор: vns955 5.11.2009, 15:25
Я так понимаю что OpenVPN это не либа, а прога. Значит запускать её придется через exec и передавать нужные параметры?

Автор: MAKCim 5.11.2009, 21:59
vns955
по сути да

Автор: vns955 6.11.2009, 15:30
Спасибо smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)