Linux : /etc

делимся знанием

OpenVPN: частный случай p2p соединения


Рассмотрим весьма частный случай применения OpenVPN.

Конфигурация сети:

  1. Диспетчер, он же центральный хаб “звезды”, он же VPN-сервер в стандартной схеме “клиент-сервер”.
  2. Client1, по отношению к диспетчеру — клиент.
  3. Client2, по отношению к диспетчеру — клиент.
  4. Предполагается, что впоследствии появятся ещё Client3, …, ClientN, и все они по отношению к диспетчеру будут суть клиенты.

Считается, что VPN между диспетчером и каждым из клиентов уже настроен, то есть классическая “звезда” уже работает.

Требуется обеспечить симметричный p2p VPN-линк между Client1 и Client2. Другими словами, превратить “звезду” в полносвязку.

Когда я приступил к решению данной задачи, то обнаружил, что в интернете практически отсутствуют описания применения OpenVPN в симметричных схемах. Везде тщательно и со вкусом рассматриваются схемы “клиент-сервер”, при которых одна определённая сторона ждёт входящих соединений, а другая
инициирует исходящие.

Так как Client1 и Client2 — это равноправные сервера, делать кого-то формальным сервером не было ни желания, ни особого смысла. С учётом же возможности пояления Client3, …, ClientN заводить N формальных серверов — это неизбежно запутаться во всех них.

Читать дальше...


SSL proxy на lighttpd


Возникла необходимость сделать на lighttpd балансирующий ssl-прокси к веб-серверу под управлением Apache. Другими словами, реализовать схему:

               https-запрос
	            |
		   \|/
                 lighttpd
		 /       \
		/         \
	    apache1      apache2

где apache1. apache2 выбираются, исходя из доступности.

Так как задача отняла чуть больше времени и сил, чем ожидалось, приведу решение с небольшим комментарием:

Читать дальше...