есть интересная задача, помогите решить.
есть некий сервер на котором предполагается поднять dhcp + vpn, чтобы эта связка обслуживала несколько локальных сетей, например:
10.0.x.0/24
что конкретно нужно: предположим есть сеть 10.0.1.0/24 и 10.0.2.0/24, в этих сетях есть клиенты, запрашивающие ip, запросы должны проходить через vpn до сервера и сервер должен отдавать адреса из соответствующих сетей соответствующему клиенты. Надеюсь, излагаю понятно.
как я себе это представляю: (pc) > (vpn client) > (internet) > (vpn gate + dhcp)
как мне кажется можно реализовать: pc посылает broadcast запрос, дальше (vpn client) пересылает этот запрос по cpn туннелю серверу, тут все просто, но как сервер разберет, из какой подсети пришел запрос и какой адрес ему вернуть клиенты?
тут мне видится 2 решения:
1) (vpn client) имеет нечто типа access порта, который тегирует запрос определенным тегом, дальше запрос идет на сервер, а сервер по тегу определяет, из какой сети пришел запрос и куда его отправлять
2) на сервере поднимается 2 дополнительный интерфейса eth0:1 и eth0:2, имеющие адреса 10.0.1.1/24 и 10.0.2.1/24, приходящий запрос опять тегируется определнным тегом и посылается dhcp серверу, на основе тега он выдает адрес и отправляет обратно. Как-то так, я сам не доканца понял. как это можно сделать.
Вопрос, подскажите, как вообще это все можно реализовать?
на основе чего поднимать vpn: freeswan, openvpn иди еще что-то?
как заставить dhcp сервер разбирать теги?
как заставить ответ от dhcp сервера пойти в нужный vpn туннель?