LINUX.ORG.RU

История изменений

Исправление Moisha_Liberman, (текущая версия) :

1 Борьба с NAT осуществляется при помощи NAT-T (NAT Traversal). ЕМНИП, где-то на хабре видел статью.

2

Но я слышал что могут быть проблемы если из этой же сети понадобится еще одно подключение.

Могут быть проблемы и да, понадобится второе подключение, если это два клиента из одной сети, но независимые друг от друга. Например, два мобильника. Они могут иметь один IP (одну точку выхода от ОпСоСа), но подключений будет два.

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

UPD. Это... я не админ. Админские вопросы в чистом виде не очень. Извините. =)

============

Для ТС. Пока не забыл.

Я сказал что не существует «единого API» для IPSec. Как такового API да, нет. Но вот при необходимости есть возможность создавать свои пакеты посредством libnet. Либа старенькая, не без того, но там в структуры пакетов и механизмы их генерации и разбора мало что можно добавить. Тогда, если использовать libnet или решения на её основе, конечно можно поиграть с пакетами напрямую, но тогда весь трах с шифрацией/дешифрацией ляжет на Ваши плечи. libnet позволяет создавать пакеты определённой структуры, например, вот для IPSec:

#define LIBNET_IPSEC_ESP_HDR_H  0x0c    /**< IPSEC ESP header:    12 bytes */
#define LIBNET_IPSEC_ESP_FTR_H  0x02    /**< IPSEC ESP footer:     2 bytes */
#define LIBNET_IPSEC_AH_H 0x10 /**< IPSEC AH header:     16 bytes */

Взято из https://github.com/korczis/libnet/blob/master/include/libnet/libnet-headers.h

Но весь остальной трах... Как человек, заниавшийся этим вплотную, сразу скажу — да ну его на фиг, если в одиночку. Там сразу возникает масса вопросов и проект может ну очень долгим оказаться.

Как-то вот так, в общем.

Исходная версия Moisha_Liberman, :

Два момента.

1 Борьба с NAT осуществляется при помощи NAT-T (NAT Traversal). ЕМНИП, где-то на хабре видел статью.

2

Но я слышал что могут быть проблемы если из этой же сети понадобится еще одно подключение.

Могут быть проблемы и да, понадобится второе подключение, если это два клиента из одной сети, но независимые друг от друга. Например, два мобильника. Они могут иметь один IP (одну точку выхода от ОпСоСа), но подключений будет два.

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

============ Для ТС. Пока не забыл.

Я сказал что не существует «единого API» для IPSec. Как такового API да, нет. Но вот при необходимости есть возможность создавать свои пакеты посредством libnet. Либа старенькая, не без того, но там в структуры пакетов и механизмы их генерации и разбора мало что можно добавить. Тогда, если использовать libnet или решения на её основе, конечно можно поиграть с пакетами напрямую, но тогда весь трах с шифрацией/дешифрацией ляжет на Ваши плечи. libnet позволяет создавать пакеты определённой структуры, например, вот для IPSec:

#define LIBNET_IPSEC_ESP_HDR_H  0x0c    /**< IPSEC ESP header:    12 bytes */
#define LIBNET_IPSEC_ESP_FTR_H  0x02    /**< IPSEC ESP footer:     2 bytes */
#define LIBNET_IPSEC_AH_H 0x10 /**< IPSEC AH header:     16 bytes */

Взято из https://github.com/korczis/libnet/blob/master/include/libnet/libnet-headers.h

Но весь остальной трах... Как человек, заниавшийся этим вплотную, сразу скажу — да ну его на фиг, если в одиночку. Там сразу возникает масса вопросов и проект может ну очень долгим оказаться.

Как-то вот так, в общем.