Приступим к тонкому тюнингу.
Для начала приведём настройки к такому виду:
Нас будут особо интересовать:
Код:
|
tun-mtu 1492
keepalive 10 120
persist-key
persist-tun
client-config-dir /tmp/mnt/STORAGE/Optware/etc/openvpn/ccd
route XXX.XXX.XXX.XXX 255.255.255.0
script-security 3
verb 3 |
client-config-dir /tmp/mnt/STORAGE/Optware/etc/openvpn/ccd - задаём путь к паке, где будут храниться кастомные конфиги каждого клиента
route XXX.XXX.XXX.XXX 255.255.255.0 - так мы передаём сети за шлюзами-клиентами
Если со вторым всё ясно, то с кастомными конфигами пока не понятно...
Объясняю, кастомные конфиги позволят нам задавать IP-адреса, задавать лимиты по скорости передачи данных, передавать необходимые маршруты...
Задавать IP-адреса можно для удобства и для избежания проблем с Windows-клиентами.
Разберём пару конфигов. Первый конфиг взят с клиента-шлюза (за ним находятся клиенты в своей подсети).
Код:
|
#IP клиента
ifconfig-push 10.0.0.6 10.0.0.5
#Передаём подсеть
iroute 192.168.0.0 255.255.255.0
#Скорость соединения в байтах (4Mb/s)
shaper 500000 |
Теперь подробнее:
каждая пара адресов в ifconfig-push соответствует виртуальным IP-адресам конечных точек (клиента и сервера). Чтобы сохранить совместимость с Windows-клиентами и драйвером TAP-Win32 эти адреса должны быть взяты из следующих друг за другом подсетей с маской /30 . В частности, последний октет в IP-адресе каждой пары конечных точек должен быть взят из этого набора:
[ 1, 2] [ 5, 6] [ 9, 10] [ 13, 14] [ 17, 18]
[ 21, 22] [ 25, 26] [ 29, 30] [ 33, 34] [ 37, 38]
[ 41, 42] [ 45, 46] [ 49, 50] [ 53, 54] [ 57, 58]
[ 61, 62] [ 65, 66] [ 69, 70] [ 73, 74] [ 77, 78]
[ 81, 82] [ 85, 86] [ 89, 90] [ 93, 94] [ 97, 98]
[101,102] [105,106] [109,110] [113,114] [117,118]
[121,122] [125,126] [129,130] [133,134] [137,138]
[141,142] [145,146] [149,150] [153,154] [157,158]
[161,162] [165,166] [169,170] [173,174] [177,178]
[181,182] [185,186] [189,190] [193,194] [197,198]
[201,202] [205,206] [209,210] [213,214] [217,218]
[221,222] [225,226] [229,230] [233,234] [237,238]
[241,242] [245,246] [249,250] [253,254]
За шлюзом имеется сеть 192.168.0.0 и мы хотим чтобы все могли ходить в эту сеть, поэтому даём iroute. Это позволит частной сети за шлюзом
иметь доступ к VPN. Этот пример будет работать только если используется режим маршрутизации, а не режим моста, то есть используются директивы "dev tun" и "server".
Shaper режет только исходящий трафик, и работает только на клиенте. Значение указывается в байт/секунду.
Теперь рассмотрим конфиг для отдельного устройства (компьютер на работе, смартфон на андроиде и т.д.).
Код:
|
#IP клиента
ifconfig-push 10.0.0.10 10.0.0.9
#Маршрут для сетей
push "route 192.168.0.0 255.255.255.0"
#Скорость соединения в байтах (4Mb/s)
500000 |
Пушем мы передаём клиенту-одиночке маршрут к сети шлюза-клиента (конфиг которого мы рассмотрели в первом примере).
Имена конфигов должны совпадать с именами клиентов, для которых были сгенерированы ключи и сертификаты.