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

Free BSD 10.0 + mpd5.7 частые ребуты

Всем доброго времени суток. Имеется сервер(i5-4460 3.20GHz, 8gb ram, 2х портовая гигабитная карточка Intel) на базе FreeBSD 10.0-RELEASE amd64, который используется в качестве NAS. На сервере поднят mpd5.7(ставил из портов, модули вкомпилены в ядро) для терминации pppoe и рекурсивный dns (bind9.8), проблема заключается в том что сервер примерно раз в два дня уходит в ребут, при этом в логах нет ничего подозрительного. Перезагрузка может произойти как в пиковые часы (~750 одновременных подключений), так и нет (~350-400 одновр. подкл.). Вот некоторые конфиги:

 

/boot/loader.conf:

 

autoboot_delay="3"

net.isr.defaultqlimit=4096

net.link.ifqmaxlen=10240

kern.maxusers=2048

 

/etc/sysctl.conf:

 

net.route.netisr_maxqlen=4096

 

kern.ipc.maxsockbuf=10485760

net.graph.maxdgram=1200000

net.graph.recvspace=1200000

 

net.inet.tcp.blackhole=2

net.inet.udp.blackhole=1

net.inet.icmp.icmplim=100

 

Ядро собрано со следующими опциями:

 

options IPFIREWALL

options IPFIREWALL_DEFAULT_TO_ACCEPT

options DUMMYNET

 

options NETGRAPH

options NETGRAPH_PPPOE

options NETGRAPH_ETHER

options NETGRAPH_CAR

options NETGRAPH_IPFW

options NETGRAPH_SOCKET

options NETGRAPH_TEE

options NETGRAPH_IFACE

options NETGRAPH_PPP

options NETGRAPH_TCPMSS

options NETGRAPH_BPF

options NETGRAPH_MPPC_ENCRYPTION

options NETGRAPH_MPPC_COMPRESSION

 

options IPFILTER

options IPFILTER_LOG

options IPDIVERT

 

mpd.conf:

 

startup:

set user xxxx xxxxx admin

set console self x.x.x.x 5005

set console open

# Radius CoA/PoD

set radsrv peer x.x.x.x xxxxxx

set radsrv self x.x.x.x 3799

set radsrv open

 

default:

load pppoe_server

load /usr/local/etc/mpd5/filters.conf filters

 

pppoe_server:

create bundle template B

set iface idle 0

set iface enable tcpmssfix proxy-arp

set ipcp no vjcomp

set ipcp ranges x.x.x.x ippool pool1

set ipcp dns x.x.x.x

 

### PPPOE on em1

 

create link template L pppoe

set link action bundle B

set pppoe acname "bras1"

set pppoe iface em1

set pppoe service "*"

load server_common

 

### PPPOE on vlan2

create link template L1 pppoe

set link action bundle B

set pppoe acname "bras1"

set pppoe iface vlan2

set pppoe service "*"

load server_common

 

### PPPOE on vlan3

create link template L2 pppoe

set link action bundle B

set pppoe acname "bras1"

set pppoe iface vlan3

set pppoe service "*"

load server_common

 

### PPPOE on vlan4

create link template L3 pppoe

set link action bundle B

set pppoe acname "bras1"

set pppoe iface vlan4

set pppoe service "*"

load server_common

 

### PPPOE on vlan6

create link template L4 pppoe

set link action bundle B

set pppoe acname "bras1"

set pppoe iface vlan6

set pppoe service "*"

load server_common

 

server_common:

set link no pap eap

set link yes chap-md5

set link keep-alive 20 60

set link enable incoming

set link no acfcomp protocomp

 

load radius

 

radius:

set radius server x.x.x.x xxxxxx 1812 1813

set radius config /etc/radius.conf

set radius retries 3

set radius timeout 10

set auth acct-update 300

set auth enable radius-auth

set auth enable radius-acct

set auth disable internal

 

Подскажите пожалуйста в чем может быть причина ребута?

Share this post


Link to post
Share on other sites

Попробуйте devd демона вырубить.

 

options IPFILTER options IPFILTER_LOG options IPDIVERT

Это то зачем?

 

options IPFIREWALL options IPFIREWALL_DEFAULT_TO_ACCEPT options DUMMYNET options NETGRAPH options NETGRAPH_PPPOE options NETGRAPH_ETHER options NETGRAPH_CAR options NETGRAPH_IPFW options NETGRAPH_SOCKET options NETGRAPH_TEE options NETGRAPH_IFACE options NETGRAPH_PPP options NETGRAPH_TCPMSS options NETGRAPH_BPF options NETGRAPH_MPPC_ENCRYPTION options NETGRAPH_MPPC_COMPRESSION

Оно модулями само подгружается.

А для включения шифрования этого мало, ещё требуется make файл править, и кажется закидывать пару файлов-исходников.

Share this post


Link to post
Share on other sites

Попробуйте devd демона вырубить.

 

options IPFILTER options IPFILTER_LOG options IPDIVERT

Это то зачем?

 

options IPFIREWALL options IPFIREWALL_DEFAULT_TO_ACCEPT options DUMMYNET options NETGRAPH options NETGRAPH_PPPOE options NETGRAPH_ETHER options NETGRAPH_CAR options NETGRAPH_IPFW options NETGRAPH_SOCKET options NETGRAPH_TEE options NETGRAPH_IFACE options NETGRAPH_PPP options NETGRAPH_TCPMSS options NETGRAPH_BPF options NETGRAPH_MPPC_ENCRYPTION options NETGRAPH_MPPC_COMPRESSION

Оно модулями само подгружается.

А для включения шифрования этого мало, ещё требуется make файл править, и кажется закидывать пару файлов-исходников.

 

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

Share this post


Link to post
Share on other sites

Собрал, понаблюдаю, о результатах отпишусь.

Share this post


Link to post
Share on other sites

Попробуйте без IPFILTER, IPFILTER_LOG, IPDIVERTи без INET6.

Вроде помогло, сервер уже 2 недели не ребутится, большое Вам спасибо)!

Share this post


Link to post
Share on other sites

а я ipv6 давно раздаю. от него, посоветуете отказаться?

 

и заодно

 

когда-то народ придумывал патч

http://lists.freebsd.org/pipermail/freebsd-pf/2011-July/006225.html

его реализовали?

 

и чем может мешать ipdivert?

Share this post


Link to post
Share on other sites

На IPoE с в6 проблем быть не должно.

 

Насколько я знаю - нет, но вопросом не интересовался.

 

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

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