Slonoboy

Настройка подключения к VPN в ОС FreeBSD

Рекомендованные сообщения

Имеется в наличии компьютер с установленной FreeBSD 8.2-RELEASE. Системой опознана сетевая карта re0, в вашем случае сетевая карта может отличаться.

 

В качестве программы-клиента VPN будет использован MPD5:

Mpd is a netgraph(4) based implementation of the multi-link PPP protocol for FreeBSD. It is designed to be both fast and flexible. It handles configuration and negotiation in user land, while routing all data packets strictly in the kernel. It supports several of the numerous PPP sub-protocols and extensions, such as:

Multi-link PPP capability PAP, CHAP, MS-CHAP and EAP authentication PPP compression and encryption IPCP and IPV6CP parameter negotiation.

 

Ставим MPD5 через sysinstall (Passive FTP, ftp4.ru.freebsd.org) или порты:

cd /usr/ports/net/mpd5 && make install clean

 

Следующие файлы должны лежать в директории /usr/local/etc/mpd5/:

 

Листинг файла /usr/local/etc/mpd5/up.sh:

#!/bin/sh
gw=`netstat -rn | awk '$1=="default"{print $2}'` 
route delete $4    
route add $4 $gw    
route delete default 
route add default $4 

echo $4  > /tmp/mpd_dr 
echo $gw > /tmp/mpd_gw
sleep 20

 

Листинг файла /usr/local/etc/mpd5/down.sh:

#!/bin/sh 
dr=`cat /tmp/mpd_dr` 
gw=`cat /tmp/mpd_gw`    
route delete $dr 
route delete default    
route add default $gw 
rm -f /tmp/mpd_dr 
rm -f /tmp/mpd_gw 

 

Содержимое файла /usr/local/etc/mpd5/mpd.conf (по спецификации mpd5 содержимое разделов startup, default, L2TP, PPTP должно разделяться она начала строки символом табуляции):

startup: 
#Лог событий
log +ALL -EVENTS -FRAME            
# configure mpd users 
set user <пользователь> <пароль> admin 
set user foo1 bar1 
# консоль доступна с любого IP (опасно, укажите свой IP!) 
set console self 0.0.0.0 5005            
#открыть консоль 
set console open 
#WEB-сервер доступен с любого IP (опасно, укажите свой IP!)            
set web self 0.0.0.0 5006 
#открыть WEB-сервер            
set web open                

#По-умолчанию подключение следующее:    
default: 
load L2TP 
#load PPTP    

L2TP:            
create bundle static L2TP
set ipcp no vjcomp
set iface idle 0
set iface enable nat
set iface enable tcpmssfix
set iface up-script /usr/local/etc/mpd5/up.sh
set iface down-script /usr/local/etc/mpd5/down.sh
create link static L2 l2tp
set link action bundle L2TP
set link mtu 1400
set link latency 0
set link max-redial 0
set link redial-delay 60
set link accept chap
set link keep-alive 10 75
set l2tp peer tp.internet.beeline.ru
set auth authname ВАШ_ЛОГИН
set auth password ВАШ ПАРОЛЬ
open

Corbina_PPTP:            
create bundle static PPTP
set ipcp no vjcomp
set iface idle 0
set iface enable nat
set iface enable tcpmssfix
set iface up-script /usr/local/etc/mpd5/up.sh
set iface down-script /usr/local/etc/mpd5/down.sh
create link static L2 pptp
set link action bundle PPTP
set link mtu 1400
set link latency 0
set link max-redial 0
set link redial-delay 60
set link accept chap
set link keep-alive 10 75
set l2tp peer vpn.internet.beeline.ru
set auth authname ВАШ_ЛОГИН
	set auth password ВАШ ПАРОЛЬ
open

 

Дать права на запуск скриптов:

chmod +x /usr/local/etc/mpd5/*.sh

 

Дать права чтение/запись файлов с переменными:

chmod 666 /tmp/mpd_*

 

Следующие файлы должны лежать в директории /etc:

 

Содержимое файла /etc/rc.conf (указанные строки обязательны для нашей сети, у вас могут быть и другие помимо них):

synchronous_dhclient="YES" 	
#Шлюз по умолчанию, можно узнать с помощью netstat -rn 
defaultrouter="РАЙОННЫЙ_ШЛЮЗ"	
#Сетевой интерфейс, подключенный к провайдеру 
#(для случая использования сетевой карты re0, в вашем случае она может отличаться)
ifconfig_re0="dhcp"    	
#PPP клиент
mpd_enable="YES" 
#PPP клиент
mpd_flags="-b"

Изменено пользователем Slonoboy
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость
Эта тема закрыта для публикации сообщений.