Если необходимо организовать защищенные каналы связи между удаленными рабочими местами и локальной сетью организации, то можно это сделать создав VPN сеть.
Рассмотрим создание такой сети на примере использования /usr/ports/net/mpd5. Устанавливаем указанный порт на сервере.
Допустим, что внутренний интерфейс сервера имеет адрес 192.168.0.101, внешний интерфейс имеет адрес 192.168.1.2, доступный DNS-сервер имеет адрес 192.168.1.1.
Для подключающихся пользователей выделен пул адресов локальной сети с 192.168.0.50 по 192.168.0.99. Редактируем конфигурационный файл /usr/local/etc/mpd5/mpd.conf
до следующего состояния:
startup:
log -ALL
log +PPTP +AUTH +bund + ccp +iface +ipcp +lcp +link +phys
default:
load pptp_server
pptp_server:
set ippool add pool1 192.168.0.50 192.168.0.99
create bundle template B
set iface enable proxy-arp
set iface idle 1800
set iface enable tcpmssfix
set ipcp yes vjcomp
set ipcp ranges 192.168.0.101/32 ippool pool1
set ipcp dns 192.168.1.1
set bundle enable compression
set ccp yes mppc
set mppc yes e40
set mppc yes e128
set mppc yes stateless
create link template L pptp
set link action bundle B
set link enable multilink
set link yes acfcomp protocomp
set link no pap chap eap
set link enable chap
set link keep-alive 10 60
set link mtu 1460
set pptp self 192.168.1.2
set link enable incoming
Для авторизации mpd может использовать разные способы, но в данном случае расмотрим пример, когда информация об удаленных пользователях хранится
в файле /usr/local/etc/mpd5/mpd.secret. Желательно, чтобы этот файл был доступен только пользователю root. Редактируем данный файл до следующего состояния:
user1 "password1" 192.168.0.55
user2 "password2" 192.168.0.56
user3 "password3" 192.168.0.57
В данном файле в каждой строке записывается логин, пароль и IP-адрес, выдаваемый клиенту при подключении. Если IP-адрес не указан, то будет назначен свободный из заданного пула адресов.
Для запуска VPN-сервера вносим в /etc/rc.conf следующие строки:
mpd_enable="YES"
mpd_flags="-b"
Для того, чтобы mpd писал информацию в лог-файл необходимо в /etc/syslog.conf добавить следующие строки:
!mpd
*.* /var/log/mpd.log
Чтобы лог-файл не разрастался до огромных размеров необходимо в /etc/newsyslog.conf добавить следующую строку:
/var/log/mpd.log 640 3 100 @T00 JC
На клиентской машине проделываются аналогичные манипуляции, только файл /usr/local/etc/mpd5/mpd.secret не нужен, а файл /usr/local/etc/mpd5/mpd.conf редактируется до следующего состояния:
startup:
default:
load pptp_client
pptp_client:
create bundle static B1
set iface route 192.168.0.0/24
set ipcp ranges 0.0.0.0/0 0.0.0.0/0
create link static L1 pptp
set link action bundle B1
set auth authname "user1"
set auth password "password1"
set link max-redial 0
set link mtu 1460
set link keep-alive 20 75
set pptp peer 1.2.3.4
set pptp disable windowing
open
В данном примере 1.2.3.4 это IP-адрес VPN-сервера, 192.168.0.0/24 - это локальная сеть, к которой подключается удаленный клиент, user1 и password1 - логин и пароль соответственно, которые должны присутствовать в файле mpd.secret на сервере.
В данной конфигурации к VPN-серверу могут подключаться и Windows-клиенты без установки какого-либо дополнительного программного обеспечения.
Необходимо помнить, что mpd использует TCP-порт 1723, который должен быть открыт в firewall. При подключении клиентов на сервере создаются виртуальные сетевые интерфейсы ng*. Поэтому, если вы используете firewall, то необходимо разрешить пропуск пакетов через эти интерфейсы. А также необходимо разрешить пропуск GRE-пакетов на внутреннем и внешнем интерфейсах.
Коментувати