LINUX.ORG.RU

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

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

А вот результат работы iroute (да?) какой-то внутренний получается.

Ага, так и есть. Смотрите, на сервере у нас один интерфейс ovpn (например tun0), соответственно для роутинга к клиентам и между ними мы использовать стандартные ip route и т.д. не можем, этим занимается сам демон ovpn. Так вот в случае если за клиентом есть какая-то/какие-то подсети ему об этом надо рассказать, для этого в файлике ccd соответствующего клиента прописываются iroute, одна строка одна подсеть. Например за клиентом clname находятся сети 10.10.10.0/24, 10.17.0.0/24, 192.168.0.0/16. Создаем в каталоге ccd файл с именем clname и в него пишем:

iroute 10.10.10.0 255.255.255.0
iroute 10.17.10.0 255.255.255.0
iroute 192.168.0.0 255.255.0.0
Вот теперь ovpn знает, что пакеты для данных сетей надо отправлять клиенту clname.
Но это знает только ovpn. Другие клиенты про эти маршруты не знают. Поэтому добавляем в конфиг ovpn строчки:
push "route 10.10.10.0 255.255.255.0"
push "route 10.17.10.0 255.255.255.0"
push "route 192.168.0.0 255.255.0.0"
Теперь при соединении клиентов им будут пушится эти маршруты. Клиенту clname правда тоже, но на это можно забить так как просто с ошибкой полетят и все (у него же и так в системе эти маршруты есть). Альтернативой будет прописывать все эти одинаковые push... каждому клиенту в ccd но это же тоскливо, да и менять если что не удобно. Однако если не всем клиентам нужны все сети, придется прописывать избирательно каждому клиенту в ccd.

Теперь у нас клиенты умеют стучатся до перечисленных выше сетей, но не сама система на которой запущен сервер. Поэтому третья часть марлезонского балета или добавляем маршруты с систему на которой запущен сервер. Добавляем в основной конфиг ovpn:
route 10.10.10.0 255.255.255.0
route 10.17.10.0 255.255.255.0
route 192.168.0.0 255.255.0.0
После старта сервера в таблице роутинга main появятся выше перечисленные маршруты завернутые на интерфейс ovpn(например tun0).

Исправление anc, :

А вот результат работы iroute (да?) какой-то внутренний получается.

Ага, так и есть. Смотрите, на сервере у нас один интерфейс ovpn (например tun0), соответственно для роутинга к клиентам и между ними мы использовать стандартные ip route и т.д. не можем, этим занимается сам демон ovpn. Так вот в случае если за клиентом есть какая-то/какие-то подсети ему об этом надо рассказать, для этого в файлике ccd соответствующего клиента прописываются iroute, одна строка одна подсеть. Например за клиентом clname находятся сети 10.10.10.0/24, 10.17.0.0/24, 192.168.0.0/16. Создаем в каталоге ccd файл с именем clname и в него пишем:

iroute 10.10.10.0 255.255.255.0
iroute 10.17.10.0 255.255.255.0
iroute 192.168.0.0 255.255.0.0
Вот теперь ovpn знает, что пакеты для данных сетей надо отправлять клиенту clname.
Но это знает только ovpn. Другие клиенты про эти маршруты не знают. Поэтому добавляем в конфиг ovpn строчки:
push "route 10.10.10.0 255.255.255.0"
push "route 10.17.10.0 255.255.255.0"
push "route 192.168.0.0 255.255.0.0"
Теперь при соединении клиентов им будут пушится эти маршруты. Клиенту clname правда тоже, но на это можно забить так как просто с ошибкой полетят и все (у него же и так в системе эти маршруты есть). Альтернативой будет прописывать все эти одинаковые push... каждому клиенту в ccd но это же тоскливо, да и менять если что не удобно. Однако если не всем клиентам нужны все сети, придется прописывать избирательно каждому клиенту в ccd.

Теперь у нас клиенты умеют стучатся до перечисленных выше сетей, но не сама система на которой запущен сервер. Поэтому третья часть марлезонского балета или добавляем маршруты с систему на которой запущен сервер. Добавляем в основной конфиг ovpn:
route 10.10.10.0 255.255.255.0
route 10.17.10.0 255.255.255.0
route 192.168.0.0 255.255.0.0
После старта сервера в таблице роутинга main появятся выше перечисленные маршруты завернутые на интерфейс ovpn.

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

А вот результат работы iroute (да?) какой-то внутренний получается.

Ага, так и есть. Смотрите, на сервере у нас один интерфейс ovpn (например tun0), соответственно для роутинга к клиентам и между ними мы использовать стандартные ip route и т.д. не можем, этим занимается сам демон ovpn. Так вот в случае если за клиентом есть какая-то/какие-то подсети ему об этом надо рассказать, для этого в файлике ccd соответствующего клиента прописываются iroute, одна строка одна подсеть. Например за клиентом clname находятся сети 10.10.10.0/24, 10.17.0.0/24, 192.168.0.0/16. Создаем в каталоге ccd файл с именем clname и в него пишем:

iroute 10.10.10.0 255.255.255.0
iroute 10.17.10.0 255.255.255.0
iroute 192.168.0.0 255.255.0.0
Вот теперь ovpn знает, что пакеты для данных сетей надо отправлять клиенту clname.
Но это знает только ovpn. Другие клиенты про эти маршруты не знают. Поэтому добавляем в конфиг ovpn строчки:
push "route 10.10.10.0 255.255.255.0"
push "route 10.17.10.0 255.255.255.0"
push "route 192.168.0.0 255.255.0.0"
Теперь при соединении клиентов им будут пушится эти маршруты. Клиенту clname правда тоже, но на это можно забить так как просто с ошибкой полетят и все (у него же и так в системе эти маршруты есть). Альтернативой будет прописывать все эти одинаковые push... каждому клиенту в ccd но это же тоскливо, да и менять если что не удобно. Однако если не всем клиентам нужны все сети, придется прописывать избирательно каждому клиенту в ccd.

Теперь у нас клиенты умеют стучатся до перечисленных выше сетей, но не сама система на которой запущен сервер. Поэтому третья часть марлезонского балета или добавляем маршруты с систему на которой запущен сервер. Добавляем в основной конфиг:
route 10.10.10.0 255.255.255.0
route 10.17.10.0 255.255.255.0
route 192.168.0.0 255.255.0.0
После старта сервера в таблице роутинга main появятся выше перечисленные маршруты завернутые на интерфейс ovpn.