Страница 1 из 1

Прошу помощи по mpd4

Добавлено: 2007-10-24 8:52:59
Nikotinych
Случилась беда понадобилось в конторе поднять шлюз с подсчетом трафика но так чтобы это было бесплатно и не на винде
так вот выбрал mpd пересобрал ядро с Netgraph, устанавливал все из портов....
запускаю я Mpd, пытаюсь приконектица из винды говорит "ошибка 800: не удалось создать подключение, сервер не доступен"

привожу конфиги:

Код: Выделить всё

Mpd.conf
default:
        load    pptp00
pptp00:
        new     -i      ng0     pptp00  pptp00
        load    pptp_all
pptp_all:
set     ipcp    ranges  192.168.0.1/32  192.168.0.0/24
set     iface   disable on-demand
set     bundle  disable multilink
set     link    yes     acfcomp protocomp
set     link    no      pap     chap
set     link    enable  chap
set     link    keep-alive      60      180
set     ipcp    yes     vjcomp
set     ccp     yes     mppc
set     ccp     yes     mpp-e40
set     ccp     yes     mpp-e128
set     ccp     yes     mpp-stateless
set     bundle  yes     crypt-reqd
set     pptp    self    192.168.1.252
set     pptp    enable  incoming
set     pptp    disable originate
set     radius  server  127.0.0.1       radius  1812    1813
set     radius  timeout 10
set     radius  config  /usr/local/etc/raddb/radiusd.conf
set     radius  retries 3
set     auth    acct-update     300
set     auth    enable  radius-auth
set     auth    enable  radius-acct

Код: Выделить всё

mpd.links

pptp0:
        set     link    type    pptp
        set     pptp    disable delayed-ack
        set     pptp    disable windowing
в логи записывает вот такое

Код: Выделить всё

mpd.log
Oct 24 09:24:30 webserv mpd: mpd: pid 682, version 4.0b4 (root@webserv.college 12:25 15-Oct-2007)
Oct 24 09:24:30 webserv mpd: [pptp00] ppp node is "mpd682-pptp00"
Oct 24 09:24:30 webserv mpd: tcpmss node is "mpd682-mss"
Oct 24 09:24:30 webserv mpd: [pptp00] using interface ng0

Re: Прошу помощи по mpd4

Добавлено: 2007-10-24 11:38:00
schizoid
После pptp_all: тоже все строки с ТАБа нуно.

Re: Прошу помощи по mpd4

Добавлено: 2007-10-24 13:17:43
Nikotinych
Да ставил я и табы там все равно не работает......
наверное руки кривые

Re: Прошу помощи по mpd4

Добавлено: 2007-10-24 13:47:28
squid
вот рабочий конфиг

Код: Выделить всё

default:
    load pptp0
pptp0:
    new -i ng0 pptp0 pptp0
    set ipcp ranges 192.168.71.9/32 192.168.71.100/32
    load pptp_standart

pptp_standart:
    set iface disable on-demand
    set iface enable tcpmssfix
    set iface route default
    set bundle enable multilink
    set link yes acfcomp protocomp
    set link no pap chap
    set link enable chap
    set link keep-alive 60 180
    set ipcp yes vjcomp
    set ipcp dns 10.12.0.3
    set ipcp nbns 10.12.0.3
    set iface enable proxy-arp
    set bundle enable compression
    set ccp yes mppc
    set ccp yes mpp-e40
    set ccp yes mpp-e56
    set ccp yes mpp-e128
    set ccp yes mpp-stateless
    set bundle yes crypt-reqd
    set pptp self 0.0.0.0
    set pptp enable incoming
    set pptp disable originate
    set radius server 192.168.71.9 radpass 1812 1813
    set radius timeout 10
    set radius config /etc/radius.conf
    set radius retries 3
    set bundle enable radius-acct
    set bundle enable radius-auth
    set ipcp yes radius-ip
open

Код: Выделить всё

# cat mpd.links
pptp0:
    set link type pptp

Re: Прошу помощи по mpd4

Добавлено: 2007-10-24 15:16:38
Nikotinych
squid Огромное тебе спасибо теперь он конетица!
тока новая проблема он приконектился и вылетает тогда когда проверяет пароль?
посмотрел sockstat'ом слушает ли радиус порты

Код: Выделить всё

root     radiusd    575   3  udp4   *:1812                *:*
root     radiusd    575   4  udp4   *:1813                *:*
radtest
говорит так:

Код: Выделить всё

Sending Access-Request of id 219 to 127.0.0.1 port 1812
        User-Name = "abigor"
        User-Password = "mypass"
        NAS-IP-Address = 255.255.255.255
        NAS-Port = 0
rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=219, length=38
        Framed-IP-Address = 192.168.1.13
        Framed-IP-Netmask = 255.255.255.255
        Framed-Protocol = PPP
в чем может быть проблема?

Re: Прошу помощи по mpd4

Добавлено: 2007-10-24 15:32:49
schizoid
логи при подключении покажи

Re: Прошу помощи по mpd4

Добавлено: 2007-10-24 15:33:27
squid
в студию
cat /etc/radius.conf
или какой у тебя файл ?

Re: Прошу помощи по mpd4

Добавлено: 2007-10-24 16:05:58
Nikotinych
log'и

Код: Выделить всё

Wed Oct 24 16:54:58 2007 : Info: Using deprecated naslist file.  Support for this will go away soon.
Wed Oct 24 16:54:58 2007 : Info: Using deprecated clients file.  Support for this will go away soon.
Wed Oct 24 16:54:58 2007 : Info: rlm_exec: Wait=yes but no output defined. Did you mean output=none?
Wed Oct 24 16:54:58 2007 : Info: rlm_sql (sql): Driver rlm_sql_mysql (module rlm_sql_mysql) loaded and linked
Wed Oct 24 16:54:58 2007 : Info: rlm_sql (sql): Attempting to connect to radius@127.0.0.1:/radius
Wed Oct 24 16:54:58 2007 : Info: rlm_sql_mysql: Starting connect to MySQL server for #0
Wed Oct 24 16:54:58 2007 : Info: rlm_sql_mysql: Starting connect to MySQL server for #1
Wed Oct 24 16:54:58 2007 : Info: rlm_sql_mysql: Starting connect to MySQL server for #2
Wed Oct 24 16:54:58 2007 : Info: rlm_sql_mysql: Starting connect to MySQL server for #3
Wed Oct 24 16:54:58 2007 : Info: rlm_sql_mysql: Starting connect to MySQL server for #4
Wed Oct 24 16:54:58 2007 : Info: Ready to process requests.
Radiusd.conf

Код: Выделить всё

prefix = /usr/local
exec_prefix = ${prefix}
sysconfdir = ${prefix}/etc
localstatedir = /var
sbindir = ${exec_prefix}/sbin
logdir = /var/log
raddbdir = ${sysconfdir}/raddb
radacctdir = ${logdir}/radacct
confdir = ${raddbdir}
run_dir = ${localstatedir}/run/radiusd
log_file = ${logdir}/radius.log
libdir = ${exec_prefix}/lib
pidfile = ${run_dir}/radiusd.pid
max_request_time = 30
delete_blocked_requests = no
cleanup_delay = 5
max_requests = 1024
bind_address = *
port = 0
hostname_lookups = no
allow_core_dumps = no
regular_expressions	= yes
extended_expressions	= yes
log_stripped_names = yes
log_auth = yes
log_auth_badpass = yes
log_auth_goodpass = no
usercollide = no
lower_user = no
lower_pass = no
nospace_user = no
nospace_pass = no
security {
	max_attributes = 200
	reject_delay = 1
	status_server = no
}
proxy_requests  = yes
$INCLUDE  ${confdir}/proxy.conf
$INCLUDE  ${confdir}/clients.conf
snmp	= no
$INCLUDE  ${confdir}/snmp.conf
thread pool {
	start_servers = 5
	max_servers = 32
	min_spare_servers = 3
	max_spare_servers = 10
	max_requests_per_server = 0
}
modules {
	pap {
		encryption_scheme = crypt
	}
	chap {
		authtype = CHAP
	}
	pam {
		pam_auth = radiusd
	}
	unix {
		cache = no
		cache_reload = 600
		radwtmp = ${logdir}/radwtmp
	}
$INCLUDE ${confdir}/eap.conf
	mschap {
	}
	ldap {
		server = "ldap.your.domain"
		basedn = "o=My Org,c=UA"
		filter = "(uid=%{Stripped-User-Name:-%{User-Name}})"
		start_tls = no
		access_attr = "dialupAccess"
		dictionary_mapping = ${raddbdir}/ldap.attrmap
		ldap_connections_number = 5
		timeout = 4
		timelimit = 3
		net_timeout = 1
	}
	realm IPASS {
		format = prefix
		delimiter = "/"
		ignore_default = no
		ignore_null = no
	}

	realm suffix {
		format = suffix
		delimiter = "@"
		ignore_default = no
		ignore_null = no
	}
	realm realmpercent {
		format = suffix
		delimiter = "%"
		ignore_default = no
		ignore_null = no
	}
	realm ntdomain {
		format = prefix
		delimiter = "\\"
		ignore_default = no
		ignore_null = no
	}	
	checkval {
		item-name = Calling-Station-Id
		check-name = Calling-Station-Id
		data-type = string
	}
	preprocess {
		huntgroups = ${confdir}/huntgroups
		hints = ${confdir}/hints
		with_ascend_hack = no
		ascend_channels_per_line = 23
		with_ntdomain_hack = no
		with_specialix_jetstream_hack = no
		with_cisco_vsa_hack = no
	}
	files {
		usersfile = ${confdir}/users
		acctusersfile = ${confdir}/acct_users
		preproxy_usersfile = ${confdir}/preproxy_users
		compat = no
	}
	detail {
		detailfile = ${radacctdir}/%{Client-IP-Address}/detail-%Y%m%d
		detailperm = 0600
	}
	sql_log {
		path = ${radacctdir}/sql-relay
		acct_table = "radacct"
		postauth_table = "radpostauth"

		Start = "INSERT INTO ${acct_table} (AcctSessionId, UserName, \
		 NASIPAddress, FramedIPAddress, AcctStartTime, AcctStopTime, \
		 AcctSessionTime, AcctTerminateCause) VALUES                 \
		 ('%{Acct-Session-Id}', '%{User-Name}', '%{NAS-IP-Address}', \
		 '%{Framed-IP-Address}', '%S', '0', '0', '');"
		Stop = "INSERT INTO ${acct_table} (AcctSessionId, UserName,  \
		 NASIPAddress, FramedIPAddress, AcctStartTime, AcctStopTime, \
		 AcctSessionTime, AcctTerminateCause) VALUES                 \
		 ('%{Acct-Session-Id}', '%{User-Name}', '%{NAS-IP-Address}', \
		 '%{Framed-IP-Address}', '0', '%S', '%{Acct-Session-Time}',  \		 '%{Acct-Terminate-Cause}');"
		Alive = "INSERT INTO ${acct_table} (AcctSessionId, UserName, \
		 NASIPAddress, FramedIPAddress, AcctStartTime, AcctStopTime, \
		 AcctSessionTime, AcctTerminateCause) VALUES                 \
		 ('%{Acct-Session-Id}', '%{User-Name}', '%{NAS-IP-Address}', \
		 '%{Framed-IP-Address}', '0', '0', '%{Acct-Session-Time}','');"

		Post-Auth = "INSERT INTO ${postauth_table}                   \
		 (user, pass, reply, date) VALUES                            \
		 ('%{User-Name}', '%{User-Password:-Chap-Password}',         \
		 '%{reply:Packet-Type}', '%S');"
	}
	acct_unique {
		key = "User-Name, Acct-Session-Id, NAS-IP-Address, Client-IP-Address, NAS-Port"
	}
	$INCLUDE  ${confdir}/sql.conf
	radutmp {
		filename = ${logdir}/radutmp
		username = %{User-Name}
		case_sensitive = yes
		check_with_nas = yes		
		perm = 0600

		callerid = "yes"
	}
	radutmp sradutmp {
		filename = ${logdir}/sradutmp
		perm = 0644
		callerid = "no"
	}
	attr_filter {
		attrsfile = ${confdir}/attrs
	}
	counter daily {
		filename = ${raddbdir}/db.daily
		key = User-Name
		count-attribute = Acct-Session-Time
		reset = daily
		counter-name = Daily-Session-Time
		check-name = Max-Daily-Session
		allowed-servicetype = Framed-User
		cache-size = 5000
	}
	sqlcounter dailycounter {
		counter-name = Daily-Session-Time
		check-name = Max-Daily-Session
		sqlmod-inst = sql
		key = User-Name
		reset = daily
		query = "SELECT SUM(AcctSessionTime - \
                 GREATEST((%b - UNIX_TIMESTAMP(AcctStartTime)), 0)) \
                 FROM radacct WHERE UserName='%{%k}' AND \
                 UNIX_TIMESTAMP(AcctStartTime) + AcctSessionTime > '%b'"
	}

	sqlcounter monthlycounter {
		counter-name = Monthly-Session-Time
		check-name = Max-Monthly-Session
		sqlmod-inst = sql
		key = User-Name
		reset = monthly
		query = "SELECT SUM(AcctSessionTime - \
                 GREATEST((%b - UNIX_TIMESTAMP(AcctStartTime)), 0)) \
                 FROM radacct WHERE UserName='%{%k}' AND \
                 UNIX_TIMESTAMP(AcctStartTime) + AcctSessionTime > '%b'"
	}
	always fail {
		rcode = fail
	}
	always reject {
		rcode = reject
	}
	always ok {
		rcode = ok
		simulcount = 0
		mpp = no
	}
	expr {
	}
	digest {
	}
	exec {
		wait = yes
		input_pairs = request
	}
	exec echo {
		wait = yes
		program = "/bin/echo %{User-Name}"
		input_pairs = request
		output_pairs = reply
	}
	ippool main_pool {
		range-start = 192.168.1.1
		range-stop = 192.168.3.254
		netmask = 255.255.255.0
		cache-size = 800
		session-db = ${raddbdir}/db.ippool
		ip-index = ${raddbdir}/db.ipindex
		override = no
		maximum-timeout = 0
	}

 $INCLUDE  ${confdir}/sqlippool.conf

}

instantiate {
	exec
	expr
}
authorize {
	preprocess
	chap
	mschap
	suffix
	eap
	sql
}
authenticate {
	Auth-Type PAP {
		pap
	}
	Auth-Type CHAP {
		chap
	}
	Auth-Type MSCHAP
		mschap
	}
	unix
	eap
}
preacct {
	preprocess
	acct_unique
	suffix
	files
}
accounting {
	detail
	unix
	radutmp
	sql
	sql_log
}
session {
	radutmp
	sql
}
post-auth {
	sql
	sql_log
}
pre-proxy {
}
post-proxy {
	eap
}

Re: Прошу помощи по mpd4

Добавлено: 2007-10-24 16:11:50
squid
если ты пользуешь мой конфиг
то файлы radius.conf и radiusd.conf здесь разные
у них содержание разное должно быть

Код: Выделить всё

cat radius.conf
acct 192.168.2.1 <пароль к радиусу>
auth 192.168.2.1 <пароль к радиусу>

Re: Прошу помощи по mpd4

Добавлено: 2007-10-24 17:05:58
schizoid
ну и путь к файлу соответственно

Re: Прошу помощи по mpd4

Добавлено: 2007-10-24 18:02:47
Nikotinych
squid писал(а):если ты пользуешь мой конфиг
то файлы radius.conf и radiusd.conf здесь разные
у них содержание разное должно быть

Код: Выделить всё

cat radius.conf
acct 192.168.2.1 <пароль к радиусу>
auth 192.168.2.1 <пароль к радиусу>
уважаемые а не могли бы вы пояснить что это за айпи?

Re: Прошу помощи по mpd4

Добавлено: 2007-10-24 18:05:16
squid
localhost
а так это адрес радиус-сервера

Re: Прошу помощи по mpd4

Добавлено: 2007-10-24 18:08:42
Nikotinych
пробывал и так прописывать все равно не хочет оно пароль проверять и все!
говорит пароль не верный

Re: Прошу помощи по mpd4

Добавлено: 2007-10-24 18:14:45
squid
проверь пароли в файлах client, clients.conf, radius.conf
ты по какой то статье настраивал ?

Re: Прошу помощи по mpd4

Добавлено: 2007-10-24 20:30:08
Nikotinych
http://www.lissyara.su/?id=1350
Вот по этой!
а что за пароль надо проверить?

Re: Прошу помощи по mpd4

Добавлено: 2007-10-24 20:40:08
squid
squid писал(а):client, clients.conf, radius.conf
в этих файлах пароль должен совпадать

Код: Выделить всё

lamer@bsd% cat /etc/radius.conf
acct localhost  mypass 3 2
auth localhost  mypass 3 2

Код: Выделить всё

lamer@bsd% cat /usr/local/etc/raddb/clients
127.0.0.1               mypass

Код: Выделить всё

lamer@bsd% cat /usr/local/etc/raddb/clients.conf | grep -v ^$ | grep -v ^#
client 127.0.0.1 {
        secret          = mypass
        shortname       = localhost
        nastype     = other
}