0

MPD сервер на FreeBSD

Задача: Организовать удаленный доступ в сеть. Подключение клиентов должно происходить с любого устройства. В качестве варианта реализации был выбран MPD5

Установка из портов

# cd /usr/ports/net/mpd5
# make config
# make install clean

Правлю конфиг до следующего состояния:

# mpd.conf
startup:
# connect using telnet
set user extor [password] admin
set condole self [listen_ip] 5005
set console open
# connect using web
set web self 0.0.0.0 5506
set web open
# pool ip addresses
set ippool add pool1 172.31.255.1 172.31.255.63

default:
load pptp_server

pptp_server:
# Create clonable bundle template named B
create bundle template B
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 172.31.255.254/32 ippool pool1
set ipcp dns [dns_ip]
# 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 L pptp
# Set bundle template to use
set link action bundle B
# one link per user
set link disable multilink
set link yes acfcomp protocomp
# set autorization method
set link no pap chap eap
set link enable chap
set link keep-alive 10 60
set link mtu 1460
# listen ip address
set pptp self [listen_ip]
set link enable incoming

Добавляю в файл /usr/local/etc/mpd5/mpd5.secret:

extor [passwd] 172.31.255.1

В firewall надо открыть 1723 порт на подключение
В /etc/syslog.conf

!mpd
*.* /var/log/mpd.log

Кроме этого, создаю сам файл лога, выставляю права.
# sudo touch /var/log/mpd.log
# chmod 600 /var/log/mpd.log
# /etc/rc.d/syslogd reload

Стартую сервис:
# echo mpd5_enable="YES" >> /etc/rc.conf
# /usr/local/etc/rc.d/mpd5 start

Не забываем прописать маршрутизацию или nat для того чтобы клиенты могли попасть, куда им необходимо.

Alexey Egorychev

FreeBSD and Linux sysadmin. Know many systems like mailsystems, DB, WWW stack. Automation with salt, ansible. Monitoring with nagios, zabbix.