Перейти к собственно контенту

Архив

Метка: pptp

В дополнение к статье «Настройка OpenVPN сервера» решил написть о настройке VPN сервера , работающего по протоколу PPTP.

Имеем
# root@vpn:/root # uname -a
FreeBSD vpn.server 9.1-STABLE FreeBSD 9.1-STABLE #0 r249412M: Sat Apr 13 02:34:28 MSK 2013 root@vpn.deathstar.name:/usr/obj/usr/src/sys/GENERIC amd64
Цель – поднять VPN PPTP сервер для выхода в интернет.

1) Настройка NAT

Добавляем в файл /boot/loader.conf такие строки
ipfw_nat_load="YES"
libalias_load="YES"

Создаем правила для IPFW ( например файл /etc/firewall )
root@vpn:/root # ee /etc/firewall
#!/bin/sh
ipfw='/sbin/ipfw -q'
${ipfw} flush
${ipfw} add check-state
${ipfw} table all flush
${ipfw} add drop tcp from 172.17.0.0/24 135,137-139 to 172.17.0.0/24 via rl0
${ipfw} add drop tcp from 172.17.0.0/24 135,137-139 to any via rl0
${ipfw} add drop udp from 172.17.0.0/24 135,137,138,139 to 172.17.0.0/24 via rl0
${ipfw} add drop udp from 172.17.0.0/24 135,137-139 to any via rl0
${ipfw} nat 1 config if re0 reset same_ports
${ipfw} add nat 1 ip from 172.17.0.0/24 to any via re0
${ipfw} add nat 1 ip from any to ВНЕШНИЙ_IP_СЕРВЕРА
${ipfw} add allow all from any to any

и делаем исполняемым
root@vpn:/root # chmod +x /etc/firewall

Для загрузки правил при старте добавляем в /etc/rc.conf
gateway_enable=YES
firewall_enable=YES
firewall_script="/etc/firewall"

и перезапускаем сервер
root@vpn:/root # reboot

2) Установка, настройка и запуск VPN PPTP сервера
root@vpn:/root # make install clean -С /usr/ports/net/mpd5 ( опции оставляем по умолчанию как есть )

Переходим в каталог с конфигами
cd /usr/local/etc/mpd5/

и создаем файл mpd.conf со следующим содержанием
root@vpn:/usr/local/etc/mpd5 # ee mpd.conf

startup:
set user foo bar admin
set user foo1 bar1
set console self 127.0.0.1 5005
set console open
set web self 0.0.0.0 5006
set web open

default:
load pptp_server

pptp_server:

set ippool add pool1 172.17.0.50 172.17.0.99 # Диапазон выдаваемых адресов

create (далее…)

Так как ТП моего провайдера отказалсь помогать с настройкой инета на UNIX системах,пришлось копать самому.Небольшая статья как поднять соединение VPN PPTP на FreeBSD 8.0 Release

1. Установка

Для установки PPTP клиента под FreeBSD необходимо установить из портов пакет pptpclient, а также необходимый ему пакет . libutils-1.0.3_3. Скачать эти пакеты можно с официального ftp сервера FreeBSD.

Чтобы установить эти пакеты, в системе FreeBSD используется команда pkg_add(1). С правами администратора запустите следующие команды:

# pkg_add -p /usr libutils-1.0.3_3.tbz
# pkg_add pptpclient-1.7.2_2.tbz

2. Настройка

в /etc/rc.conf должно быть это :
ifconfig_rl0="inet 0.0.0.0 netmask 255.255.0.0"

Где 0.0.0.0 — IP,привязаный к Вам

Для настройки ppp добавьте следующие строки в файл /etc/ppp/ppp.conf

#################################################################
# PPP Sample Configuration File
# Originally written by Toshiharu OHNO
# Simplified 5/14/1999 by wself@cdrom.com
#
# See /usr/share/examples/ppp/ for some examples
#
# $FreeBSD: src/etc/ppp/ppp.conf,v 1.10.18.1 2008/11/25 02:59:29 kensmith Exp $
#################################################################

default:
set log Phase Chat LCP IPCP CCP tun command
ident user-ppp VERSION (built COMPILATIONDATE)

# Ensure that "device" references the correct serial port
# for your modem. (cuad0 = COM1, cuad1 = COM2)
#
set device /dev/cuad1

set speed 115200
set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
\"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT"
set timeout 180 # 3 minute idle timer (the default)
enable dns # request DNS info (for resolv.conf)

papchap:
#
# edit the next three lines and replace the items in caps with
# the values which have been assigned by your ISP.
#

# set phone PHONE_NUM
# set authname USERNAME
# set authkey PASSWORD

# set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
add default HISADDR # Add a (sticky) default route

vpn:
set device "!pptp vpn.rybnet.ru --nolaunchpppd"
disable (далее…)