Jump to content
Калькуляторы

FreeBSD 10.0 MPD5.7 umtxn Клинит...

http://www.freebsd.org/cgi/query-pr.cgi?pr=186114

 

Кто-нибудь с подобным сталкивался?

 

 

I have BRAS on FreeBSD. It was 9.2 STABLE. I tried to update it up to 10.0 RELEASE, later tried to STABLE. On both variants I have the same problem.

 

Some time after start, around 5 minutes, it works normally. But after 100-150 users have connected trough PPPoE (MPD5.7) MPD process stops in state umtxn.

 

Of course, no one can connect after that. But who have already connected keeping work.

 

last pid: 17712; load averages: 1.16, 0.65, 0.27 up 0+00:01:51 05:28:23

50 processes: 1 running, 49 sleeping

CPU: 0.0% user, 0.0% nice, 1.0% system, 0.9% interrupt, 98.1% idle

Mem: 1162M Active, 56M Inact, 400M Wired, 145M Buf, 2274M Free

Swap: 4096M Total, 4096M Free

 

PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND

2535 root 1 20 0 201M 184M select 3 1:14 10.69% zebra

2476 _pflogd 1 20 0 14600K 2200K bpf 0 0:12 0.00% pflogd

2541 root 1 20 0 224M 206M select 2 0:07 0.00% bgpd

9803 root 1 20 0 78624K 44092K select 2 0:02 0.00% bsnmpd

3462 root 3 20 0 56736K 9164K umtxn 0 0:01 0.00% mpd5

7243 mysql 17 32 0 6958M 636M uwait 1 0:01 0.00% mysqld

6095 bind 7 20 0 129M 76864K kqread 1 0:01 0.00% named

3872 root 1 20 0 61124K 6808K select 1 0:00 0.00% nmbd

8644 root 3 20 0 47332K 6216K select 1 0:00 0.00% utm5_rfw

 

 

procstat -k 3462

PID TID COMM TDNAME KSTACK

3462 100113 mpd5 - mi_switch sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_lock_umutex __umtx_op_wait_umutex amd64_syscall Xfast_syscall

3462 100115 mpd5 - mi_switch sleepq_catch_signals sleepq_wait_sig _cv_wait_sig seltdwait sys_poll amd64_syscall Xfast_syscall

3462 100512 mpd5 - mi_switch sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep do_lock_umutex __umtx_op_wait_umutex amd64_syscall Xfast_syscall

 

 

 

/var/log/mpd.log

Jan 26 05:28:13 gw01 mpd: [b_ppp-46] IPCP: Up event

Jan 26 05:28:13 gw01 mpd: [b_ppp-46] IPCP: state change Starting --> Req-Sent

Jan 26 05:28:13 gw01 mpd: [b_ppp-46] IPCP: SendConfigReq #1

Jan 26 05:28:13 gw01 mpd: [b_ppp-46] IPADDR 10.10.0.1

Jan 26 05:28:13 gw01 mpd: [b_ppp-46] IPV6CP: Up event

Jan 26 05:28:13 gw01 mpd: [b_ppp-46] IPV6CP: state change Starting --> Req-Sent

Jan 26 05:28:13 gw01 mpd: [b_ppp-46] IPV6CP: SendConfigReq #1

Jan 26 05:28:13 gw01 mpd: [vlan6-107] LCP: rec'd Terminate Request #240 (Opened)

Jan 26 05:28:13 gw01 mpd: [vlan6-107] LCP: state change Opened --> Stopping

Jan 26 05:28:13 gw01 mpd: [vlan6-107] Link: Leave bundle "B_ppp-46"

 

It always stops with the same 3 last strings.

 

 

 

Jan 26 05:52:38 gw01 kernel: sonewconn: pcb 0xfffff80007757c40: Listen queue overflow:

4 already in queue awaiting acceptance

Jan 26 05:53:09 gw01 last message repeated 60 times

Jan 26 05:53:34 gw01 last message repeated 51 times

 

 

Kernel conf:

GENERIC +

device ipmi

device coretemp

device smbus

 

device lagg

device netmap

 

options IPI_PREEMPTION

 

options IPFIREWALL

options IPFIREWALL_VERBOSE

options IPDIVERT

options DUMMYNET

options IPFIREWALL_NAT

options LIBALIAS

 

device pf

device pflog

device pfsync

 

options ALTQ

options ALTQ_CBQ # Class Bases Queuing (CBQ)

options ALTQ_RED # Random Early Detection (RED)

options ALTQ_RIO # RED In/Out

options ALTQ_HFSC # Hierarchical Packet Scheduler (HFSC)

options ALTQ_PRIQ # Priority Queuing (PRIQ)

options ALTQ_NOPCC # Required for SMP build

 

options NETGRAPH

options NETGRAPH_BPF

options NETGRAPH_CAR

options NETGRAPH_ETHER

options NETGRAPH_IPFW

options NETGRAPH_IFACE

options NETGRAPH_KSOCKET

options NETGRAPH_PPP

options NETGRAPH_PPTPGRE

options NETGRAPH_PPPOE

options NETGRAPH_SOCKET

options NETGRAPH_TCPMSS

options NETGRAPH_TEE

options NETGRAPH_VJC

options NETGRAPH_MPPC_ENCRYPTION

options NETGRAPH_NETFLOW

 

 

 

CPU: Intel® Xeon® CPU X3470 @ 2.93GHz (2933.36-MHz K8-class CPU)

Origin = "GenuineIntel" Id = 0x106e5 Family = 0x6 Model = 0x1e Stepping = 5

Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>

Features2=0x98e3fd<SSE3,DTES64,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,POPCNT>

AMD Features=0x28100800<SYSCALL,NX,RDTSCP,LM>

AMD Features2=0x1<LAHF>

TSC: P-state invariant, performance statistics

real memory = 4294967296 (4096 MB)

avail memory = 4052344832 (3864 MB)

Event timer "LAPIC" quality 400

ACPI APIC Table: <INTEL S3420GPC>

FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs

FreeBSD/SMP: 1 package(s) x 4 core(s)

cpu0 (BSP): APIC ID: 0

cpu1 (AP): APIC ID: 2

cpu2 (AP): APIC ID: 4

cpu3 (AP): APIC ID: 6

 

 

I tried to get ktrace dump. But I could not open it.

ktrdump: kvm_nlist: No such file or directory

 

 

I think, It is something wrong with netgraph system.

Share this post


Link to post
Share on other sites

Была примерно похожая проблема, но на 9.1 вылечилось вот этим. Более 700 сессий не поднималось.

 

net.graph.maxdata=65536

net.graph.maxalloc=65536

 

 

 

http://www.freebsd.org/cgi/query-pr.cgi?pr=186114

 

Кто-нибудь с подобным сталкивался?

 

 

I have BRAS on FreeBSD. It was 9.2 STABLE. I tried to update it up to 10.0 RELEASE, later tried to STABLE. On both variants I have the same problem.

 

Some time after start, around 5 minutes, it works normally. But after 100-150 users have connected trough PPPoE (MPD5.7) MPD process stops in state umtxn.

 

 

 

I think, It is something wrong with netgraph system.

Edited by zlolotus

Share this post


Link to post
Share on other sites

Угу. На 9.2 этот тюнинг был, соответственно переполз.

Пробовал и весь тюнинг отключать и только нетграф оставлять.

Непонятно как он при удалении интерфейса в такое состояние загоняет процесс.

По описанию - вроде в какой-то лимит ядра упирается - но не знаю уже...

Share this post


Link to post
Share on other sites

Была примерно похожая проблема, но на 9.1 вылечилось вот этим. Более 700 сессий не поднималось.

 

net.graph.maxdata=65536

net.graph.maxalloc=65536

 

Пробовал и с net.graph.maxdata=65536 net.graph.maxalloc=65536 и без, 1500 сессий конектятся и работают, больше просто не нагружал. Потому как обнаружился другой глюк, после 2х-3х часов ночи начинают умирать торенты, при попытке качнуть что то большое, нормально качает 20-30 секунд потом скорость падает почти до нуля, останавливаю закачку и запускаю снова опять 20-30 секунд качает и умирает. Страницы при этом открываются нормально, после reboot-а становится нормально. Но в течении дня и в час пик все летает. А рядом такой же тазик на 9.0 нормально работает.

Edited by lytnev

Share this post


Link to post
Share on other sites

Снимайте сессию через pcap|tcpdump в такой момент и анализируйте.

Share this post


Link to post
Share on other sites

По плавному сдыханию больше похоже на шейп или нат....

Share this post


Link to post
Share on other sites

По плавному сдыханию больше похоже на шейп или нат....

IMHO очень похоже на шейп, но удаление правил фаирвола или его перезапуск ничего не дает. перезапуск пф ната тоже ничего не дал.

Дампов наснимал на первый взгляд ничего подозрительного, пойду высплюсь и внимательно посмотрю.

Share this post


Link to post
Share on other sites

gdb mpd5 3645
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "amd64-marcel-freebsd"...(no debugging symbols found)...
Attaching to program: /usr/local/sbin/mpd5, process 3645
Reading symbols from /usr/lib/libwrap.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libwrap.so.6
Reading symbols from /usr/lib/libpam.so.5...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libpam.so.5
Reading symbols from /lib/libcrypt.so.5...(no debugging symbols found)...done.
Loaded symbols for /lib/libcrypt.so.5
Reading symbols from /usr/lib/libnetgraph.so.4...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libnetgraph.so.4
Reading symbols from /lib/libutil.so.9...(no debugging symbols found)...done.
Loaded symbols for /lib/libutil.so.9
Reading symbols from /usr/lib/libradius.so.4...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libradius.so.4
Reading symbols from /usr/lib/libssl.so.7...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libssl.so.7
Reading symbols from /lib/libpcap.so.8...(no debugging symbols found)...done.
Loaded symbols for /lib/libpcap.so.8
Reading symbols from /usr/lib/libfetch.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libfetch.so.6
Reading symbols from /lib/libcrypto.so.7...(no debugging symbols found)...done.
Loaded symbols for /lib/libcrypto.so.7
Reading symbols from /lib/libthr.so.3...(no debugging symbols found)...done.
[New Thread 80340ec00 (LWP 100390/mpd5)]
[New Thread 803020400 (LWP 100120/mpd5)]
[New Thread 802c06800 (LWP 100119/mpd5)]
Loaded symbols for /lib/libthr.so.3
Reading symbols from /lib/libc.so.7...(no debugging symbols found)...done.
Loaded symbols for /lib/libc.so.7
Reading symbols from /libexec/ld-elf.so.1...(no debugging symbols found)...done.
Loaded symbols for /libexec/ld-elf.so.1
[switching to Thread 80340ec00 (LWP 100390/mpd5)]
0x0000000801fc089a in __error () from /lib/libthr.so.3
(gdb) bt
#0  0x0000000801fc089a in __error () from /lib/libthr.so.3
#1  0x0000000801fbb79d in pthread_mutex_destroy () from /lib/libthr.so.3
#2  0x00000008022dea9a in vsyslog () from /lib/libc.so.7
#3  0x00000000004487c7 in ?? ()
#4  0x00000000004486e2 in ?? ()
#5  0x000000000045123c in ?? ()
#6  0x0000000000426534 in ?? ()
#7  0x000000000045d1b6 in ?? ()
#8  0x0000000801fb54a4 in pthread_create () from /lib/libthr.so.3
#9  0x00007fffff5fc000 in ?? ()
Error accessing memory address 0x7fffff7fc000: Bad address.
(gdb) where
#0  0x0000000801fc089a in __error () from /lib/libthr.so.3
#1  0x0000000801fbb79d in pthread_mutex_destroy () from /lib/libthr.so.3
#2  0x00000008022dea9a in vsyslog () from /lib/libc.so.7
#3  0x00000000004487c7 in ?? ()
#4  0x00000000004486e2 in ?? ()
#5  0x000000000045123c in ?? ()
#6  0x0000000000426534 in ?? ()
#7  0x000000000045d1b6 in ?? ()
#8  0x0000000801fb54a4 in pthread_create () from /lib/libthr.so.3
#9  0x00007fffff5fc000 in ?? ()
Error accessing memory address 0x7fffff7fc000: Bad address.
(gdb) quit

 

Есть идеи?

Share this post


Link to post
Share on other sites

И вообще, кто-нибудь уже пробовал погонять 10-ку с MPD хотя бы на 200+ пользователях?

М.б. у меня вообще частная проблема...

Edited by Hawk128

Share this post


Link to post
Share on other sites

И вообще, кто-нибудь уже пробовал погонять 10-ку с MPD хотя бы на 200+ пользователях?

Ну так я гонял MPD + ipfw шепер + pf нат, 900 минимум 1500 в пике, пять дней кроме выше описанного глюка со скоростью не замечено.

В ночь с пятницы на субботу пытался удаленно перезапустить сетевые службы ./netif restart && ./routing restart в итоге потерял доступ к серверу :(

Share this post


Link to post
Share on other sites

Ок. Этот момент упустил.

У меня точно такой же комплект, + ng_netflow только еще сделано отдельно.

Можешь выложить свои конфиги MPD и тюнинга.

Попробую догнать, где косяк...

Share this post


Link to post
Share on other sites

У меня точно такой же комплект, + ng_netflow только еще сделано отдельно.

Можешь выложить свои конфиги MPD и тюнинга.

Попробую догнать, где косяк...

 

С конфигами особо не заморачивался, нагрузка небольшая, net.graph.maxalloc=65536 net.graph.maxdata=65536 и некоторые другие настройки sysctl потом добавил два дня без них работало.

 

 

loader.conf

hw.igb.rxd=4096
hw.igb.txd=4096
hw.igb.max_interrupt_rate=32000
net.graph.maxalloc=65536
net.graph.maxdata=65536

 

sysctl.conf

net.inet.ip.dummynet.hash_size=16384
net.inet.ip.fw.dyn_buckets=4096
kern.ipc.somaxconn=8192
net.inet.ip.fw.one_pass=0
net.inet.ip.dummynet.pipe_slot_limit=1024
net.inet.ip.dummynet.io_fast=1
net.inet.ip.intr_queue_maxlen=8192

net.graph.recvspace=1024000

#DDOS
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
net.inet.tcp.drop_synfin=1
net.inet.tcp.syncookies=1
net.inet.icmp.drop_redirect=1
net.inet.icmp.log_redirect=0
net.inet.ip.redirect=0
net.inet.ip.fastforwarding=1

 

mpd.conf

startup:
# configure mpd users
# Задаем пароль для доступа в web-intarface
# т.е меняем password на свой пароль
set user mpdadmin password mpdpass
# set user password cancer
# configure the console
set console self 127.0.0.1 5005
set console open
set netflow peer 172.16.0.2 9996
set netflow timeouts 10 10
###     set netflow node netflow
# configure the web server
#	set web self 0.0.0.0 5006
#        set web open

default:
load pptp_server

pptp_server:
create bundle template B
set iface enable proxy-arp
set iface enable netflow-in
set iface enable netflow-out
set iface idle 0
set iface enable tcpmssfix
set ipcp yes vjcomp
# IP адрес сервера, который мы будем показывать клиентам
# в моем случае 192.168.10.255 (т.е левый IP)
#        set ipcp ranges 192.168.10.250/32 ippool poolsat
# Если есть свой ДНС сервер, то меняем IP адрес
set ipcp dns 8.8.4.4 8.8.8.8
       log -frame -fsm -lcp -echo -ipv6cp -radius -auth -bund -iface -ipcp -link -phys
#	log ALL
create link template L pptp
set link enable multilink
set link yes acfcomp protocomp
set link yes peer-as-calling
set link yes report-mac
set link action bundle B
set link no pap chap
set link enable chap
#        set link enable chap-msv1
#        set link enable chap-msv2
set radius config /usr/local/etc/mpd5/radius.conf


set radius server 172.16.0.2 radsecpass 1812 1813
set radius retries 3
set radius timeout 3
set radius me 172.16.0.2
set auth acct-update 300
set auth enable radius-auth
set auth enable radius-acct
set link keep-alive 10 75

# Configure PPTP and open link
# Тут указываем IP сетевой карты которая смотрит в ИНЕТ
#        set pptp self 172.16.16.16
set link enable incoming

Share this post


Link to post
Share on other sites

Хм.

Здесь нет PPPoE. А у меня на нем то и клинит как раз. Это уже хорошо, круг сужается.

 

Я в свое время вынес нетфлоу в отдельную ноду - значительно помогло, т.к. MPD под каждое соединение генерил несколько нод под нетфлоу, не слишком это хорошо.

Share this post


Link to post
Share on other sites

Здесь нет PPPoE. А у меня на нем то и клинит как раз. Это уже хорошо, круг сужается.

Ну да PPTP уменя, упустил с недосыпа.

Круг сужается это хорошо, у меня пока никаких идей, поставить что ли пока 9-ку чтоб убедится что глюк в 10-ке, а не в чем то другом,

хотя не представляю как может железо глючить в 2-3 часа ночи, а в остальное время работать нормально.

Причем, когда сервер стоял совсем без нагрузки 5-6 человек такой беды замечено не было.

 

Я в свое время вынес нетфлоу в отдельную ноду - значительно помогло, т.к. MPD под каждое соединение генерил несколько нод под нетфлоу, не слишком это хорошо.

Я знаю эту беду, но лень было, добиться бы стабильной работы.

Edited by lytnev

Share this post


Link to post
Share on other sites

На девятке , на этом же железе , с теми же конфигами MPD5 PPTP работает без проблем.

На десятке , на другом железе , получил тот же глюк со скоростью (Сообщение #4)

Создалось впечатление что проблема возникает после уменьшения количества сессий на 500 с копейками, когда разница между пиковым количеством сессий и минимальным была меньше 500(740/400), глюка не возникло(в прочем одна ночь не показатель).

Share this post


Link to post
Share on other sites

И вообще, кто-нибудь уже пробовал погонять 10-ку с MPD хотя бы на 200+ пользователях?

М.б. у меня вообще частная проблема...

 

да.... 11-current

450+ подключений на /27 подсети

все под натом ( pf )

ipv4 + ipv6

Share this post


Link to post
Share on other sites

Везучий.

У меня и pf nat начал глючить, в ступор какой-то впадать. И мпд висла.

С мпд - поменял сервак, вроде пашет.

НАТ вывел на линух - очень позитивно вышло.

Share this post


Link to post
Share on other sites

всё очень просто

после 7.2 фряху начали "тюнить"

в pf появилась проблема в количестве состояний, на что Glebius выпустил патчик для pf

у меня в середине ноября была просто паника из-за этого : топоый 8 ядерный проц (2650) с 9.2 работал хуже некуда и я просто вопил на форумах....и.... тишина. и всё говорят о чем угодно, а не о проблеме.

и я начал читать, какие патчи выкладывают в инет...

в 11-каррент это уже решено.

 

ревизии 258480 и 259719

 

--- head/sys/netpfil/pf/pf_ioctl.c 2013/11/22 19:16:34 258479

+++ head/sys/netpfil/pf/pf_ioctl.c 2013/11/22 19:22:26 258480

 

--- head/sys/netpfil/pf/pf.c 2013/12/22 11:41:26 259718

+++ head/sys/netpfil/pf/pf.c 2013/12/22 12:10:36 259719

 

дальнейшие

--- head/sbin/pfctl/Makefile 2013/12/26 14:25:37 259915

+++ head/sbin/pfctl/Makefile 2013/12/26 15:51:14 259916

 

 

в либалиасе ipfw nat стоит лимит в 4000 состояний

Share this post


Link to post
Share on other sites

Хм. Спасибо за информацию. Чуть бы раньше.

Сейчас увел НАТ на линух. По поведению и подсказкам хороших людей - должен до 10Г на простом серваке вытащить.

Share this post


Link to post
Share on other sites

Хм. Спасибо за информацию. Чуть бы раньше.

Сейчас увел НАТ на линух. По поведению и подсказкам хороших людей - должен до 10Г на простом серваке вытащить.

 

а на линухе как нат прописывается?

 

можно примерчик... может тоже попробую сделать

Share this post


Link to post
Share on other sites

Хм. Спасибо за информацию. Чуть бы раньше.

Сейчас увел НАТ на линух. По поведению и подсказкам хороших людей - должен до 10Г на простом серваке вытащить.

 

а на линухе как нат прописывается?

 

можно примерчик... может тоже попробую сделать

Тоже nat вынес на linux, хотя проблем с PF не испытывал в свое время.

 

пример ната на линуксе

 



IN_IFACE="eth0"
IN_IFACE_290="eth0.290"
OUT_IFACE2="eth4.811" #Uplink 

IPTABLES=`which iptables`


case "start" in

start)
echo 1 > /proc/sys/net/ipv4/ip_forward
   #For GRE PPTP    
   /sbin/modprobe nf_nat_pptp
   /sbin/modprobe nf_conntrack_proto_gre
   /sbin/modprobe nf_conntrack_pptp

   $IPTABLES -P INPUT DROP
   $IPTABLES -P OUTPUT ACCEPT
   $IPTABLES -P FORWARD ACCEPT


   $IPTABLES -F
   $IPTABLES -X
   $IPTABLES -t nat -F
   $IPTABLES -t mangle -F
   $IPTABLES -t mangle -X
   $IPTABLES -t filter -F
   $IPTABLES -t filter -X

   $IPTABLES -N bad_tcp_packets
   $IPTABLES -N tcp_packets
   $IPTABLES -N udp_packets
   $IPTABLES -N icmp_packets
   $IPTABLES -t filter -N blocking_udp
   $IPTABLES -t filter -N blocking_tcp

   $IPTABLES -A INPUT -i lo -j ACCEPT
   $IPTABLES -A OUTPUT -o lo -j ACCEPT

   #$IPTABLES -A INPUT -i $IN_IFACE_290 -j ACCEPT
   #$IPTABLES -A OUTPUT -o $IN_IFACE_290 -j ACCEPT

# SSH allow
   #
   $IPTABLES -A tcp_packets -p TCP -i $IN_IFACE_290  -s 172.29.0.200/32 --dport 22 -j ACCEPT

   $IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 0 -j ACCEPT
   $IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 3 -j ACCEPT
   $IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 4 -j ACCEPT
   $IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT
   $IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 12 -j ACCEPT
   $IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT

 $IPTABLES -A INPUT -p TCP -j bad_tcp_packets
$IPTABLES -A INPUT -p ALL  -i $IN_IFACE_290  -m state --state ESTABLISHED,RELATED -j ACCEPT
   $IPTABLES -A INPUT -p TCP  -i $IN_IFACE_290 -j tcp_packets
   $IPTABLES -A INPUT -p UDP  -i $IN_IFACE_290 -j udp_packets
   $IPTABLES -A INPUT -p ICMP -i $IN_IFACE_290 -j icmp_packets


   $IPTABLES -A INPUT -p ALL  -i $IN_IFACE  -m state --state ESTABLISHED,RELATED -j ACCEPT
   $IPTABLES -A INPUT -p TCP  -i $IN_IFACE  -j tcp_packets
   $IPTABLES -A INPUT -p UDP  -i $IN_IFACE  -j udp_packets
   $IPTABLES -A INPUT -p ICMP -i $IN_IFACE  -j icmp_packets

   $IPTABLES -A INPUT -p ALL  -i $IN_IFACE2  -m state --state ESTABLISHED,RELATED -j ACCEPT
   $IPTABLES -A INPUT -p TCP  -i $IN_IFACE2  -j tcp_packets
   $IPTABLES -A INPUT -p UDP  -i $IN_IFACE2  -j udp_packets
   $IPTABLES -A INPUT -p ICMP -i $IN_IFACE2  -j icmp_packets


#NAT PPPoE 
ifconfig $OUT_IFACE2:1 31.210.x.1 netmask 255.255.255.255
ifconfig $OUT_IFACE2:2 31.210.x.2 netmask 255.255.255.255
ifconfig $OUT_IFACE2:3 31.210.x.3 netmask 255.255.255.255
ifconfig $OUT_IFACE2:4 31.210.x.4 netmask 255.255.255.255
ifconfig $OUT_IFACE2:5 31.210.x.5 netmask 255.255.255.255
ifconfig $OUT_IFACE2:6 31.210.x.6 netmask 255.255.255.255
ifconfig $OUT_IFACE2:7 31.210.x.7 netmask 255.255.255.255
ifconfig $OUT_IFACE2:8 31.210.x.8 netmask 255.255.255.255
ifconfig $OUT_IFACE2:9 31.210.x.9 netmask 255.255.255.255


$IPTABLES -t nat -A POSTROUTING -o $OUT_IFACE2 -s 172.30.0.0/23  -j SNAT --to-source 31.210.x.1
$IPTABLES -t nat -A POSTROUTING -o $OUT_IFACE2 -s 172.30.2.0/23  -j SNAT --to-source 31.210.x.2
$IPTABLES -t nat -A POSTROUTING -o $OUT_IFACE2 -s 172.30.4.0/23  -j SNAT --to-source 31.210.x.3
$IPTABLES -t nat -A POSTROUTING -o $OUT_IFACE2 -s 172.30.6.0/23 -j SNAT --to-source 31.210.x.4
$IPTABLES -t nat -A POSTROUTING -o $OUT_IFACE2 -s 172.30.8.0/23 -j SNAT --to-source 31.210.x.5
$IPTABLES -t nat -A POSTROUTING -o $OUT_IFACE2 -s 172.30.10.0/23 -j SNAT --to-source 31.210.x.6
$IPTABLES -t nat -A POSTROUTING -o $OUT_IFACE2 -s 172.30.12.0/23 -j SNAT --to-source 31.210.x.7
$IPTABLES -t nat -A POSTROUTING -o $OUT_IFACE2 -s 172.30.14.0/23 -j SNAT --to-source 31.210.x.8
$IPTABLES -t nat -A POSTROUTING -o $OUT_IFACE2 -s 172.30.16.0/23 -j SNAT --to-source 31.210.x.9

   ;;
stop)
   ;;
*)
   echo "Usage: start,stop"
   exit 1
   ;;
esac

exit 0

Edited by roysbike

Share this post


Link to post
Share on other sites

А кто нибудь решил первоначальную проблему с FreeBSD 10 и mpd 5.7 ? Или только откатывать на 9.2?

У меня после обновления до 10.0 тоже стали появляться такие зависания с umtxn. Никак не могу вычислить зависимость. Может зависнуть в час пик когда много сессий и наоборот рано утром когда нагрузка минимальна.

Share this post


Link to post
Share on other sites

После ряда обновлений до стебла + замены сервака (как раз по плану уже была, совпало.) проблема ушла.

На данный момент не клинит. Причину найти так и не удалось.

Share this post


Link to post
Share on other sites

После ряда обновлений до стебла + замены сервака (как раз по плану уже была, совпало.)

До стебла какого, можно uname -a?

И что значит до замены сервака?

У меня сейчас совершенно новый сервак, поставил последний стабл 10, поднял мпд 5.7, PPTP и L2TP сессии, так вот при количестве сессий овер 250 тоже наблюдается такое зависание мпд (не реагирует ни на что, в логи не пишет, на консоль по порту 5005 не откликается). Куда уже копать даже хз.

Edited by polmax

Share this post


Link to post
Share on other sites

В рассылке рекомендуют использовать шейпер ng_car

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this