FreeBSD 7.3, FreeRADIUS 2.1.10, mysql-server-5.5.7
Настраиваем работу freeradius и mpd на одной машине
Редактируем mpd.conf
MPD чувствителен к пробелам, все отступы делать табом.
radiusd.conf
clients.conf
У меня сначала не хотело работать. В логах mpd была ошибка
Необходимо из файла mpd.conf убрать сточку
set radius config /usr/local/etc/raddb/radiusd.conf. Также был затык, подключение происходит, но клиент ничего не пингует. В правилах фаервола неправильно была маска указана.
Мои правила фаервола
Полезные ссылки MPD - настройка собственного VPN-сервера
Настраиваем работу freeradius и mpd на одной машине
Редактируем mpd.conf
startup:
# configure mpd users
set user foo bar admin
set user foo1 bar1
# configure the console
set console self 77.*.*.53 5005 #интерфейс на котором висит mpd и к нему же
#будим подключаться
set console open
default:
load pptp
pptp:
# Create clonable bundle template named B
create bundle template pptp
set iface enable proxy-arp
set iface idle 1800
set iface enable tcpmssfix
set ipcp yes vjcomp
# Specify IP address pool for dynamic assigment.
set ipcp ranges 77.*.*.53/32 172.16.1.100/28
set ipcp dns 77.*.*.1
# The five lines below enable Microsoft Point-to-Point encryption
# (MPPE) using the ng_mppc(8) netgraph node type.
set bundle enable compression
set ccp yes mppc
set mppc yes e40
set mppc yes e128
set mppc yes stateless
# Create clonable link template named L
create link template pptp-link pptp
# Set bundle template to use
set link action bundle pptp
# Multilink adds some overhead, but gives full 1500 MTU.
set link enable multilink
set link yes acfcomp protocomp
set link enable chap
# We can use use RADIUS authentication/accounting by including
# another config section with label 'radius'.
load radius
set link keep-alive 10 60
# We reducing link mtu to avoid GRE packet fragmentation.
set link mtu 1460
# Allow to accept calls
set link enable incoming
radius:
set radius server localhost testing123 1812 1813 # настройки для radius # адрес /secret/порты(auth, acct) set radius retries 3
set radius timeout 3
# send the given IP in the RAD_NAS_IP_ADDRESS attribute to the server.
set radius me localhost
# send accounting updates every 5 minutes
set auth acct-update 300
# enable RADIUS, and fallback to mpd.secret, if RADIUS auth failed
set auth enable radius-auth
# enable RADIUS accounting
set auth enable radius-acct
# protect our requests with the message-authenticator
set radius enable message-authentic
MPD чувствителен к пробелам, все отступы делать табом.
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
# name of the running server. See also the "-n" command-line option.
name = radiusd
# Location of config and logfiles.
confdir = ${raddbdir}
run_dir = ${localstatedir}/run/${name}
# Should likely be ${localstatedir}/lib/radiusd
db_dir = ${raddbdir}
libdir = /usr/local/lib/freeradius-2.1.10
pidfile = ${run_dir}/${name}.pid
user = freeradius
group = freeradius
max_request_time = 30
cleanup_delay = 5
max_requests = 1024
listen {
type = auth
ipaddr = localhost #адрес, которой будим слушать
port = 0
}
listen {
ipaddr = localhost #адрес, которой будим слушать
port = 0
type = acct
}
hostname_lookups = no
allow_core_dumps = no
regular_expressions = yes
extended_expressions = yes
log {
destination = files
file = ${logdir}/radius.log
syslog_facility = daemon
stripped_names = no
auth = no
auth_badpass = yes
auth_goodpass = no
}
checkrad = ${sbindir}/checkrad
security {
max_attributes = 200
reject_delay = 1
status_server = yes
}
proxy_requests = yes
$INCLUDE proxy.conf
$INCLUDE clients.conf
thread pool {
start_servers = 5
max_servers = 32
min_spare_servers = 3
max_spare_servers = 10
max_requests_per_server = 0
}
modules {
$INCLUDE ${confdir}/modules/
session {
radutmp
}
$INCLUDE eap.conf
$INCLUDE sql.conf
$INCLUDE sql/mysql/counter.conf
$INCLUDE sqlippool.conf
chap {
authtype = CHAP
}
pap {
encryption_scheme = clear
}
radutmp {
}
}
chap mschap
authorize {
chap
mschap
files
sql
pap
auth_log
files
}
authenticate {
Auth-Type PAP {
pap
}
Auth-Type CHAP {
chap
}
Auth-Type MS-CHAP {
mschap
}
}
accounting {
detail
sql
radutmp
}
instantiate {
exec
expr
expiration
logintime
}
$INCLUDE sites-enabled/
clients.conf
client localhost {
secret = testing123
shortname = 127.0.0.1
}
У меня сначала не хотело работать. В логах mpd была ошибка
AUTH: Trying RADIUS RADIUS: Authenticating user 'test' RADIUS: rad_config: /usr/local/etc/raddb/radiusd.conf:54: invalid timeout AUTH: RADIUS returned error UTH: Trying INTERNAL AUTH: User "test" not found in secret file AUTH: INTERNAL returned: failed AUTH: ran out of backends
Необходимо из файла mpd.conf убрать сточку
set radius config /usr/local/etc/raddb/radiusd.conf. Также был затык, подключение происходит, но клиент ничего не пингует. В правилах фаервола неправильно была маска указана.
Мои правила фаервола
#NAT /sbin/ipfw -q add divert natd ip from 172.16.1.0/24 to 10.0.0.0/8 /sbin/ipfw -q add divert natd ip from 172.16.1.0/24 to any out via rl0 /sbin/ipfw -q add divert natd ip from any to 77.*.*.53 # lan <--> lan /sbin/ipfw -q add allow all from 10.0.0.0/8,192.168.1.254/24 to 10.0.0.0/8,172.16.1.0/24,192.168.1.254/24 # internet for vpn clients /sbin/ipfw -q add allow all from any to 172.16.1.0/24 /sbin/ipfw -q add allow all from 172.16.1.0/24 to any #pptp /sbin/ipfw -q add allow tcp from any 1723 to any via rl0 /sbin/ipfw -q add allow tcp from any to me dst-port 1723 /sbin/ipfw -q add allow gre from any to any-->
Комментариев нет:
Отправить комментарий