Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
  настройка
  подсчёт трафика
  программы
  почтовые системы
  Шелезяки
  Мелочи
  Файловая система
  WWW
  Security
  немного о безопасности
  VPN (PoPToP)
  PortSentry
  sysctl
  vtund
  ipfwcount
  FreeBSD & DSA
  mpd – легко и просто!
  mpd + freeradius + mysql
  Бронированный FreeBSD
  sshit
  DSL-G804V и FreeBSD 6.2
  portaudit
  OpenVPN
  Bluetooth proximity monitor
  ESET NOD32
  GEOM-ELI
  stunnel для pop3,smtp
  NOD32 mirror
  mpd5 + ipfw-nat
  Openvpn 2 офиса
  Hotspot
  OpenVPN+авторизация
  termlog
  mpd5 + сжатие и шифрование
  ipsec_vpnc
  TOR Сервер
  Snort на FreeBSD
  Arpwatch
  Установка и настройка OpenVPN
  NOD32_mirror_v2
  Fail2ban
  IPSec
  Перенос OpenVPN сервера
  Wpa/WPA2-Radius+EAP-TLS/EAP-PEAP
  nod32 mirror script
  MAC + apache
  system
  Games Servers
  X11
  Programming
Очумелые Ручки
OpenBSD
Cisco


www.lissyara.su —> статьи —> FreeBSD —> Security —> mpd5 + ipfw-nat

Как впустить удалённых сотрудников в локальную сеть офиса по зашифрованному каналу с помощью VPN

Автор: roygbiv.


Вопрос был давно, но тогда давно не было проблем с nat - изученная конфигурация mpd4 работала на машине, где на 1ой сетевой сервера с помощью следовавшего за ним маршрутизатора было уже два адреса - и внешний, и внутренний, а внутренняя сеть была 192.168.0.0/16 - и выдавать диапазоны подсетей было легко и непринуждённо.

Статья расписана почти для новичков, чтобы было максимально ясно, что и как делается - разжёвано и почти проглочено в помощь начинающим.

На новой работе встал вопрос: как сделать так красиво, чтобы в существующей сети 192.168.0.0/24 без смены (даже через легчайшую автоматизацию с помощью dhcp перераздачи адресов) вещания, можно было впускать извне по VPN клиентов, которые бы варились в небольшом поддиапазоне внутри 192.168.0.0/24, например, 192.168.0.248/29 (192.168.0.249-254 адреса,нам много не надо) и видели внутренние ресурсы, как если бы они физически были за своими рабочими компами в офисе, и могли при этом ещё в тырнет при подключённом ppp ходить с удалённых Windows-машин за счёт того же сервера, где крутится mpd5.

По-простому: сижу я, значит, наглухо в командировке, пиво всё кончилось, за новым идти лень, а захотелось стащить с корпоративной файлопомойки, что в другом городе, забавные конфиденциальные отчёты. При этом, хочется нормально поискать по сетке, ftp-шника для внешних клиентов нету вовсе, а у меня здесь канал вроде не узкий и Win ХтьPфу стоит: так вот, создаю я, значит, обычное VPN-подключение через существующий канал в мир и попадаю сразу в свою локалку, как родной, да ещё могу при этом лазать в тырнет, не отключаясь.

В довесок, уже вышел MPD5 - Multi-link PPP daemon for FreeBSD (отличается слегка от mpd4), а у меня к тому же стояла FreeBSD7.0 с ядром amd64 (i386 в данном случае тоже безусловно подойдёт - никаких завязок на архитектуру нет, но всё же я затрону ещё и пересборку ядра), где, как и во всей новой ветке FreeBSD7.0 RELEASE natd отмер, и его роли переложили в том числе и на мой любимый IPFW2: опция в нём так и назвалась - nat. 64битная архитектура мне понадобилась чтобы без головной боли "увидеть" 8ГБ оперативы, да и пора уже перелезать на модные течения, что мы, рыжие что ли?! Года два назад в 64битной ветке было очень много проблем и половина пакетов даже просто не собирались. Сейчас это не так, и поверьте моему опыту, ВСЕ самые джентельменские и не очень пакеты и связки пока поднимались, тьфу-тьфу, без проблем. Так что, велкам: задействуем никому не нужные 64битные инструкции ядер (производительность по различным мнениям не возросла ни на йоту)!

Рабочих конфигов для такого извращенского подхода, как описал выше, не нашёл, хотя искал довольно усердно. Хотелось красиво и как душа лежит, а не расширять класс сети и делать в общем-то, по-человечески.

Итак, что имеем: обычный ibm-сервер, с Xeon с поддержкой emt64 или как её там - неважно, главное, на amd64 возможностях с ядром сойдутся, 8ГБ невидимой в i386 ОЗУ и дистрибутив 7.0-RELEASE-amd64-disc1.iso, а остальное от лукавого.

Про установку системы ничего особенного, да и на этом сайте есть чего почитать.
Но порты я не ставлю сразу, а подтягиваю потом, на первой рабочей загрузке после установки - чтобы совсем fresh и hot были:
# portsnap fetch extract

Задымилось, жду счастья и сразу ставлю любимый demos commander (простейшую оболочку):
# whereis deco
deco: /usr/ports/misc/deco
# cd /usr/ports/misc/deco ; make install clean
# rehash && deco

(*рэхэш, то есть переиндексирование системных ссылок и прочего, работает только под определёнными интерпретаторами)
Кому как, а мне порой через него сидеть удобней, хотя и есть некоторое кол-во различий в командах по сравнению с обычной командной строкой /sbin/sh - то тже самый rehash в deco не пашет.
Далее, лезу в sys и ищу там amd64 GENERIC ядро (на самом деле, я это делаю в деке, но аналогичные действия привожу из /sbin/sh):
# cd sys/amd64/conf
# cp GENERIC VPNGOD

VPNGOD - так будет называться новое ядро с поддержкой NETGRAPH (необходима для MPD).
По сути, мы можем вообще не трогать ядро, только если для расширения адресации (задействования наших 8ГБ ОЗУ), т.к. и ipfw2 и netgraph могут быть включены как подключаемые при загрузке модули системы, но это не есть правильно, т.к. всё-таки у нас машина будет заниматься именно тем, что мы встраиваем - а не время от времени служить каким-нибудь mail-relay. Да и помнится мне, что вкомпиленное в ядро работает быстрее - но не уверен.
Состав моего нового ядра с помощью:
# ee VPNGOD

я сделал таким:
# cat VPNGOD

cpu             HAMMER
ident           VPNGOD                  # название ядра - любое

# To statically compile in device wiring instead of /boot/device.hints
#hints          "GENERIC.hints"         # Default places to look for devices.

makeoptions     DEBUG=-g        # Build kernel with gdb(1) debug symbols

options         SCHED_ULE               # 4BSD scheduler
options         PREEMPTION              # Enable kernel thread preemption
options         INET                    # InterNETworking
#options        INET6                   # IPv6 communications protocols
#не собиралось с ним, присутствуют зависимости.
#отключил - завязка на ipv6, который мне вдругорядь не нужен.

#options        SCTP                    # Stream Control Transmission Protocol

options         FFS                     # Berkeley Fast Filesystem
options         SOFTUPDATES             # Enable FFS soft updates support
options         UFS_ACL                 # Support for access control lists
options         UFS_DIRHASH      # Improve performance on big directories
options         UFS_GJOURNAL            # Enable gjournal-based UFS journaling

# лишнее
#options        MD_ROOT                 # MD is a potential root device
#options        NFSCLIENT               # Network Filesystem Client
#options        NFSSERVER               # Network Filesystem Server
#options        NFS_ROOT                # NFS usable as /, requires NFSCLIENT

options         NTFS                    # NT File System
options         MSDOSFS                 # MSDOS Filesystem
options         CD9660                  # ISO 9660 Filesystem
options         PROCFS          # Process filesystem (requires PSEUDOFS)
options         PSEUDOFS                # Pseudo-filesystem framework
options         GEOM_PART_GPT           # GUID Partition Tables.
options         GEOM_LABEL              # Provides labelization
options         COMPAT_43TTY            # BSD 4.3 TTY compat [KEEP THIS!]
options         COMPAT_IA32             # Compatible with i386 binaries
options         COMPAT_FREEBSD4         # Compatible with FreeBSD4
options         COMPAT_FREEBSD5         # Compatible with FreeBSD5
options         COMPAT_FREEBSD6         # Compatible with FreeBSD6
#options        SCSI_DELAY=5000         # Delay (in ms) before probing SCSI
#options        KTRACE                  # ktrace(1) support
options         SYSVSHM                 # SYSV-style shared memory
options         SYSVMSG                 # SYSV-style message queues
options         SYSVSEM                 # SYSV-style semaphores
options  _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options         KBD_INSTALL_CDEV        # install a CDEV entry in /dev
options         ADAPTIVE_GIANT          # Giant mutex is adaptive.
options         STOP_NMI                # Stop CPUS using NMI instead of IPI
options         AUDIT                   # Security event auditing

# собственно, почти ради чего собираем - опции для IPFW и MPD (через NETGRAPH)
# объяснений опять же можно найти хотя бы даже на этом сайте Лиса.
options         IPFIREWALL              # firewall
options         IPFIREWALL_VERBOSE      # enable logging to syslogd(8)
options         IPDIVERT
options         IPFIREWALL_FORWARD
options         DUMMYNET

# та самая новая поддержка трансляции
options         IPFIREWALL_NAT          # ipfw kernel nat support

options         LIBALIAS
options         NETGRAPH
options         NETGRAPH_ETHER
options         NETGRAPH_SOCKET
options         NETGRAPH_TEE
options         NETGRAPH_MPPC_ENCRYPTION

#options NETGRAPH_MPPC_COMPRESSION
#требуется наличие дополнительной проприетарной библиотеки,мне не нужно

# Make an SMP-capable kernel by default (поддержка многоядерности по умолчанию)
options         SMP                     # Symmetric MultiProcessor Kernel

# CPU frequency control
device          cpufreq

# Bus support.
device          acpi
device          pci

# Floppy drives
#device         fdc - у меня нет такого раритета

# остальные устройства лучше не удалять, а закомментировать на 
# случай изменений в железе потом легче будет найти. 
# Искать железо стоит вначале при помощи команды dmesg -a, когда
# у вас ещё GENERIC ядро - оно почти всё определяет без проблем,
# и по нему оставлять незакомментированные строки для 
# поддержки устройств. У меня получилось вот так:

# ATA and ATAPI devices
device          ata
device          atadisk         # ATA disk drives
device          ataraid         # ATA RAID drives
device          atapicd         # ATAPI CDROM drives
#device         atapifd         # ATAPI floppy drives
#device         atapist         # ATAPI tape drives
#options         ATA_STATIC_ID   # Static device numbering

# SCSI Controllers
#device         ahc             # AHA2940 and onboard AIC7xxx devices
#options        AHC_REG_PRETTY_PRINT    # Print register bitfields in debug
                                        # output.  Adds ~128k to driver.
#device         ahd             # AHA39320/29320 and onboard AIC79xx devices
#options        AHD_REG_PRETTY_PRINT    # Print register bitfields in debug
                                        # output.  Adds ~215k to driver.
#device         amd             # AMD 53C974 (Tekram DC-390(T))
#device         hptiop          # Highpoint RocketRaid 3xxx series
#device         isp             # Qlogic family
#device         ispfw           # Firmware for QLogic HBAs- normally a module
#device         mpt             # LSI-Logic MPT-Fusion
#device         ncr             # NCR/Symbios Logic
#device         sym      # NCR/Symbios Logic (newer chipsets + those of `ncr')
#device         trm             # Tekram DC395U/UW/F DC315U adapters

#device         adv             # Advansys SCSI adapters
#device         adw             # Advansys wide SCSI adapters
#device         aic             # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
#device         bt              # Buslogic/Mylex MultiMaster SCSI adapters

# SCSI peripherals
device          scbus           # SCSI bus (required for SCSI)
#device         ch              # SCSI media changers
#device         da              # Direct Access (disks)
#device         sa              # Sequential Access (tape etc)
#device         cd              # CD
#device         pass            # Passthrough device (direct SCSI access)
#device         ses             # SCSI Environmental Services (and SAF-TE)

# RAID controllers interfaced to the SCSI subsystem
#device         amr             # AMI MegaRAID
#device         arcmsr          # Areca SATA II RAID
#device         ciss            # Compaq Smart RAID 5*
#device         dpt       # DPT Smartcache III, IV - See NOTES for options
#device         hptmv           # Highpoint RocketRAID 182x
device          hptrr           # Highpoint RocketRAID 17xx, 22xx, 23xx, 25xx
#device         iir             # Intel Integrated RAID
#device         ips             # IBM (Adaptec) ServeRAID
#device         mly             # Mylex AcceleRAID/eXtremeRAID
#device         twa             # 3ware 9000 series PATA/SATA RAID

# RAID controllers
device          aac             # Adaptec FSA RAID
device          aacp            # SCSI passthrough for aac (requires CAM)
#device         ida             # Compaq Smart RAID
#device         mfi             # LSI MegaRAID SAS
#device         mlx             # Mylex DAC960 family
#XXX pointer/int warnings
#device         pst             # Promise Supertrak SX6000
#device         twe             # 3ware ATA RAID

# atkbdc0 controls both the keyboard and the PS/2 mouse
device          atkbdc          # AT keyboard controller
device          atkbd           # AT keyboard
device          psm             # PS/2 mouse

device          kbdmux          # keyboard multiplexer

device          vga             # VGA video card driver

device          splash          # Splash screen and screen saver support

# syscons is the default console driver, resembling an SCO console
device          sc

device          agp             # support several AGP chipsets

# PCCARD (PCMCIA) support
# PCMCIA and cardbus bridge support
#device         cbb             # cardbus (yenta) bridge
#device         pccard          # PC Card (16-bit) bus
#device         cardbus         # CardBus (32-bit) bus

# Serial (COM) ports
#device         sio             # 8250, 16[45]50 based serial ports
#device         uart            # Generic UART driver

# Parallel port
#device         ppc
#device         ppbus           # Parallel port bus (required)
#device         lpt             # Printer
#device         plip            # TCP/IP over parallel
#device         ppi             # Parallel port interface device
#device         vpo             # Requires scbus and da

# If you've got a "dumb" serial or parallel PCI card that is
# supported by the puc(4) glue driver, uncomment the following
# line to enable it (connects to sio, uart and/or ppc drivers):
#device         puc

# PCI Ethernet NICs.
#device         de              # DEC/Intel DC21x4x (``Tulip'')
#device         em              # Intel PRO/1000 adapter Gigabit Ethernet Card
#device         ixgb            # Intel PRO/10GbE Ethernet Card
#device         le              # AMD Am7900 LANCE and Am79C9xx PCnet
#device         txp             # 3Com 3cR990 (``Typhoon'')
#device         vx              # 3Com 3c590, 3c595 (``Vortex'')

# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device          miibus          # MII bus support
device          bce             # Broadcom BCM5706/BCM5708 Gigabit Ethernet
#device         bfe             # Broadcom BCM440x 10/100 Ethernet
#device         bge             # Broadcom BCM570xx Gigabit Ethernet
#device         dc              # DEC/Intel 21143 and various workalikes
#device         fxp             # Intel EtherExpress PRO/100B (82557, 82558)
#device         lge             # Level 1 LXT1001 gigabit Ethernet
#device         msk             # Marvell/SysKonnect Yukon II Gigabit Ethernet
#device         nfe             # nVidia nForce MCP on-board Ethernet
#device         nge             # NatSemi DP83820 gigabit Ethernet
#device         nve    # nVidia nForce MCP on-board Ethernet Networking
#device         pcn # AMD Am79C97x PCI 10/100 (precedence over 'le')
#device         re              # RealTek 8139C+/8169/8169S/8110S
#device         rl              # RealTek 8129/8139
#device         sf              # Adaptec AIC-6915 (``Starfire'')
#device         sis             # Silicon Integrated Systems SiS 900/SiS 7016
#device         sk              # SysKonnect SK-984x & SK-982x gigabit Ethernet
#device         ste             # Sundance ST201 (D-Link DFE-550TX)
#device         ti              # Alteon Networks Tigon I/II gigabit Ethernet
#device         tl              # Texas Instruments ThunderLAN
#device         tx              # SMC EtherPower II (83c170 ``EPIC'')
#device         vge             # VIA VT612x gigabit Ethernet
#device         vr              # VIA Rhine, Rhine II
#device         wb              # Winbond W89C840F
#device         xl              # 3Com 3c90x (``Boomerang'', ``Cyclone'')


# Wireless NIC cards
device          wlan            # 802.11 support
device          wlan_wep        # 802.11 WEP support
device          wlan_ccmp       # 802.11 CCMP support
device          wlan_tkip       # 802.11 TKIP support
device          wlan_amrr       # AMRR transmit rate control algorithm
device          wlan_scan_ap    # 802.11 AP mode scanning
device          wlan_scan_sta   # 802.11 STA mode scanning
#device         an              # Aironet 4500/4800 802.11 wireless NICs.
device          ath             # Atheros pci/cardbus NIC's
device          ath_hal         # Atheros HAL (Hardware Access Layer)
device          ath_rate_sample # SampleRate tx rate control for ath
#device         awi             # BayStack 660 and others
#device         ral             # Ralink Technology RT2500 wireless NICs.
#device         wi              # WaveLAN/Intersil/Symbol 802.11 wireless NICs.

# Pseudo devices.
device          loop            # Network loopback
device          random          # Entropy device
device          ether           # Ethernet support
device          sl              # Kernel SLIP
device          ppp             # Kernel PPP
device          tun             # Packet tunnel.
device          pty             # Pseudo-ttys (telnet etc)
#device         md              # Memory "disks"
device          gif             # IPv6 and IPv4 tunneling
#device         faith           # IPv6-to-IPv4 relaying (translation)
device          firmware        # firmware assist module

# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
# Note that 'bpf' is required for DHCP.
device          bpf             # Berkeley packet filter

# USB support
device          uhci            # UHCI PCI->USB interface
device          ohci            # OHCI PCI->USB interface
device          ehci            # EHCI PCI->USB interface (USB 2.0)
device          usb             # USB Bus (required)
#device         udbp            # USB Double Bulk Pipe devices
device          ugen            # Generic
device          uhid            # "Human Interface Devices"
device          ukbd            # Keyboard
#device         ulpt            # Printer
device          umass           # Disks/Mass storage - Requires scbus and da
device          ums             # Mouse
#device         ural            # Ralink Technology RT2500USB wireless NICs
#device         urio            # Diamond Rio 500 MP3 player
#device         uscanner        # Scanners

Если вы не работаете в деко, проверим на всякий случай, в какой мы директории:
# pwd
/usr/src/sys/amd64

Всё так, символичный линк (symlink, symbolic link) на директорию sys = /usr/src/sys/ (он в системе по умолчанию, а создаютсяони с помощью команды
ln -s имясуществующейдиры имялинка

), так что мы там, откуда выполним следующую команду для создания каталога исходников в соответствии с вышеуказанной конфигурацией ядра:
# config VPNGOD
Kernel build directory is ../compile/VPNGOD
Don't forget to do ``make cleandepend && make depend''

Идём в:
# cd ../compile/VPNGOD
# pwd
/usr/src/sys/amd64/compile/VPNGOD

Внимание, по умолчанию правило IPFW, который мы собираемся включить, выглядит так:
65535 deny ip from any to any

Т.е. все внешние сетевые подключения обрубит после перезагрузки и закроет ваш сервер от любых притязаний, даже хозяев. Если вы за консолью, это конечно никак не повлияет, если же вы работаете удалённо, позаботьтесь об этом заранее (например, создать скрипт с
allow all from any to any

перед 65535ым правилом на первое время).
Теперь, находясь в директории сырцов нового ядра, последуем просьбе указанной выше системой (это один из двух известных мне способов пересборки ядра, я пользуюсь только им):
# make cleandepend && make depend && make -j8 -B && make install && reboot

Этим набором команд, перечисленных через операторы "&&" - последовательное выполнение одного за другим, мы сразу всё стадо зайцев скосили и при отсутствии ошибок при сборке можем расслабиться, и как говориться при установке всем известных ОС - откинуться на спинку кресла (не купили к установке?). Все эти команды задают зависимости, собирают модули, компилируют их аж в 8 потоков (-j8), но по возможности с последовательной синхронизацией (-B), устанавливают всё в /boot/kernel и перезагружают систему автоматом по окончании.
Если что, смотрите гугл или используйте make buildkernel команду (собсно,снова гугл по хэндбукам). Число потоков и параметр "-B" используйте только на мощных машинах, на слабых их вообще лучше опустить (просто make).
Новое ядро после перезагрузки поприветствует вас как-то так:
Copyright (c) 1992-2008 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 7.0-RELEASE #0: Tue May 20 09:53:05 MSD 2008
******@ns1.*******.ru:/usr/src/sys/amd64/compile/VPNGOD

Если этого не произошло, значит вы либо не подключили каких-то важных устройств (чаще всего управление питанием - новый acpi/старый apic, и контроллеры ж/д). Можно загрузиться из старого (предшествующего) ядра:
# boot /boot/kernel.old

подробнее об этом.

Иначе, всё путём, идём дальше.
Мои сетевые карты (и loopback девайс (; настроены так:
# ifconfig
bce0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=1bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4>
ether **********
inet 218.22.33.218 netmask 0xfffffff8 broadcast 218.22.33.223
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
bce1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=1bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4>
ether **********
inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
inet 127.0.0.1 netmask 0xff000000

Где bce0 (218.22.33.218/29) смотрит в провайдера, а тот подглядывает во внешний мир, а bce1 (192.168.0.2/24) - в локальную корпоративную сеть.
Сервер может являться как шлюзом для ЛВС предприятия, так и просто vpn-сервером для удалённых клиентов. У меня он ещё и проксирует http-https-ftp запросы, держит сайт, статистику по snmp (cacti), а так же ftp (proftpd) с веб-мордой (proftpdadmin).
В rc.conf сетевые настройки и firewall выглядят следующим образом:
# cat /etc/rc.conf

(..опустил ненужное..)
# настройки сети
gateway_enable="YES"
defaultrouter="218.22.33.217"
hostname="vpn.bulyzhnik.ru"
ifconfig_bce0="inet 218.22.33.218  netmask 255.255.255.248"
ifconfig_bce1="inet 192.168.0.2  netmask 255.255.255.0"

# ручной маршрут, в том случае,если у вас будет 
# всё-таки другая vpn-подсеть авось да пригодится
# route_lnet="-net 10.1.1/29 218.22.33.218"
# static_routes="lnet"

# включаем фаер, включаем логгирование
firewall_enable="YES"
firewall_script="/etc/rc.fire"
firewall_logging="YES"

А скрипт фаера выглядит так:
# cat /etc/rc.fire

# Firewall rules Written by Marc Silver (marcs@draenor.org)
# http://draenor.org/ipfw # Freely distributable
# add to rc.conf: firewall_script="/etc/rc.fire"

fwcmd="/sbin/ipfw"

# Force a flushing of the current rules before we reload.
$fwcmd -f flush

        eint="bce0"
        eip="218.22.33.218"
        iip="192.168.0.2"
        iint="bce1"

        m0="255.255.0.0"
        m1="255.255.255.0"
        m2="255.255.255.248"

        n1="192.168.0.0"
        n2="218.22.33.216"
        vpn="192.168.0.248"

        # pass all through loopback device
        ${fwcmd} add pass all from any to any via lo0

        # deny other lo0
        ${fwcmd} add deny all from any to 127.0.0.0/8
        ${fwcmd} add deny all from 127.0.0.0/8 to any

        # anti-hack from outside
        ${fwcmd} add deny ip from me to any in recv bce0

        # deny netbios
        ${fwcmd} add deny ip from any 137-139 to any
        ${fwcmd} add deny ip from any to any 137-139

        # SSH for localhost allow
        ${fwcmd} add allow tcp from me 22 to any
        ${fwcmd} add allow tcp from any to me 22

        # DNS transfers to world
        ${fwcmd} add allow udp from me 53 to any
        ${fwcmd} add allow udp from any to me 53

        # DNS, NTP, SNMPx2, DNSs
        ${fwcmd} add allow udp from me to any 53,123,161
        ${fwcmd} add allow udp from any 53,123,161 to me

        #  VPN-connect - это порт для даемона MPD, 
        # на него поступают запросы на авторизацию
        ${fwcmd} add allow tcp from me 1723 to any keep-state
        # GRE for MPD5 - в этот протокол инкапсулируются все пакеты
        # установившегося соединения VPN
        ${fwcmd} add allow gre from any to any
        # VPN-LAN  - разграничение двух сеток: подсети VPN и общей LAN,
        # чтобы отдельно для каждой определять правила доступа. 
        # здесь разрешаем междусобойчик этих двух сеток
        ${fwcmd} add allow all from ${vpn}/29 to ${n1}/24{1-231,240-254}
        ${fwcmd} add allow all from ${n1}/24{1-231,240-254} to ${vpn}/29

        # PROXY - это для прозрачного прокси-сервера, 
        # на моей машине он до кучи сервисов
        ${fwcmd} add fwd ${iip},3348 tcp from ${n1}/24 to any http via ${iint}
        ${fwcmd} add fwd ${iip},3348 tcp from ${n1}/24 to any https via ${iint}
        ${fwcmd} add fwd ${iip},3348 tcp from ${n1}/24 to any ftp ${iint}

        # Allow forced local PROXY - обычная прокся
        ${fwcmd} add allow tcp from ${n1}/24 to ${iip} 3348 \
                via ${iint} keep-state
        ${fwcmd} add allow tcp from not ${n1}/24 to ${eip} \
                3348 via ${eint} keep-state

        # FTP & HTTP from this server to world - для самого сервера,
        # выход в мир - качать порты, например
        ${fwcmd} add allow tcp from me to any 20,21,80,443 keep-state
        # Passive FTP backports
        ${fwcmd} add allow tcp from me to any 49151-65535 keep-state

        # FTP & HTTP to LAN
        ${fwcmd} add allow tcp from ${oip} 20,21,80,443 to ${n1}/24 \
                 via ${iint} keep-state
        ${fwcmd} add allow tcp from ${oip} 49152-65534 to ${n1}/24 \
                 via ${iint} keep-state

        # HTTP ----------local site------------ -
        # у меня тут ещё и сайт есть на серваке (: apache)
        ${fwcmd} add allow tcp from ${eip} 80 to any keep-state

        # NATd - вот правило транслирования адресов для двух сетей разделены
        ${fwcmd} nat 123 config ip ${eip}
        ${fwcmd} add nat 123 ip from ${vpn}/29 to not ${n1}/24{1-231,240-254}
        ${fwcmd} add nat 123 ip from ${n1}/24{1-231,240-249} to any
        ${fwcmd} add nat 123 ip from any to ${eip} via ${eint}

        # далее идут правила для всех клиентов, обслуживаемых через NAT: 
        # запросы из LAN в мир

        # ICMP (echo-reply,destunreach,echo-req,time exceeded,tracert)
        ${fwcmd} add deny icmp from any to any frag
        ${fwcmd} add allow icmp from any to any icmptypes 0,3,4,8,10,11,30

        # FTP & SSH from LAN
        ${fwcmd} add allow tcp from ${n1}/24{1-231,240-254} to any \
                 20,21,22,80,443 keep-state
        # Passive FTP backports
        ${fwcmd} add allow tcp from ${n1}/24{1-231,240-254} to any 49151-65535

        # MAIL (SMTP,POP3,IMAP,IMAPs, POP3s)
        ${fwcmd} add allow tcp from ${n1}/24{1-231,240-254} to any \
                 25,110,143,993,995 keep-state

        # ICQ
        ${fwcmd} add allow tcp from ${n1}/24{1-231,240-254} to any \
                 5190 keep-state

        # internal VPN-LAN to OUT
        ${fwcmd} add allow ip from any to ${vpn}/29

        # немного шейперов канала - режу скорость
        # shapes for administry
        ${fwcmd} pipe 1005 config bw 50Mbits/s
        ${fwcmd} pipe 1006 config bw 2Mbits/s
        ${fwcmd} pipe 1007 config bw 10Mbits/s

        ${fwcmd} table 54 flush
        ${fwcmd} table 54 add 192.168.0.0/24{1-10,105,246} 1005
        ${fwcmd} table 54 add 192.168.0.0/24{11-104,106-245,246-254} 1006
        ${fwcmd} table 54 add 218.63.40/24 1007
        ${fwcmd} add pipe tablearg ip from any to 'table(54)'
        ${fwcmd} add pipe tablearg ip from 'table(54)' to any

        # shapes for users
        ${fwcmd} add pipe 5 ip from any to ${n1}/24
        ${fwcmd} add pipe 5 ip from ${n1}/24 to any
        ${fwcmd} pipe 1 config bw 2Mbits/s

        # log - всё, что не пропустилось, в лог 
        # (/var/log/security по умолчанию)
        ${fwcmd} add deny log logamount 3000 all from any to any

Это не совсем оптимизированный список правил, к тому же, перегруженный - т.к. у меня на машине не один сервис, и она служит шлюзом для локальных клиентов - пропускает, проксируя, http/ftp трафик, а остальное транслирует с помощью ipfw nat - как видно из правил, это все icmp запросы (например, ping и tracert), почту и icq. Опять же, эта конфигурация рабочая и может пригодится для многих новичков, которым всё и сразу. Для каждого двустороннего правила есть краткий заголовок, думаю, все знают англицкий и аббревиатуры протоколов и даемонов (:
Итак, мы собрались ставить свеженький MPD5 и по правилам хорошего и удобного тона из портов, конечно же, благо, они свежие и ещё не успели совсем остыть:
# whereis mpd5
/usr/ports/net/mpd5
# cd /usr/ports/net/mpd5 ; make install clean

Options for mpd 5.1
   [ ] NG_CAR     Use ng_car kernel module from port (< 7.0 only)
   [ ] NG_IPACCT  Use ng_ipacct kernel module from port 
                  [...................]
                  [  OK  ]       Cancel

Я ничего не выбирал и вам не советую, так что жмём Oll Klear и понеслась.
После добавим сразу стартовую строку для MPD в /etc/rc.conf:
# echo 'mpd_enable="YES"' >> /etc/rc.conf ; echo 'mpd_flags="-b"' >> /etc/rc.conf

цифра в версии в данном случае не имеет значения. Приведённые строки после echo добавились в конец rc.conf, можете проверить командой "cat имяфайла" или "less (либо more) имяфайла".
Займёмся теперь конфигурационным файлом нашего будущего VPN сервера:
# cd /usr/local/etc/mpd5

Именно сюда установились необходимые нам файлы, но пока только примеры - .sample расширения.
Перед тем как переименовывать файлы, сделайте их резервную копию, чтобы в случае чего можно было всегда вернуться и посмотреть как сделано в примере.
# mkdir sample
# cp *.sample sample/

Переименовать множество файлов можно следующим скриптом (из-под деко не сработает, т.к. ";" - не воспринимается, нужно записать в исполняемый файл всю строку и затем его запустить):
# for i in *.sample; do mv $i `basename $i ".sample"`; done

Я доправил свой конфиг mpd.conf до такого состояния:
# ee mpd.conf

startup:
# настройки локальных мониторов по следующим реквизитам
# (vpngod:12345) для пользователя с admin-привелегиями:
       set user vpngod 12345 admin
# можно подлючиться с консоли
       set console self 127.0.0.1 5005
       set console open
# или с веба
       set web self 192.168.0.2 5006
       set web open
default: # загружаем по умолчанию профиль vpn
        load vpn
vpn: # сам профиль
# Определяем диапазон выдаваемых удалённым клиентам алиас№ 
# (адреса виртуальных подключений)
# у меня с 249го по 254ый
        set ippool add poolsat 192.168.0.249 192.168.0.254
# 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 -
# здесь задаём "шлюзовой" адрес для vpn-сервера
# который обслуживает наш поддиапазон - 192.168.0.255 в моём случае,
# и не думайте, такой адрес возможен.
# вместо виртуально выдуманного 0.255 можно задать адрес 
# сетевой bce1 - 192.168.0.2.
# но в целях дополнительной конспирации я этого делать не стал.
        set ipcp ranges 192.168.0.255/32 ippool poolsat
        # внутрикорпоративные dns-сервера, могут быть и внешние
        set ipcp dns 192.168.0.2 192.168.0.3 
#       set ipcp nbns 192.168.0.1 - у меня его нет
# The five lines below enable Microsoft Point-to-Point encryption
# (MPPE) using the ng_mppc(8) netgraph node type. 
# Поддержка шифрования Microsoft для Windows-клиентов, не изменял секцию.
        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
# Multilink adds some overhead, but gives full 1500 MTU
# различные настройки для поддержания MTU в 1500 байт
        set link enable multilink
        set link yes acfcomp protocomp
# We reducing link mtu to avoid GRE packet fragmentation.
        set link mtu 1460
# запрещаем pap (никакой защиты), 
# включаем поддержку chap (хоть какое-то предвар.рукопожатие)
        set link no pap chap
        set link enable chap
# Здесь можно подключить авторизацию по RADIUS базе, мы не используем
# иначе, нужно создать ещё одну секцию 'radius' и там задать доп.параметры
#       load radius
        set link keep-alive 10 60
# Configure PPTP - это мой внешний IP адрес, 
# на котором будет слушать MPD, на приём пациентов.
        set pptp self 218.22.33.218
# Allow to accept calls - включаем входящие "звонки" (запрос на соединение)
        set link enable incoming

В MPD5 по умолчанию поддерживаются стандартные настройки внешних виндовых клиентов, то есть, после обычного мастера настроек, вам нужно только ввести имя и пароль и больше ничего - раньше приходилось отключать шифрование пакетов и/или сжатие данных в настройках подключения (WinXP SP2/2003), об этом позже.
Теперь нам необходимо задать список пар реквизитов для авторизации внешних клиентов, он может хранится в файле mpd.secret (ещё в БД, RADIUS или в самом mpd.conf - но последнее резко не рекомендую):
# cat mpd.secret
user1       qwerty
tolya       12345
akakij       $23fS7NdsE    192.168.0.253

Мы завели троих пользователей, при чём, user1 и tolya при подключении получат случайный адрес из диапазона 192.168.0.248/29, а akakij всегда будет получать адрес 192.168.0.253.
Файл mpd.script в данном случае не используется - у меня нет dial-up интерфейсов, подключение статичное.
Для того чтобы видеть все всплески настроения даемона, создадим для него лог-файл, который по умолчанию почему-то не предусмотрен в стартовом скрипте. Для этого, откроем для редактирования:
# ee /etc/syslog.conf

И добавим в конец файла:
!mpd
*.*                                             /var/log/mpd.log

Создадим соответствующий файл, зададим ему права только на чтение root'ом и перезапустим syslog:
# touch /var/log/mpd.log ; chmod 600 /var/log/mpd.log && /etc/rc.d/syslogd reload

Проверяем работоспособность даемона:
# /usr/local/etc/rc.d/mpd5 start

Создаём новое подключение на удалённом клиенте (для проверки можно и на LAN-машине):
заходим в панель управления > создаём новое подключение либо слева,либо в меню "файл" > подключить к сети на рабочем столе > наш выбор снова VPN (второе) > адрес в моём случае как на картинке > я бы для удобства поставил галку на "создать ярлык на рабочем стуле" и готово > вносим данные и подключить > подключено.
и смотрим в лог:
# cat /var/log/mpd.log
Jun 5 17:26:10 ns1 mpd: [L-1] Accepting PPTP connection
Jun 5 17:26:10 ns1 mpd: [L-1] Link: OPEN event
Jun 5 17:26:10 ns1 mpd: [L-1] LCP: Open event
Jun 5 17:26:10 ns1 mpd: [L-1] LCP: state change Initial --> Starting
Jun 5 17:26:10 ns1 mpd: [L-1] LCP: LayerStart
Jun 5 17:26:10 ns1 mpd: [L-1] PPTP: attaching to peer's outgoing call
Jun 5 17:26:10 ns1 mpd: [L-1] Link: UP event
Jun 5 17:26:10 ns1 mpd: [L-1] Link: origination is remote
Jun 5 17:26:10 ns1 mpd: [L-1] LCP: Up event
Jun 5 17:26:10 ns1 mpd: [L-1] LCP: state change Starting --> Req-Sent
Jun 5 17:26:10 ns1 mpd: [L-1] LCP: SendConfigReq #1
Jun 5 17:26:10 ns1 mpd: ACFCOMP
Jun 5 17:26:10 ns1 mpd: PROTOCOMP
Jun 5 17:26:10 ns1 mpd: MRU 1500
Jun 5 17:26:10 ns1 mpd: MAGICNUM ed4e3296
Jun 5 17:26:10 ns1 mpd: AUTHPROTO CHAP MSOFTv2
Jun 5 17:26:10 ns1 mpd: MP MRRU 1600
Jun 5 17:26:10 ns1 mpd: MP SHORTSEQ
Jun 5 17:26:10 ns1 mpd: ENDPOINTDISC [802.1] ** ** ** ** ** **
Jun 5 17:26:10 ns1 mpd: [L-1] LCP: rec'd Configure Request #0 (Req-Sent)
Jun 5 17:26:10 ns1 mpd: MRU 1400
Jun 5 17:26:10 ns1 mpd: MAGICNUM 5c74770f
Jun 5 17:26:10 ns1 mpd: PROTOCOMP
Jun 5 17:26:10 ns1 mpd: ACFCOMP
Jun 5 17:26:10 ns1 mpd: CALLBACK 6
Jun 5 17:26:10 ns1 mpd: MP MRRU 1614
Jun 5 17:26:10 ns1 mpd: ENDPOINTDISC [LOCAL] 60 6c 53 98 57 8a 40 ea b3 9f 08 31 d2 04 dc e3 00 00 0
Jun 5 17:26:10 ns1 mpd: [L-1] LCP: SendConfigRej #0
Jun 5 17:26:10 ns1 mpd: CALLBACK 6
Jun 5 17:26:10 ns1 mpd: [L-1] LCP: rec'd Configure Request #1 (Req-Sent)
Jun 5 17:26:10 ns1 mpd: MRU 1400
Jun 5 17:26:10 ns1 mpd: MAGICNUM 5c74770f
Jun 5 17:26:10 ns1 mpd: PROTOCOMP
Jun 5 17:26:10 ns1 mpd: ACFCOMP
Jun 5 17:26:10 ns1 mpd: MP MRRU 1614
Jun 5 17:26:10 ns1 mpd: ENDPOINTDISC [LOCAL] 60 6c 53 98 57 8a 40 ea b3 9f 08 31 d2 04 dc e3 00 00 0
Jun 5 17:26:10 ns1 mpd: [L-1] LCP: SendConfigNak #1
Jun 5 17:26:10 ns1 mpd: MP MRRU 1600
Jun 5 17:26:10 ns1 mpd: [L-1] LCP: rec'd Configure Request #2 (Req-Sent)
Jun 5 17:26:10 ns1 mpd: MRU 1400
Jun 5 17:26:10 ns1 mpd: MAGICNUM 5c74770f
Jun 5 17:26:10 ns1 mpd: PROTOCOMP
Jun 5 17:26:10 ns1 mpd: ACFCOMP
Jun 5 17:26:10 ns1 mpd: MP MRRU 1600
Jun 5 17:26:10 ns1 mpd: ENDPOINTDISC [LOCAL] 60 6c 53 98 57 8a 40 ea b3 9f 08 31 d2 04 dc e3 00 00 0
Jun 5 17:26:10 ns1 mpd: [L-1] LCP: SendConfigAck #2
Jun 5 17:26:10 ns1 mpd: MRU 1400
Jun 5 17:26:10 ns1 mpd: MAGICNUM 5c74770f
Jun 5 17:26:10 ns1 mpd: PROTOCOMP
Jun 5 17:26:10 ns1 mpd: ACFCOMP
Jun 5 17:26:10 ns1 mpd: MP MRRU 1600
Jun 5 17:26:10 ns1 mpd: ENDPOINTDISC [LOCAL] 60 6c 53 98 57 8a 40 ea b3 9f 08 31 d2 04 dc e3 00 00 0
Jun 5 17:26:10 ns1 mpd: [L-1] LCP: state change Req-Sent --> Ack-Sent
Jun 5 17:26:12 ns1 mpd: [L-1] LCP: SendConfigReq #2
Jun 5 17:26:12 ns1 mpd: ACFCOMP
Jun 5 17:26:12 ns1 mpd: PROTOCOMP
Jun 5 17:26:12 ns1 mpd: MRU 1500
Jun 5 17:26:12 ns1 mpd: MAGICNUM ed4e3296
Jun 5 17:26:12 ns1 mpd: AUTHPROTO CHAP MSOFTv2
Jun 5 17:26:12 ns1 mpd: MP MRRU 1600
Jun 5 17:26:12 ns1 mpd: MP SHORTSEQ
Jun 5 17:26:12 ns1 mpd: ENDPOINTDISC [802.1] ** ** ** ** ** **
Jun 5 17:26:12 ns1 mpd: [L-1] LCP: rec'd Configure Reject #2 (Ack-Sent)
Jun 5 17:26:12 ns1 mpd: MP SHORTSEQ
Jun 5 17:26:12 ns1 mpd: [L-1] LCP: SendConfigReq #3
Jun 5 17:26:12 ns1 mpd: ACFCOMP
Jun 5 17:26:12 ns1 mpd: PROTOCOMP
Jun 5 17:26:12 ns1 mpd: MRU 1500
Jun 5 17:26:12 ns1 mpd: MAGICNUM ed4e3296
Jun 5 17:26:12 ns1 mpd: AUTHPROTO CHAP MSOFTv2
Jun 5 17:26:12 ns1 mpd: MP MRRU 1600
Jun 5 17:26:12 ns1 mpd: ENDPOINTDISC [802.1] ** ** ** ** ** **
Jun 5 17:26:12 ns1 mpd: [L-1] LCP: rec'd Configure Ack #3 (Ack-Sent)
Jun 5 17:26:12 ns1 mpd: ACFCOMP
Jun 5 17:26:12 ns1 mpd: PROTOCOMP
Jun 5 17:26:12 ns1 mpd: MRU 1500
Jun 5 17:26:12 ns1 mpd: MAGICNUM ed4e3296
Jun 5 17:26:12 ns1 mpd: AUTHPROTO CHAP MSOFTv2
Jun 5 17:26:12 ns1 mpd: MP MRRU 1600
Jun 5 17:26:12 ns1 mpd: ENDPOINTDISC [802.1] ** ** ** ** ** **
Jun 5 17:26:12 ns1 mpd: [L-1] LCP: state change Ack-Sent --> Opened
Jun 5 17:26:12 ns1 mpd: [L-1] LCP: auth: peer wants nothing, I want CHAP
Jun 5 17:26:12 ns1 mpd: [L-1] CHAP: sending CHALLENGE #1 len: 21
Jun 5 17:26:12 ns1 mpd: [L-1] LCP: LayerUp
Jun 5 17:26:12 ns1 mpd: [L-1] LCP: rec'd Ident #3 (Opened)
Jun 5 17:26:12 ns1 mpd: MESG: MSRASV5.10
Jun 5 17:26:12 ns1 mpd: [L-1] LCP: rec'd Ident #4 (Opened)
Jun 5 17:26:12 ns1 mpd: MESG: MSRAS-0-KOSTIK-100
Jun 5 17:26:12 ns1 mpd: [L-1] CHAP: rec'd RESPONSE #1 len: 61
Jun 5 17:26:12 ns1 mpd: Name: "usat001"
Jun 5 17:26:12 ns1 mpd: [L-1] AUTH: Trying INTERNAL
Jun 5 17:26:12 ns1 mpd: [L-1] AUTH: INTERNAL returned undefined
Jun 5 17:26:12 ns1 mpd: [L-1] CHAP: Auth return status: undefined
Jun 5 17:26:12 ns1 mpd: Response is valid
Jun 5 17:26:12 ns1 mpd: Reply message: S=566AEC3499DA1DE852DFFDA963054A2FA4D64747
Jun 5 17:26:12 ns1 mpd: [L-1] CHAP: sending SUCCESS #1 len: 46
Jun 5 17:26:12 ns1 mpd: [L-1] LCP: authorization successful
Jun 5 17:26:12 ns1 mpd: [L-1] Link: Matched action 'bundle "B" ""'
Jun 5 17:26:12 ns1 mpd: [L-1] Creating new bundle using template "B".
Jun 5 17:26:12 ns1 mpd: [B-1] Bundle: Interface ng0 created
Jun 5 17:26:12 ns1 mpd: [B-1] Bundle: Status update: up 1 link, total bandwidth 64000 bps
Jun 5 17:26:12 ns1 mpd: [B-1] IPCP: Open event
Jun 5 17:26:12 ns1 mpd: [B-1] IPCP: state change Initial --> Starting
Jun 5 17:26:12 ns1 mpd: [B-1] IPCP: LayerStart
Jun 5 17:26:12 ns1 mpd: [B-1] CCP: Open event
Jun 5 17:26:12 ns1 mpd: [B-1] CCP: state change Initial --> Starting
Jun 5 17:26:12 ns1 mpd: [B-1] CCP: LayerStart
Jun 5 17:26:12 ns1 mpd: [B-1] IPCP: Up event
Jun 5 17:26:12 ns1 mpd: [B-1] IPCP: Got IP 192.168.0.251 from pool "poolsat"
Jun 5 17:26:12 ns1 mpd: [B-1] IPCP: state change Starting --> Req-Sent
Jun 5 17:26:12 ns1 mpd: [B-1] IPCP: SendConfigReq #1
Jun 5 17:26:12 ns1 mpd: IPADDR 192.168.0.255
Jun 5 17:26:12 ns1 mpd: COMPPROTO VJCOMP, 16 comp. channels, no comp-cid
Jun 5 17:26:12 ns1 mpd: [B-1] CCP: Up event
Jun 5 17:26:12 ns1 mpd: [B-1] CCP: state change Starting --> Req-Sent
Jun 5 17:26:12 ns1 mpd: [B-1] CCP: SendConfigReq #1
Jun 5 17:26:12 ns1 mpd: MPPC
Jun 5 17:26:12 ns1 mpd: 0x01000060:MPPE(40, 128 bits), stateless
Jun 5 17:26:12 ns1 mpd: [B-1] CCP: rec'd Configure Request #5 (Req-Sent)
Jun 5 17:26:12 ns1 mpd: MPPC
Jun 5 17:26:12 ns1 mpd: 0x010000e1:MPPC, MPPE(40, 56, 128 bits), stateless
Jun 5 17:26:12 ns1 mpd: [B-1] CCP: SendConfigNak #5
Jun 5 17:26:12 ns1 mpd: MPPC
Jun 5 17:26:12 ns1 mpd: 0x01000040:MPPE(128 bits), stateless
Jun 5 17:26:12 ns1 mpd: [B-1] IPCP: rec'd Configure Request #6 (Req-Sent)
Jun 5 17:26:12 ns1 mpd: IPADDR 0.0.0.0
Jun 5 17:26:12 ns1 mpd: NAKing with 192.168.0.251
Jun 5 17:26:12 ns1 mpd: PRIDNS 0.0.0.0
Jun 5 17:26:12 ns1 mpd: NAKing with 192.168.0.3
Jun 5 17:26:12 ns1 mpd: PRINBNS 0.0.0.0
Jun 5 17:26:12 ns1 mpd: SECDNS 0.0.0.0
Jun 5 17:26:12 ns1 mpd: NAKing with 192.168.0.2
Jun 5 17:26:12 ns1 mpd: SECNBNS 0.0.0.0
Jun 5 17:26:12 ns1 mpd: [B-1] IPCP: SendConfigRej #6
Jun 5 17:26:12 ns1 mpd: PRINBNS 0.0.0.0
Jun 5 17:26:12 ns1 mpd: SECNBNS 0.0.0.0
Jun 5 17:26:12 ns1 mpd: [B-1] IPCP: rec'd Configure Reject #1 (Req-Sent)
Jun 5 17:26:12 ns1 mpd: COMPPROTO VJCOMP, 16 comp. channels, no comp-cid
Jun 5 17:26:12 ns1 mpd: [B-1] IPCP: SendConfigReq #2
Jun 5 17:26:12 ns1 mpd: IPADDR 192.168.0.255
Jun 5 17:26:12 ns1 mpd: [B-1] CCP: rec'd Configure Nak #1 (Req-Sent)
Jun 5 17:26:12 ns1 mpd: MPPC
Jun 5 17:26:12 ns1 mpd: 0x01000040:MPPE(128 bits), stateless
Jun 5 17:26:12 ns1 mpd: [B-1] CCP: SendConfigReq #2
Jun 5 17:26:12 ns1 mpd: MPPC
Jun 5 17:26:12 ns1 mpd: 0x01000040:MPPE(128 bits), stateless
Jun 5 17:26:12 ns1 mpd: [B-1] CCP: rec'd Configure Request #7 (Req-Sent)
Jun 5 17:26:12 ns1 mpd: MPPC
Jun 5 17:26:12 ns1 mpd: 0x01000040:MPPE(128 bits), stateless
Jun 5 17:26:12 ns1 mpd: [B-1] CCP: SendConfigAck #7
Jun 5 17:26:12 ns1 mpd: MPPC
Jun 5 17:26:12 ns1 mpd: 0x01000040:MPPE(128 bits), stateless
Jun 5 17:26:12 ns1 mpd: [B-1] CCP: state change Req-Sent --> Ack-Sent
Jun 5 17:26:12 ns1 mpd: [B-1] IPCP: rec'd Configure Request #8 (Req-Sent)
Jun 5 17:26:12 ns1 mpd: IPADDR 0.0.0.0
Jun 5 17:26:12 ns1 mpd: NAKing with 192.168.0.251
Jun 5 17:26:12 ns1 mpd: PRIDNS 0.0.0.0
Jun 5 17:26:12 ns1 mpd: NAKing with 192.168.0.3
Jun 5 17:26:12 ns1 mpd: SECDNS 0.0.0.0
Jun 5 17:26:12 ns1 mpd: NAKing with 192.168.0.2
Jun 5 17:26:12 ns1 mpd: [B-1] IPCP: SendConfigNak #8
Jun 5 17:26:12 ns1 mpd: IPADDR 192.168.0.251
Jun 5 17:26:12 ns1 mpd: PRIDNS 192.168.0.3
Jun 5 17:26:12 ns1 mpd: SECDNS 192.168.0.2
Jun 5 17:26:12 ns1 mpd: [B-1] IPCP: rec'd Configure Ack #2 (Req-Sent)
Jun 5 17:26:12 ns1 mpd: IPADDR 192.168.0.255
Jun 5 17:26:12 ns1 mpd: [B-1] IPCP: state change Req-Sent --> Ack-Rcvd
Jun 5 17:26:12 ns1 mpd: [B-1] CCP: rec'd Configure Ack #2 (Ack-Sent)
Jun 5 17:26:12 ns1 mpd: MPPC
Jun 5 17:26:12 ns1 mpd: 0x01000040:MPPE(128 bits), stateless
Jun 5 17:26:12 ns1 mpd: [B-1] CCP: state change Ack-Sent --> Opened
Jun 5 17:26:12 ns1 mpd: [B-1] CCP: LayerUp
Jun 5 17:26:12 ns1 mpd: Compress using: mppc (MPPE(128 bits), stateless)
Jun 5 17:26:12 ns1 mpd: Decompress using: mppc (MPPE(128 bits), stateless)
Jun 5 17:26:12 ns1 mpd: [B-1] IPCP: rec'd Configure Request #9 (Ack-Rcvd)
Jun 5 17:26:12 ns1 mpd: IPADDR 192.168.0.251
Jun 5 17:26:12 ns1 mpd: 192.168.0.251 is OK
Jun 5 17:26:12 ns1 mpd: PRIDNS 192.168.0.3
Jun 5 17:26:12 ns1 mpd: SECDNS 192.168.0.2
Jun 5 17:26:12 ns1 mpd: [B-1] IPCP: SendConfigAck #9
Jun 5 17:26:12 ns1 mpd: IPADDR 192.168.0.251
Jun 5 17:26:12 ns1 mpd: PRIDNS 192.168.0.3
Jun 5 17:26:12 ns1 mpd: SECDNS 192.168.0.2
Jun 5 17:26:12 ns1 mpd: [B-1] IPCP: state change Ack-Rcvd --> Opened
Jun 5 17:26:12 ns1 mpd: [B-1] IPCP: LayerUp
Jun 5 17:26:12 ns1 mpd: 192.168.0.255 -> 192.168.0.251
Jun 5 17:26:12 ns1 mpd: [B-1] IFACE: Up event

При этом в ifconfig появился (до mpd5 все виртуальные интерфейсы висели со старта даемона) новый виртуальный interface:
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> 
metric 0 mtu 1500 inet 192.168.0.255 --> 192.168.0.251 netmask 0xffffffff

Заходим из браузера по адресу http://218.22.33.218:5006 (логин:пароль из mpd.conf - vpngod:12345):
Multi-link PPP Daemon for FreeBSD
Current status summary
Bund	Iface	IPCP	IPV6CP	CCP	ECP	Link	LCP	User	Device	Peer		
  	L 	Initial 		pptp 	DOWN 			
B 		Down 	Initial 	Initial 	Initial 	Initial 	 
B-1 	ng0 	Up 	Opened 	Initial 	Opened 	Initial 	L-1 	>
>Opened 	tolya 	pptp 	UP 	*.*.*.* 		<=		[Open][Close]

Чтобы зайти с консоли сервера (на localhost=127.0.0.1), задействуем telnet с теми же реквизитами (vpngod:12345):
# telnet 127.0.0.1 5005
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Multi-link PPP daemon for FreeBSD

Username: vpngod
Password:

Welcome!
Mpd pid 98350, version 5.0 (root@*******.ru 12:50 12-Apr-2008)
[] ?
Available commands:
bundle : Choose/list bundles close : Close a layer
create : Create new item destroy : Destroy item
exit : Exit console iface : Choose bundle by iface
help : Help on any command link : Choose link
load : Read from config file log : Set/view log options
msession : Ch. bundle by msession-id open : Open a layer
quit : Quit program repeater : Choose/list repeaters
session : Choose link by session-id set : Set parameters
show : Show status
[]

Надо отметить, что через консольные команды доступно очень немало действий, просмотрите хотя бы самостоятельно команду show.
В случае, если у вас не указан чёткий адрес для логина, то по этому логину можно подключаться со стольки клиентов (windows-машин,например), сколько адресов у вас в подсети выделенной для VPN, т.е.:
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST>
metric 0 mtu 1500
inet 192.168.0.255 --> 192.168.0.251 netmask 0xffffffff
ng1: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST>
metric 0 mtu 1396
inet 192.168.0.255 --> 192.168.0.253 netmask 0xffffffff

это я зашёл с двух разных PC по одним и тем же реквизитам - разные vpn-адреса.
Если что не так, смотрите логи, ошибки windows-клиентов и ещё пользуйтесь tcpdump (встроена в FreeBSD) и например, trafshow:
# whereis trafshow
trafshow: /usr/ports/net/trafshow
# cd /usr/ports/net/trafshow; make install clean ; rehash ; trafshow

Interface         Address         Description

bce0              **:**:**:**:**:** 218.22.33.218                      Ethernet
ng0               192.168.0.255                                       Loopback
bce1              **:**:**:**:**:** 192.168.0.2                        Ethernet
ng1               192.168.0.255                                       Loopback
lo0               127.0.0.1                                           Loopback

далее, выбираем курсорами сетевую и жмём энтер - вы увидите все текущие соединения и потоки в кбит/с и суммарным траффиком.

Вроде всё (:



Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?t=9137.

размещено: 2008-05-31,
последнее обновление: 2011-11-14,
автор: roygbiv

оценить статью:

corky, 2008-06-09 в 3:12:40

спасибо автору! по другому чуток, но в целом описанные в статье опции ускорили процесс настройки mpd5 pptp client + kernel nat на 2 интерфейса для подключения внутренней сетки к инету провайдера

RapteR, 2008-06-09 в 9:26:03

Все классно и замечательно работает, автору благодарность. Вопрос такой: клиент конектиться и получает адресс 192.168.100.11 а адрес сервера почему то остается как в локальной сети 192.168.1.253. Какой опцией задается "Адрес сервера"?

Foblas, 2008-06-10 в 3:41:45

Афтору плюсик, но таких статей навалом по инету. Если бы рассказали как прикрутить к mpd радиус с каким нибудь работающим биллингом чтобы с пользователей статистику снимать/блочить/ограничивать по времени/траффику было бы гораздо-гораздее.

RapteR, 2008-06-10 в 9:56:35

Foblas - собственно этим сейчас на работе и занимаюсь, как даделаю запостю статью.

roygbiv, 2008-06-10 в 13:49:21

Rapter,
# Specify IP address pool for dynamic assigment - здесь задаём "шлюзовой" адрес для vpn-сервера
# который обслуживает наш поддиапазон - 192.168.0.255 в моём случае, и не думайте, такой адрес возможен.
# вместо виртуально выдуманного 0.255 можно задать адрес сетевой bce1 - 192.168.0.2.
# но в целях дополнительной конспирации я этого делать не стал.
       set ipcp ranges 192.168.0.255/32 ippool poolsat
Т.е. 192.168.0.255 (вещание 255.255.255.255 = /32 префикс) - здесь адрес сервера для уже подключённых по vpn-клиентов, его можно выставить практически любой.

RapteR, 2008-06-10 в 13:55:43

set ipcp ranges в моем понимании это дефайлт рутер. на ип сервера это не влияет.

roygbiv, 2008-06-10 в 14:05:09

Foblas, цель не просто описать банальную установку, а полное решение - то есть от начала и до конца провести по всем этапам. Для 5го mpd я честно ничего не нашёл месяц назад, а в связке с ipfw-nat тем более. Решил в общем-то простую проблему, но решил поделиться - мне таких описаний очень не хватало 2 года назад. Фактически, это готовое решение.
С radius это гуд, тоже поглядел бы - а то всё никак руки не дойдут до биллинга (не очень нужен пока), хотя с радиусом mpd4 в прошлом году скрутил по очень хорошему ману на opennet. А netams никак? Его с netflow хорошо вязать.
Вообще, ребят, делитесь инфой, это ж благо (:

Foblas, 2008-06-12 в 20:01:49

RapteR аналогично =) Искал-гугли, пару находил решений древних, но ниодно не заработало как надо. Сейчас думаю попробовать с abills разобраться.

Кстати, может кто подскажет каким образом на один и тот же интерфейс ngX вешать один и тот же ip при подключении пользователя?

Foblas, 2008-06-12 в 20:03:23

Сорри, roygbiv, прошлый пост был адресован тебе

paradox, 2008-06-13 в 1:19:31

>Foblas
зачем вешать на один и тот же ngX
помоему вы в чем то неразобрались

Foblas, 2008-06-13 в 3:21:04

а чтобы для каждого пользователя общий траффик считать

paradox, 2008-06-13 в 12:14:20

ну вы меня теперь точно добили
а радиус для чего?
и причем тут один и тот же ip на один интерфейс
неее
я вам советую очень хорошо изучить mpd
и саму систему

Foblas, 2008-06-13 в 18:11:55

Да без радиуса у меня сделано.
Был ба радиус с биллингом, эти глупые идею автоматически бы отпали за ненадобностью.

paradox, 2008-06-13 в 20:03:42

ну так поставте радиус
в чем проблема
либо если радиус ненравиться
есть up/down скрипты в mpd
по которым тоже можно считать
а то придумываете всякое...

dovidov, 2008-06-28 в 17:41:36

попробовал mpd5, для юзеров у которых явно не прописан ip вылетает ошибка "сервер не назначил адрес" и соответственно дисконнект, в логах mpd не обнаружил "Got IP ххх.ххх.ххх.ххх from pool "pool1""

RapteR, 2008-06-28 в 18:41:49

по идеи за это отвечает:
set ippool add poolsat 192.168.0.249 192.168.0.254

допускаю конечно что такой косяк имеет место быть, в понедельник проверю у себя с динамической выдачей.

dovidov, 2008-06-30 в 11:03:21

в данной статье в логах видна динамическая выдача "Got IP 192.168.0.251 from pool "poolsat"", но у меня (с практически аналогичными настройками mpd.conf) выдача не происходит... mpd-5.0.b1, FreeBSD-7.0-RELEASE, amd64...

dovidov, 2008-06-30 в 19:50:13

есть ещё один нюанс, если в юзерских настройках впн подключения задать ip-адрес, то ему назначится именно указанный им адрес, а нето что указан в mpd.secret, что тоже не есть хорошо...

RapteR, 2008-07-01 в 6:01:59

dovidov - это обман. У меня mpd5 радостно сообщает, что ip отвергнут.

dovidov, 2008-07-01 в 10:21:27

виноват... прописал ip на пользователя у которого не был указан ip в mpd.secret, для тех у кого указан, отвергает.

Nordy, 2008-09-18 в 10:53:21

Автор либо чайник либо раздолбай
при таких правилах его сайт увидят только внутри сети, да и то сомневаюсь.
# HTTP ----------local site----------— -
# у меня тут ещё и сайт есть на серваке (: apache)
${fwcmd} add allow tcp from ${eip} 80 to any keep-state
Должно быть
${fwcmd} add allow tcp from any to ${eip} 80 keep-state
а еще лучше
${fwcmd} add allow tcp from any to me 80 keep-state

lissyara, 2008-09-18 в 11:15:30

Автор и не писал что это внешний сайт.
И для кого сайт - тоже не писал.
Вполне может быть чисто внутренний сайт.

Nordy, 2008-09-18 в 15:17:52

Внутренний сайт на внешнем интерфейсе? верх извращений..
судя по этому правилу сайт САМ отдает контент клиентам направо и налево... какие уж там запросы к серверу от клиентов..  
Сойдемся на том, что автор описАлся

mazdayka, 2008-09-18 в 17:56:50

что то тут не сходится!
при таком раскладе правил у меня вообще файер не пашет:(
FreeBSD 7.0
и откуда появился ${oip} ?

Rimlyanin, 2008-10-01 в 23:58:29

я ньюб, может я ещё не все понимаю. но у меня:

gate# cat /usr/local/etc/mpd5/mpd.conf.sample | grep set | grep ccp |grep yes | grep mpp
       set ccp yes mppc
       set ccp yes mpp-e40
       set ccp yes mpp-e128
       set ccp yes mpp-stateless
       set ccp yes mppc
       set ccp yes mpp-e40
       set ccp yes mpp-e128
       set ccp yes mpp-stateless
gate#

Саша, 2008-10-02 в 17:56:29

The five lines below enable Microsoft Point-to-Point encryption
# (MPPE) using the ng_mppc(8) netgraph node type. Поддержка шифрования Microsoft
# для Windows-клиентов, не изменял секцию
       set bundle enable compression
       set ccp yes mppc
       set mppc yes e40 #ошибочка
       set mppc yes e128 #ошибочка
       set mppc yes stateless #ошибочка


Sep 16 11:42:23 olimp-motors mpd: mpd.conf:52: Unknown command: 'set mppc'. Try "help".
Sep 16 11:42:23 olimp-motors mpd: mpd.conf:53: Unknown command: 'set mppc'. Try "help".
Sep 16 11:42:23 olimp-motors mpd: mpd.conf:54: Unknown command: 'set mppc'. Try "help".

надо
       set ccp yes e40
       set ccp yes e128
       set ccp yes stateless



alik, 2009-01-19 в 15:39:45

.... deleted ......
каммент удалён администратором.
пишите в форум

alik, 2009-01-19 в 15:42:58

Прошу прошения, за бардак, я случайно.

docd, 2009-01-19 в 20:29:38

Классно, супер НО! Я в сети практически ничего не нашёл о l2tp/ipsec для Win!(set l2tp) Поделитесь секретом в виде статьи :-)).

omega, 2009-01-27 в 13:44:36

# shapes for users
       ${fwcmd} add pipe 5 ip from any to ${n1}/24
       ${fwcmd} add pipe 5 ip from ${n1}/24 to any
       ${fwcmd} pipe 1 config bw 2Mbits/s

А тут случаем очепятки нету? pipe 1 config там не 5 случаем должно быть?

Wic, 2009-02-20 в 18:40:53

Отличная статья, хорошо описан фаервол, настройка и сборка ядра, и сама процедура подъема сервера тоже хорошо описана.
Только новичкам не стоит бездумно сдирать конфиги, всё нужно продумывать и понимать, а не скопировал вставил и разбираться почему не работает то или это.
ps когда собирал руками mpd5.2 из портов руками то нужно было сделать ./src/configure а только потом make install all, как описано в ридми

tez, 2009-05-09 в 23:08:25

Хочу сказать просто БОЛЬШУШЧЕЕ спасибо...

sergicus, 2009-10-01 в 9:27:24

Спасибо за статью, помогла

daggerok, 2009-10-03 в 20:15:25

        # PROXY - это для прозрачного прокси-сервера, на моей машине он до кучи сервисов
       ${fwcmd} add fwd ${iip},3348 tcp from ${n1}/24 to any http via ${iint}
       ${fwcmd} add fwd ${iip},3348 tcp from ${n1}/24 to any https via ${iint}

расскажите, чем вы прозрачно проксируете https траффик?

да, 2010-04-27 в 4:40:05

daggerok
Порты 80 и 443 проксируются сквидом или хз чем на порту 3348 скорее для подсчета трафика и резки баннеров. Всё остальное идёт через нат

daggerok, 2010-04-28 в 12:55:40

>да, 2010-04-27 в 4:40:05
>daggerok
>Порты 80 и 443 проксируются сквидом или хз чем на >порту 3348 скорее для подсчета трафика и резки >баннеров. Всё остальное идёт через нат

на сколько я знаю - прозрачно проксировать https-трафик нельзя, ну или во всяком случае у меня сквидой не получилось этого добиться. именно поэтому я и спросил - чем именно Вы его прозрачно проксируете. так как у меня, там где стоит прозрачный проксик, весь https-трафик ходит по нату.

ASM, 2010-05-24 в 20:20:19

Автор, обратите внимание, в эти строки вкралась ошибка:
# FTP & HTTP to LAN
${fwcmd} add allow tcp from ${oip} 20,21,80,443 to  {n1}/24 via ${iint} keep-state
${fwcmd} add allow tcp from ${oip} 49152-65534 to ${n1}/24 via ${iint} keep-state
Дело в том, что переменная ${oip} не обозначена, и насколько я понял, нужно сделать замену ${oip} на ${eip}.

ASM, 2010-05-24 в 21:05:44

Еще вот что. С правилом ${fwcmd} add allow tcp from me 1723 to any keep-state должно идти правило ${fwcmd} allow tcp from any to me dst-port 1723 keep-state, иначе мы просто не сможем подключиться к серверу.

aspera, 2010-08-19 в 17:36:32

И вообще не стоит использовать "me" в конфиге фаервола, если у вас будет несколько адресов провайдера и коннектится будут не на дефолтный гейт, то тупо не отработает. А после разделения трафика по направлениям "me" использовать нельзя вообще...
Лучше будет ipfw add allow tcp from any to $oip 1723 keep-state

aspera, 2010-08-19 в 17:38:38

P.S.: если указать правило ipfw add allow tcp from any to $oip 1723 keep-state то  правило ${fwcmd} add allow tcp from me 1723 to any keep-state вообще не нужно

tehnikpc, 2012-09-11 в 13:55:59

"# deny netbios
       ${fwcmd} add deny ip from any 137-139 to any
       ${fwcmd} add deny ip from any to any 137-13"
Зачем samba прибили? :). Бедные пользователи :).

tehnikpc, 2012-09-11 в 14:01:34

"# SSH for localhost allow
       ${fwcmd} add allow tcp from me 22 to any
       ${fwcmd} add allow tcp from any to me 22"
Это глобальное правило.

tehnikpc, 2012-09-11 в 14:05:29

"#  VPN-connect - это порт для даемона MPD,
       # на него поступают запросы на авторизацию
       ${fwcmd} add allow tcp from me 1723 to any keep-state"
Это правило для исходящего порта 1723, а нужно наоборот открыть входящий.


Оставьте свой комментарий:
Ваше имя:   *
e-mail:  
жирный
наклонный
подчёркнутый
ссылка
цвет
Нынешний год:   *
 


Хостинг HOST-FOOD

2014-07-27, lissyara
gmirror

Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9

Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту

Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis

Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS

Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT

В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat

Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp

Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration

Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster

HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS

История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire

Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной

Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server

Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
2011-01-07, lissyara
Canon/gphotofs

Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
2010-12-13, Al
IPSec

Описание принципов работы IPSEC и способов аутентификации.
2010-12-07, manefesto
FreeBSD on flash

Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
2010-12-05, Fomalhaut
root ZFS, GPT

Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
2010-09-05, Cancer
Настройка аудиоплеера на ximp3

Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
2010-08-31, Cancer
Установка и настройка OpenVPN

На днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах.
2010-08-25, manefesto
freebsd lvm

Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
2010-04-30, gonzo111
proftpd file auth&quota

Proftpd - квоты и авторизация из файлов, без использования базы данных и/или системных пользователей
2010-04-22, lissyara
tw_cli

Пошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email.
2010-04-14, fox
MySQL Master+Master

MySQL (Master Master) and (Master Slave) Как настроить репликацию…
2010-03-09, terminus
DNS zones

Краткий ликбез про управление DNS зонами. Примеры проведения делегирования прямых и обратных DNS зон.
2010-03-09, aspera
Squid+AD (group access)

Настройка прокси сервера SQUID с автроризацией пользователей в AD. Разделение пользователей на группы
2010-03-02, BlackCat
Шлюз: Часть 4

Настройка дополнительных сервисов: синхронизация времени (OpenNTPD), клиент DynDNS.org.
2010-03-01, BlackCat
Шлюз: Часть 3

Настройка DHCP и DNS серверов для работы внутри частной сети, c поддержкой внутренних (частных зон) DNS, а так же интеграция DHCP и DNS сервисов.
2010-03-01, BlackCat
Шлюз: Часть 2

Конфигурация МСЭ pf для проброса портов с изменением порта назначения и без, а так же поддержки активного режима FTP и ограничения максимального размера сегмента
2010-03-01, BlackCat
Шлюз: Часть 1

Быстрая настройка шлюза/маршрутизатора с установлением PPPoE-соединения, поддержкой NAT и DNS-forwarding.
2010-02-23, Morty
darkstat

Простая считалка траффика, со встроенным веб-сервером. Очень маленькая, может делать отчеты трафика по хостам, портам, протоколам, а также строить графики
2010-01-23, gonzo111
squid+sams+sqstat

Пилим squid и sams - примеры конфигов с объяснениями. Установка SqStat.
2009-12-19, schizoid
mpd5 + radius + ng_car + Abills

Настройка pppoe-сервера с биллинговой системой Abills и шейпером ng_car
2009-11-16, lissyara
UFS->ZFS

Удалённая миграция с UFS на ZFS. Загрузка с раздела zfs. Настройка для работы с малым количеством памяти под архитектурой i386.
2009-11-13, gx_ua
fusefs-ntfs

Установка, настройка и использование fusefs-ntfs, драйвер NTFS, предназанченного для монтирования NTFS разделов под FreeBSD
2009-11-12, Morty
LiveCD

Создание собственного LiveCD с необходимыми вам изменениями, автоматизирование данного процесса, а так же вариант скоростной сборки СД.
2009-09-27, lissyara
Samba как PDC

Контроллер домена - аналог M$ NT4 домена под самбой, без использования LDAP и прочей хиромантии. Просто и быстро =)
2009-08-30, terminus
ipfw nat

Подробное руководство по ipfw nat, сложные случаи конфигурации.
2009-08-24, levantuev
HotSpot

Установка Hotspot системы в общественное заведение.
2009-08-18, lissyara
diskless

Создание бездисковых терминалов под управлением FreeBSD - с загрузкой по сети. Используются для старта rdesktop и подключения к виндовому серверу терминалов.
2009-07-29, BAV_Lug
Видеонаблюдение

Настройка бюджетного варианта видеонаблюдения на удаленном объекте
2009-07-22, Cancer
OpenLDAP адресная книга

Настройка и создание адресной книги на базе OpenLDAP + phpLDAPadmin
2009-06-30, SergeySL
AimSniff

Руководство по созданию системы мониторинга ICQ-переписки на базе AimSniff, использующей базу данных MySQL для хранения и Web-интерфейс WAS (Web Aim Sniff) для просмотра перехваченных сообщений
2009-06-25, atrium
Управление правами доступа

Полномочия пользователей и файлов, принадлежащих им, формирует концепцию ОС UNIX.
2009-06-16, DNK
Exim+PgSQL

Установка почтовой системы exim+pgsql на FreeBSD 7.1
2009-05-30, mvalery
HDD(mbr) -> HDD(gpt)

Как разбить диск размером более 2TB на разделы, сделать загрузочным, а затем перенести на него информацию с рабочей системы — донора.
2009-05-22, Cancer
SendXMPP

Отправка сообщений на Джаббер сервер по средствам SendXMPP
2009-05-11, Raven2000
Network UPS Tools

Network UPS Tools представляет собой набор программ, которые обеспечивают общий интерфейс для мониторинга и администрирование UPS оборудования.
2009-04-29, m0ps
IPSEC over GRE with RIP

Пример IPSEC over GRE и динамическим роутингом (RIP), с ADSL в качестве последней мили на оборудовании Cisco.
2009-04-24, WhiteBear777
qemu network

Появилась необходимость поставить на БСД эмулятор(qemu) и настроить в качестве гостевой ОС Windows XP, предоставив ей выход в локалку и в сеть internet...
2009-04-22, vp
freebsd + huawei 162 gsm modem

В статье описывается простой способ подключения модема huawei 162 к freebsd + первичная настройка smstools
2009-04-12, mvalery
Мониторинг RAID

Мониторинг из командной строки RAID компаний AMCC 3ware, HighPoint, Dell (Perc 5/i и PERC 6/i) и LSI (MegaRAID SAS 8408E и SAS1078)
2009-04-09, texnotronic
RAID1 via LAN

Функциональности DRBD во FreeBSD можно добиться примонтировав блочное устройство по сети при помощи GEOM Gate (ggate) и добавив его в зеркало с локальным диском средствами gmirror.
2009-04-03, Raven2000
Оптимизация хоста для CMS

В последнее время на старый и не очень быстрый ПК (Celeron 800 RAM 256) мною было навешано с десяток сайтов и некоторые были из серии тяжелых CMS. И так нам дано FreeBSD 7.1 и ~10 сайтов/CMS.
2009-04-01, atrium
VSFTPD + AD && MySQL

Настройка самого безопасного сервера FTP - vsftpd.
2009-03-31, Dron
Peoplenet + C-motech (3G)

Описание подключения к сети Peoplenet посредством 3G модема С-motech CCu-650U на FreeBSD
2009-03-25, lissyara
mod_auth_external

mod_auth_external - авторизация пользователей в apache c помощью внешней программы - например, системных пользователей.
2009-03-24, gx_ua
Lightsquid

Частично lightsquid может заменить sams: быстрая и простая инсталляция, быстрый парсер, cgi скрипт для динамической генерации отчета, нет привязки к БД, различные графические отчеты, мультиязычный инт
2009-03-18, LHC
Установка Zabbix-1.6

Установка и первоначальная настройка системы мониторинга Zabbix (версия 1.6)
2009-03-16, Cancer
Принт-Сервер Samba+LPD & AD

Простейшая настройка Принт-Сервера на FreeBSD используя Samba+LPD & AD
2009-03-04, Mad_caterpillar
ipsec_vpnc

Настройка VPN IPSec концентратора на FreeBSD 6.2 для клиента cisco с использованием ipsec-tools и авторизацией в активной директории
2009-02-18, Andy
Free-SA

Программа анализирует log файлы Squid'а и формирует по ним отчет.
2009-02-02, Cancer
Openfire Jabber Server

Установка Jabber сервера на примере Openfire
2009-01-28, Cancer
mpd5 + сжатие и шифрование

Установка VPN сервера mpd5 + сжатие и шифрование
2009-01-26, vp
freebsd + webcamera

Подключение и настройка вебмкамеры для работы с freebsd на примере Logitech QCam STX
2009-01-10, Grishun_U_S
конфиг для офисов

В статье разбирается конфиг для офиса, пользователи которого имеют строгие ограничения по портам. Заворачиваем www трафик на транспарентный прокси, а остальное NAT'им. Эффективно делим канал интернет
2008-12-27, Storoge
sftp+chroot

Возникла необходимость дать возможность нескольким пользователям заливать на сервер контент для своих сайтов через sftp, чтобы при этом не страдала безопасность.
2008-12-13, Morty
PurefFTPd

Администрирование pureftpd-сервера с помощью вэб интерфейса Usermanager
2008-12-11, lissyara
termlog

Небольшая простая утилита, использующаяся для записи в файл всего что происходит на терминалах системы. Полезно, когда есть доступ по ssh у тех, кому не очень доверяете. Паранойя - это не плохо =)
2008-11-26, Cancer
SQUID+SAMS +Rejik-(ADLDAP)

Установка Прокси сервера SQUID с красивой мордой SAMS и редиректором REJIK,для учета кто куда ходил + графики в pdf,РЕЖИК собственно рубит банеры и запрещает пользователям ходить на запрещенные сайты,
2008-11-22, dvg_lab
php5-oci8

Решение проблем segmentation fault (core dumped) при работе с oracle8-client и php5-oci8
2008-11-21, m0ps
NTP

Пример настройки NTP сервера для локальной сети и клиента, для синхронизации времени с локальный NTP сервером. Обновление ntpd из портов.
2008-11-20, Cancer
SQUID+SAMS +Rejik-(NTLM)

Установка Прокси сервера SQUID с аутентификацией по NTL с красивой мордой SAMS и редиректором REJIK,для учета кто куда ходил + графики в pdf, РЕЖИК собственно рубит банеры и запрещает пользователям хо
2008-11-20, UA
Hotspot

Настройка безпроводной точки доступа (WiFi) на freebsd
2008-11-12, Shaman
Enemy Territory

Появилась у меня такое желание поднять сервер Enemy Territory. Поискал погуглил, ничего толкового не нашел пришлось все самому делать. И вот решил поделиться опытом. Начинаем......
2008-11-11, lissyara
Samba+ NT ACL

Использование vfs самбы - модули full_audit и recycle. Настройка для использования в качестве файлопомойки с 500+ одновременно работающих юзеров. Раздача прав через нативный виндовый интерфейс.
2008-11-11, Raven2000
Upgrading OpenBSD

Сегодня мы будем обновлять OpenBSD. Систему необходимо поддерживать в актуальном виде и следить, чтобы все работало, как часы и все дырки были залатаны до прихода врага =)
2008-11-10, lexy
SMSTools 3

Как автоматизировать отправку и обработку входящих сообщений при помощи мобильного телефона, датакабеля и компа
2008-11-06, Cancer
Asterisk IP PBX

Установка VoiP сервера Asterisk IP PBX для соединения двух шлюзов и АТС
2008-10-30, atrium
Samba & CUPS & AD & ACL

Настройка Samba в роли доменного файл-сервера, и CUPS в роли принт-сервера для Windows клиентов
2008-10-17, Raven2000
src & ports

Конечно, в OpenBSD система портов никогда не сможет быть полной сравнение с той же системой во FreeBSD. Связано это с тем, что разработчики включают в порты лишь те приложение которые протестированн
2008-10-13, Morty
Mysql - базовое описание

Базовое описание и принципы работы с MySQL
2008-10-10, Cancer
exim&dovecot + fetchmail + SSL

Exim & Dovecot + Postfixadmin & Roundcube + Fetchmail & smtp_relay С возможностью отправлять письма через смтп релей провайдера. С использование SSL шифрование: POP3s IMAPs sSMTP
2008-10-09, m0ps
Дополнительные порты для роутера

Увеличение количества Ethernet портов маршрутизатора за счет свободных портов коммутатора пробросив vlan с сабинтерфейса роутера на интерфейс коммутатора.
2008-10-06, princeps
Bacula

Настройка сервера системы резервного копирования Bacula на FreeBSD для бэкапов FreeBSD и Windows машин
2008-10-02, zheromo
Postfix + DBMail

Создание почтовой системы на основе Postfix + DBMail + SASL2 + TLS + DSpam + ClamAV + RoundCubeWebMail
2008-10-02, Cancer
SugarForge CRM

SugarForge CRM предоставляет подавляющее большинство функциональных возможностей CRM систем
2008-09-12, arksu
ng_ipacct + squid

Подсчет трафика с помощью ng_ipacct. Связка ng_ipacct + squid + парсер логов + авторизатор + nginx + mysql и куча служебных скриптов для работы всей системы.
2008-09-03, Raven2000
GLPI

Мне надо было найти замену существующей программы инвентаризации, чтобы за компьютерами, принтерами, картриджами, лицензиями и тп был учет. Желательно с дополнительными бонусами типа системы подачи...
2008-09-03, salimk
POWERDNS

Статья о том как мигрировать с DNS сетвера ISC Bind на POWERDNS
2008-09-03, DNK
Rinetd

Редирект TCP портов с помощью утилиты rinetd - просто до безобразия - само прилодение простое, конфиг в одну строчку - что ещё надо для счастья? =)
2008-09-03, L!Ner
eGroupWare

Это сервер групповой работы. Он укомплектован собственным веб-интерфейсом, который обеспечивает доступ к вашим данным с любой платформы по всей планете.
2008-08-30, jafff
MAC адрес

У девайса VoIP Planet VIP-000 слетел MAC адрес и стал FF-FF-FF-FF-FF-FF, как я его востанавливал
2008-08-30, Morty
clonehdd

Перенесение, бэкапирование HDD,легко и просто
2008-07-31, Raven2000
Proxy Auto Configuration

Возникла необходимость автоматически настраивать прокси для всех компов и не бегать например если поменялось что-то на сервере прокси. Для этого давно существует технология Proxy Auto Configuration.
2008-07-29, f0s
NNTP сервер

Конфигурирование собственного NNTP-сервера.
2008-07-28, Al
spamooborona

настройка yandex spamooborona в качестве smtp-proxy для работы с exim
2008-07-28, Cancer
SQUID+SAMS +Rejik-(NCSA)

Установка Прокси сервера SQUID с красивой мордой SAMS и редиректором REJIK,для учета кто куда ходил + графики в pdf,РЕЖИК собственно рубит банеры и запрещает пользователям ходить на запрещенные сайты,
2008-07-20, Raven2000
Pax

Эта замечательная утилита поставляется с FreeBSD по умолчанию, и она имеет неплохой потенциал. Можно создавать архивы модифицировать их, а так же живьем переносить всю операционную систему с данными
2008-07-16, Andy2k
BIND & AD

Настройка BIND для обслуживания запросов контроллеров Active Directory. Альтернатива поднятию DNS от Microsoft.
2008-07-16, aleksey.kravchenko
Samba (PDC+BDC)

Поднять главный (офис) и резервный (филиал) контроллер домена на базе Samba и OpenLDAP, организовать синхронизацию и репликацию между ними. Запись в LDAP должена выполняться только на PDC.
2008-07-14, aleksey.kravchenko
OpenVPN + LDAP

Статья о том, как настроить OpenVPN с авторизацией пользователей в OpenLDAP.
2008-07-14, aleksey.kravchenko
ProFTPd + LDAP

ProFTPd с авторизацией пользователей в OpenLDAP
2008-07-13, lissyara
Asus Eee PC

Дали на несколько дней поиграться Asus Eee PC - мелкий ноутбок по смешной цене. Ну, первым делом ставим правильный ОС и смотрим - что из этого получиться.
подписка

    вверх      
Статистика сайта
Сейчас на сайте находится: 14 чел.
За последние 30 мин было: 36 человек
За сегодня было
6070 показов,
747 уникальных IP
 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0838 секунд
Из них PHP: 62%; SQL: 38%; Число SQL-запросов: 77 шт.
Исходный размер: 294163; Сжатая: 55399