Добрый всем день.Centos 5.3. Для нужд поставили l2tpd сервер для впн подключений без ipsec реализации.
l2tpd.conf:
[global]
rand source = dev[lns default]
assign ip = no
exclusive = yes
local ip = 192.168.0.1
require chap = yes
ppp debug = no
pppoptfile = /etc/ppp/options.l2tpdetc/ppp/options.l2tpd:
lock
nodeflate
name l2tpd
proxyarp
refuse-pap
require-mschap-v2
require-mschap
lcp-echo-failure 12
lcp-echo-interval 5
novj
novjccomp
nobsdcomp
nolog
192.168.0.1:
ms-dns 192.168.0.1
ms-dns 192.168.0.2
plugin radius.so
plugin radattr.so
авторизация и выдача ip адресов по radius
l2tpd вызывает процесс pppd с такими параметрами:/usr/sbin/pppd passive -detach 192.168.0.1:0.0.0.0 file /etc/ppp/options.l2tpd /dev/pts/8
вроде все замечательно, все работает, но вот мне позарез нужен параметр ipparamодновременно на этом же впн сервере стоит pptpd, он дает параметр ipparam нормально:
/usr/sbin/pppd local file /etc/ppp/options.pptpd 115200 ipparam 10.2.35.208
мне этот параметр позарез для логов и для контроля нужен нужен.l2tpd собирал из src.rpm. Просматривал исходники, там есть упоминания об ipparam.
Есть отдельные процедуры с комментами типа /* mf, 08.04.2003: used to construct ipparam arg to pppd */
В кодинге я не силен, так что что к чему в исходниках я ни бум бум.
Может есть другой способ забирания параметра пира-источника?
Что за сервер, где брал src.rpm?
>Что за сервер, где брал src.rpm?VPN L2TP сервер, l2tpd
брал тут: ftp://distro.ibiblio.org/pub/linux/distributions/aurora/extr...
Может кому пргодитсяВ исходниках в файле control.c добавить
в начале файла, там где объявляются переменныеchar ipnn[STRLEN];
Найти кусок кода ,вставить то , что выделено плюсами.
if (c->lns->pppoptfile[0])
{
po = add_opt (po, "file");
po = add_opt (po, c->lns->pppoptfile);
}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if (t->peer.sin_addr.s_addr)
{
strncpy (ipnn, IPADDY (t->peer.sin_addr), sizeof (ipnn));
po = add_opt (po, "ipparam");
po = add_opt (po, ipnn );
}
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
start_pppd (c, po);
opt_destroy (po);
l2tp_log (LOG_NOTICE,
"Call established with %s, Local: %d, Remote: %d, Serial: %d\n",
IPADDY (t->peer.sin_addr), c->ourcid, c->cid,
c->serno)