Нужно на FreeBSD 8.1 сделать так чтобы маршруты Openvpn клиента понимались в таблице маршрутизации fib1. Вопрос, как это сделать?
Пробовал так:
rc.conf
setfib1_enable="YES"
setfib1_defaultrouter="192.168.1.1"
openvpn_enable="YES"
openvpn_fib="1"
openvpn_if="tap"
openvpn_configfile="/usr/local/etc/openvpn/openvpn.conf"не выходит, дефолтный маршрут выдаваемый сервером к которому подключаеться мой Openvpn попадает в общую таблицу маршрутизации а не в fib1.
Прописывал в скрипте /usr/local/etc/rc.d/openvpn
вместо этого:
# command and arguments
command="/usr/local/sbin/openvpn"такое:
# command and arguments
command="setfib 1 /usr/local/sbin/openvpn"оно то стартует успешно, маршруты добавляються в fib1 но выскакивает такое:
openvpn: WARNING: cannot read shebang line from setfib
[: setfib: unexpected operatorи невозможно нормально остановить openvpn выскакивает такая ошибка:
openvpn not running? (check /var/run/openvpn.pid).как решить корректно мою проблему?
> openvpn_fib="1"сам придумал?
>> openvpn_fib="1"
> сам придумал?нет. нашёл в инете. :))
>>> openvpn_fib="1"
>> сам придумал?
> нет. нашёл в инете. :))у меня, почему-то, кроме этой страницы ничего не находится
>>>> openvpn_fib="1"
>>> сам придумал?
>> нет. нашёл в инете. :))
> у меня, почему-то, кроме этой страницы ничего не находитсяhttp://lists.freebsd.org/pipermail/freebsd-questions/2009-Ja...
>>>>> openvpn_fib="1"
>>>> сам придумал?
>>> нет. нашёл в инете. :))
>> у меня, почему-то, кроме этой страницы ничего не находится
> http://lists.freebsd.org/pipermail/freebsd-questions/2009-Ja...переведи и подумай внимательно. хотя бы это
> Also to run services, I can edit /etc/rc.d scripts, but this is ugly, very ugly.
>>>>>> openvpn_fib="1"
>>>>> сам придумал?
>>>> нет. нашёл в инете. :))
>>> у меня, почему-то, кроме этой страницы ничего не находится
>> http://lists.freebsd.org/pipermail/freebsd-questions/2009-Ja...
> переведи и подумай внимательно. хотя бы это
>> Also to run services, I can edit /etc/rc.d scripts, but this is ugly, very ugly.Нужно редактировать скрипт /etc/rc.d
>>>>>>> openvpn_fib="1"
>>>>>> сам придумал?
>>>>> нет. нашёл в инете. :))
>>>> у меня, почему-то, кроме этой страницы ничего не находится
>>> http://lists.freebsd.org/pipermail/freebsd-questions/2009-Ja...
>> переведи и подумай внимательно. хотя бы это
>>> Also to run services, I can edit /etc/rc.d scripts, but this is ugly, very ugly.
> Нужно редактировать скрипт /etc/rc.d/etc/rc.d - это не скрипт, а папка, в которой они лежат
>>>>>>>> openvpn_fib="1"
>>>>>>> сам придумал?
>>>>>> нет. нашёл в инете. :))
>>>>> у меня, почему-то, кроме этой страницы ничего не находится
>>>> http://lists.freebsd.org/pipermail/freebsd-questions/2009-Ja...
>>> переведи и подумай внимательно. хотя бы это
>>>> Also to run services, I can edit /etc/rc.d scripts, but this is ugly, very ugly.
>> Нужно редактировать скрипт /etc/rc.d
> /etc/rc.d - это не скрипт, а папка, в которой они лежатПроблему не решили?
>>>>>>>>> openvpn_fib="1"
>>>>>>>> сам придумал?
>>>>>>> нет. нашёл в инете. :))
>>>>>> у меня, почему-то, кроме этой страницы ничего не находится
>>>>> http://lists.freebsd.org/pipermail/freebsd-questions/2009-Ja...
>>>> переведи и подумай внимательно. хотя бы это
>>>>> Also to run services, I can edit /etc/rc.d scripts, but this is ugly, very ugly.
>>> Нужно редактировать скрипт /etc/rc.d
>> /etc/rc.d - это не скрипт, а папка, в которой они лежат
> Проблему не решили?Встала такая же проблема,всю голову сломал, решил следующим способом (если честно подсмотрел в squid).
в скрипте запуска /usr/local/etc/rc.d/openvpn добавляем:openvpn_setfib() {
sysctl net.fibs >/dev/null 2>&1 || return 0
if [ "x${openvpn_fib}" != "xNONE" ]; then
command="setfib -F ${openvpn_fib} ${command}"
else
return 0
fi
}start_precmd="openvpn_setfib"
eval ": \${${name}_fib:=\"NONE\"}"
в /etc/rc.conf добавляем:
openvpn_fib="1"Все заработало, если что не правильно сильно не пинайте, я только начинаю изучать.
>[оверквотинг удален]
> else
> return 0
> fi
> }
> start_precmd="openvpn_setfib"
> eval ": \${${name}_fib:=\"NONE\"}"
> в /etc/rc.conf добавляем:
> openvpn_fib="1"
> Все заработало, если что не правильно сильно не пинайте, я только начинаю
> изучать.А в FreeBSD 9.2 появилась возможность писать service_fib="num"
Так что изначальный вариант будет работать :)