Проблема возникает когда пытаюсь соеденится с провайдером (192.168.10.1) с помощью mpd. У меня и у прова стоят mpd версии 3.17_1, там и там FreeBSD.
Вот что получается при пинге vpn сервера:
64 bytes from 192.168.10.1: icmp_seq=503 ttl=64 time=0.634 ms
64 bytes from 192.168.10.1: icmp_seq=504 ttl=64 time=0.689 ms
64 bytes from 192.168.10.1: icmp_seq=505 ttl=64 time=0.645 ms
64 bytes from 192.168.10.1: icmp_seq=506 ttl=64 time=0.664 ms
ping: sendto: Resource deadlock avoided
ping: sendto: Resource deadlock avoided
ping: sendto: No buffer space available
ping: sendto: No buffer space available
ping: sendto: No buffer space available
ping: sendto: No buffer space available
ping: sendto: No buffer space available
ping: sendto: No buffer space available
ping: sendto: No buffer space available
Где пинги кончаются, в этот момент устанавливается седенение, по логам mpd все проходит нормально:
tcpdump -i ng0:
tcpdump: listening on ng0
12:23:40.489990 192.168.100.102 > 192.168.10.1: icmp: echo request
12:23:41.499975 192.168.100.102 > 192.168.10.1: icmp: echo request
12:23:42.509985 192.168.100.102 > 192.168.10.1: icmp: echo request
12:23:43.519997 192.168.100.102 > 192.168.10.1: icmp: echo request
12:23:44.530011 192.168.100.102 > 192.168.10.1: icmp: echo request
12:23:45.540022 192.168.100.102 > 192.168.10.1: icmp: echo request
12:23:46.550046 192.168.100.102 > 192.168.10.1: icmp: echo request
12:23:47.560053 192.168.100.102 > 192.168.10.1: icmp: echo request
12:23:48.570068 192.168.100.102 > 192.168.10.1: icmp: echo request
12:23:49.580084 192.168.100.102 > 192.168.10.1: icmp: echo request
12:23:50.590127 192.168.100.102 > 192.168.10.1: icmp: echo request
12:23:51.600118 192.168.100.102 > 192.168.10.1: icmp: echo request
12:23:52.610151 192.168.100.102 > 192.168.10.1: icmp: echo request
12:23:53.620149 192.168.100.102 > 192.168.10.1: icmp: echo request
Т.е. через тунель вообще ни чего не проходит.netstat -m:
196/3328/3328 mbufs in use (current/peak/max):
193 mbufs allocated to data
3 mbufs allocated to packet headers
192/236/832 mbuf clusters in use (current/peak/max)
1304 Kbytes allocated to network (52% of mb_map in use)
652 requests for memory denied
15 requests for memory delayed
29 calls to protocol drain routinesТут вроде все нормально. Уже пробовал поднять количество юзеров, размер буфера и т.п. как рекомендовалось на сайте, ни чего не помогает. Нашел похожее описание проблемы для цисок, но тут стоит фриха, да решение которое предлагалось там не помогло.
ifconfig:
xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=3<rxcsum,txcsum>
inet 192.168.10.12 netmask 0xffffff00 broadcast 192.168.10.255
ether 00:01:02:ca:0c:24
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.0.10 netmask 0xffffffc0 broadcast 192.168.0.63
ether 00:a0:c9:69:91:8a
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
lp0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500
faith0: flags=8002<BROADCAST,MULTICAST> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000
ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
sl0: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 552
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.100.102 --> 192.168.10.1 netmask 0xffffffff
Варианты с уменьшением mtu тоже не помогли. Нашел в инете подобную проблему где как в моем случае использовалась карсточка fxp, проблема была в ней, поставил в сторону прова xl, не помогло.mpd.comf
default:
load vpn
vpn:
new -i ng0 ciscovpn pptp192
set bundle authname "*******"
set ipcp ranges 192.168.100.102 192.168.10.1
set iface up-script /usr/local/etc/mpd/iface-up.sh
load vpnpptp
open
vpnpptp:
set bundle disable compression
# set bundle no crypt-reqdset bundle enable compression
set ccp yes mppc
set ccp yes mpp-e40
set ccp yes mpp-e128
set bundle enable crypt-reqd
set ccp yes mpp-statelessset iface idle 0
set ipcp disable vjcomp
set ipcp enable req-pri-dns req-sec-dns
set link max-redial 1
set link keep-alive 0 0
set link disable pap chap
set link disable acfcomp protocompmpd.links
pptp192:
set link type pptp
set pptp peer 192.168.10.1
set pptp enable originate outcall
iface-up.sh
#!/bin/shiface=$1
proto=$2
localip=$3
remoteip=$4
vpn_private_ip=192.168.10.1ifconfig $iface $proto $localip $vpn_private_ip netmask 0xffffffff
ifconfig $iface mtu 1500
route flush
route add default -interface $ifaceПричем до недавнего времени все это прекрасно работало пока пров не затеел обнавление софта на сервере (что он обнавил говорить отказывается).
Еще встречал подобные проблемы из-за файрвола/nata, у меня на самом деле стоит, но если убрать вообще все провила из него, тоже не помогает.Кто с такм сталкивался, помогите разобратся. Большое спасибо.
А что скажет
sysctl kern.ipc.nmbclusters
?
>А что скажет
>sysctl kern.ipc.nmbclusters
>?kern.ipc.nmbclusters -> 832
>>А что скажет
>>sysctl kern.ipc.nmbclusters
>>?
>
>kern.ipc.nmbclusters -> 832
Лучше kern.ipc.nmbclusters: 32768
в /boot/loader.conf:
kern.ipc.nmbclusters=32768Или в конфиге ядра
options NMBCLUSTERS=32768
>>>А что скажет
>>>sysctl kern.ipc.nmbclusters
>>>?
>>
>>kern.ipc.nmbclusters -> 832
>
>
>Лучше kern.ipc.nmbclusters: 32768
>в /boot/loader.conf:
>kern.ipc.nmbclusters=32768
>
>Или в конфиге ядра
>options NMBCLUSTERS=32768А не много? в качаестве клиента стоит P166 MMX?
Попробую седня как с работы приду. Но чувствую не в этом дело...
>>Лучше kern.ipc.nmbclusters: 32768
>>в /boot/loader.conf:
>>kern.ipc.nmbclusters=32768
>>
>>Или в конфиге ядра
>>options NMBCLUSTERS=32768
>
>А не много? в качаестве клиента стоит P166 MMX?
>Попробую седня как с работы приду. Но чувствую не в этом дело...Так и есть, не помогло. Куда еще копать можно?
>>>Лучше kern.ipc.nmbclusters: 32768
>>>в /boot/loader.conf:
>>>kern.ipc.nmbclusters=32768
>>>
>>>Или в конфиге ядра
>>>options NMBCLUSTERS=32768
>>
>>А не много? в качаестве клиента стоит P166 MMX?
>>Попробую седня как с работы приду. Но чувствую не в этом дело...
>
>Так и есть, не помогло. Куда еще копать можно?если ты со своей стороны НИЧЕГО не менял - тряси провайдера на предмет
ЧТО ОНИ СДЕЛАЛИ-ИЗМЕНИЛИ, мб что-то на циске?
Попробуй расширенный поиск в гугле:http://groups.google.com/advanced_group_search?hl=ru
запрос по группе *freebsd*
>если ты со своей стороны НИЧЕГО не менял - тряси провайдера на
>предмет
>ЧТО ОНИ СДЕЛАЛИ-ИЗМЕНИЛИ, мб что-то на циске?
>Попробуй расширенный поиск в гугле:
>
>http://groups.google.com/advanced_group_search?hl=ru
>
>запрос по группе *freebsd*Эх... откуда пришел туда и послали :)
Да и не циска у них, а фря и тоже mpd и тоже 3.17, была б циска все бы понятно было :(
options NBUFS=4096
maxusers 512ещё увеличить буферы для отправки/приёма пакетов, sysctl
>options NBUFS=4096
>maxusers 512
>
>ещё увеличить буферы для отправки/приёма пакетов, sysctlпробовал уже, бесполезно :(
>>options NBUFS=4096
>>maxusers 512
>>
>>ещё увеличить буферы для отправки/приёма пакетов, sysctl
>
>пробовал уже, бесполезно :(
А можно увидеть значения
net.inet.tcp.sendspace
net.inet.tcp.recvspace
net.inet.udp.recvspace
kern.ipc.nmbclusters
kern.ipc.nmbufs
?
>А можно увидеть значения
>net.inet.tcp.sendspace
>net.inet.tcp.recvspace
>net.inet.udp.recvspace
>kern.ipc.nmbclusters
>kern.ipc.nmbufsок, домой дойду, выложу. но проблема не в этом, первые 3 параметра имеют отношение к tcp и upd, а у меня даже пинги не идут (icmp). А остальные 2 в порядке, что и показывает netstat -m.
Я уже и фриху обновил до 4.8, тоже не помогло....
>
>Кто с такм сталкивался, помогите разобратся. Большое спасибо.
Надо патчить netgraph(ng_pptpgre.c)
Почитай архивы fido7.ru.unix.bsd на предмет "No buffer space available + mpd"
По-моему там как раз обсуждался такой случай.
Отвечал там на этот вопрос Sergey Korolew.
>
>Надо патчить netgraph(ng_pptpgre.c)
>Почитай архивы fido7.ru.unix.bsd на предмет "No buffer space available + mpd"забыл самое интересное: патчить надо на стороне сервера, на стороне клиента не поможет
>>
>>Надо патчить netgraph(ng_pptpgre.c)
>>Почитай архивы fido7.ru.unix.bsd на предмет "No buffer space available + mpd"
>
>забыл самое интересное: патчить надо на стороне сервера, на стороне клиента не
>поможетесли ты про это: http://groups.google.ru/groups?hl=ru&lr=&ie=UTF-8&oe=UTF-8&t...$2a6e$4@ddt.demos.su&frame=off
то я читал это. но тут идет применительно к радиокартам. А в моем случае не о какм радио и речи нет. :(((
У меня тоже трабла с подключением к провайдеру (FreeBSD 4.8, mpd 3.14; состороны прова линух и вроде бы poptop).
Подключение проходит нормально, но выхода за пределы сети прова нет. Однако пакеты начинают гулять во внешний мир, когда явно указываю при пинге ip интерфейса ng0 обратным адресом.
Попробовал ваш скрипт и получил тот же результат :)))Думаю, Вам стоит отказаться от содержимого up-script. У меня такое мнение, что проблема в том, что возникает петля в таблице маршрутизации (по крайней мере та же сиуация у меня возникала, когда я игрался с таблицей маршрутизации и получалась петля).
Вероятно решение проблемы не в том, чтобы поставить путем по умолчанию интерфейс ng0, создать альтернативный дефаултовый путь с другой мерикой. Именно так сделано под виндами, кстати.
Вот так выглядит часть таблицы маршрутизации у меня под виндами:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 10.0.111.186 10.0.111.186 1
0.0.0.0 0.0.0.0 10.22.5.1 10.22.5.3 2
10.0.0.111 255.255.255.255 10.22.5.1 10.22.5.3 1
10.0.111.186 255.255.255.255 127.0.0.1 127.0.0.1 1
................
10.255.255.255 255.255.255.255 10.0.111.186 10.0.111.186 1
10.255.255.255 255.255.255.255 10.22.5.3 10.22.5.3 1Тут 10.22.5.3 внутренний ip моей машины, а 10.0.111.186 - vpn интерфейс.
Тока я не могу догнать как добавить альтернативный маршрут с другой метрикой под фрихой :(((
Может подскажет кто?
Читать тут
http://www.netbynet.ru/forum/viewtopic.php?t=6102Все работает ...
>Читать тут
>http://www.netbynet.ru/forum/viewtopic.php?t=6102
>
>Все работает ...Эх... если б все было так просто. :(
Вся я это знаю и про линух знаю что он заголовки криво понимает и про конфиги я знаю, а вот No buffer space available так и остался..
>Эх... если б все было так просто. :(
>Вся я это знаю и про линух знаю что он заголовки криво
>понимает и про конфиги я знаю, а вот No buffer space
>available так и остался..Я сделал так:
iface-up.sh
#!/bin/sh
route add <ip vpn шлюза> <ip дефаулт шлюза>
route change default <ip ng0 интерфейса>iface-down.sh
#!/bin/sh
route delete default
route add default <ip дефаулт шлюза>И все работает... Правда я добавил еще статические пути до подсетей провайдера в iface-up.sh
оно самое, пасиб!