Author Topic: ВПН через маршрутизатор на FreeBSD  (Read 4607 times)

0 Members and 1 Guest are viewing this topic.

Offline empty

  • Jr. Member
  • **
  • Posts: 73
  • Karma: +0/-0
ВПН через маршрутизатор на FreeBSD
« on: February 28, 2008, 00:39:01 »
Описание проблемы:
имеется первый офис. Локальная сеть, маршрутизатор на FreeBSD 6.2. На нем же работает mpd4. Все работает замечательно. С дома (IP реальный) устанавливается ВПН-соединение с этим офисом без проблем.

имеется второй офис. Локальная сеть, маршрутизатор на FreeBSD 6.3. На FreeBSD запущен NAT. Вот из этой локальной сети не могу установить ВПН-соединение с первым офисом. Добавление правила "add allow ip from any to any" не решает проблемы. Если соединения устанавливать мимо маршрутизатора (переткнув кабель к компьютеру), то соединение устанавливается. В чем может быть проблема, не подскажите? Может в НАТе? Хотя НАТ работает исправно. Может что нибудь еще дополнительно нужно натить?
« Last Edit: February 28, 2008, 01:32:32 by empty »

Offline weris

  • Full Member
  • ***
  • Posts: 100
  • Karma: +5/-4
ВПН через маршрутизатор на FreeBSD
« Reply #1 on: February 28, 2008, 09:22:47 »
покажи что и как натишь?
может чего-то просто не хватает в разрешениях

Offline empty

  • Jr. Member
  • **
  • Posts: 73
  • Karma: +0/-0
ВПН через маршрутизатор на FreeBSD
« Reply #2 on: February 28, 2008, 09:31:29 »
/etc.rc.conf
natd_enable="YES"
natd_flags="-f /etc/natd.conf"

/etc/natd.conf
n rl0
redirect_port tcp 192.168.0.1:3389 3389

/etc/ipfw.conf
${fwcmd} add divert natd all from ${ournet} to table\(13\) out via ${oif}  #table 13 - томские сети
${fwcmd} add divert natd all from any to ${wanip} in via ${oif}

все работает хорошо, только из сети не устанавливается ВПН - соединение.

есть подозрение, что протоколы GRE и ESP не натятся. Может быть такое?

Offline weris

  • Full Member
  • ***
  • Posts: 100
  • Karma: +5/-4
ВПН через маршрутизатор на FreeBSD
« Reply #3 on: February 28, 2008, 10:09:39 »
да скорее всего, надо разрешить гре на обоих концах и тсп порт 1723

Offline empty

  • Jr. Member
  • **
  • Posts: 73
  • Karma: +0/-0
ВПН через маршрутизатор на FreeBSD
« Reply #4 on: February 28, 2008, 10:26:38 »
то что в первом офисе ВПН сервер работает - 100%. С других мест цепляюсь, но "эти места" не ходят в нет через НАТ.
Проблема в НАТ во втором офисе...
правило "add allow all from any to any" не решило проблемы

Offline nuclight

  • Full Member
  • ***
  • Posts: 207
  • Karma: +1/-2
    • http://antigreen.org
ВПН через маршрутизатор на FreeBSD
« Reply #5 on: February 28, 2008, 15:58:30 »
Полный конфиг файрвола покажите. И чем пытаетесь соединяться, и ошибки. У вас в конфигурации что-то не так, natd сам по себе умеет нормально натить PPTP/GRE.
WBR, Nuclear Lightning
[FreeBSD][Давить зелёных]

Offline empty

  • Jr. Member
  • **
  • Posts: 73
  • Karma: +0/-0
ВПН через маршрутизатор на FreeBSD
« Reply #6 on: February 28, 2008, 16:21:43 »
подключаться пытаюсь средствавами виндовс

конфиг с маршрутизатора офиса, с которого не могу установить впн-подключение

less /etc/ipfw.conf

#!/bin/sh -
fwcmd="/sbin/ipfw -q"
########## очистка #########
${fwcmd} flush


################################
########## переменные ##########
################################
lanip="192.168.0.115"   #LAN IP адрес
wanip="xx.xx.xx.xx"  #WAN IP адрес
lif="re0"               #LAN интерфейс
oif="rl0"               #WAN интерфейс
ournet="192.168.0.0/24" #наша сеть

# томские сети
${fwcmd} table 13 flush
${fwcmd} table 13 add 62.68.128.0/19
${fwcmd} table 13 add 77.106.64.0/18
${fwcmd} table 13 add 77.245.160.0/20
${fwcmd} table 13 add 78.136.192.0/18
${fwcmd} table 13 add 78.139.192.0/18
${fwcmd} table 13 add 78.140.0.0/18
.........................................................  

# NAT for ournet
${fwcmd} add divert natd all from ${ournet} to table\(13\) out via ${oif}
${fwcmd} add divert natd all from any to ${wanip} in via ${oif}

# pipe
${fwcmd} add pipe 1 tcp from any to ${ournet} in via ${oif}
${fwcmd} pipe 1 config bw 350KByte/s mask dst-ip 0x00000000

# lo0
${fwcmd} add allow all from any to any via lo0

# запрет спуфинга
${fwcmd} add deny ip from any to 127.0.0.0/8
${fwcmd} add deny ip from 127.0.0.0/8 to any
${fwcmd} add deny all from any to 10.0.0.0/8 via ${oif}
${fwcmd} add deny all from any to 172.16.0.0/12 via ${oif}
${fwcmd} add deny all from any to 192.168.0.0/16 via ${oif}

# vpn
${fwcmd} add allow tcp from any to any 1723 out via ${oif}
${fwcmd} add allow tcp from any 1723 to any in via ${oif}
${fwcmd} add allow gre from any to any

${fwcmd} add deny all from any to any

соединение доходит до проверки пользователя и пароля

вот (лишнее выкинул)

Offline demiurg

  • Hero Member
  • *****
  • Posts: 1014
  • Karma: +0/-0
    • http://larin.tomsk.ru
ВПН через маршрутизатор на FreeBSD
« Reply #7 on: February 28, 2008, 17:40:22 »
Quote from: empty
подключаться пытаюсь средствавами виндовс

соединение доходит до проверки пользователя и пароля

вот (лишнее выкинул)
Верный признак того что срубается на gre, может стоит tcpdump'ом посмотреть на обеих сторонах, что происходит в момент поднятия VPN?

Offline nuclight

  • Full Member
  • ***
  • Posts: 207
  • Karma: +1/-2
    • http://antigreen.org
ВПН через маршрутизатор на FreeBSD
« Reply #8 on: February 29, 2008, 14:16:14 »
Щас нателепатирую, sysctl net.inet.ip.fw.one_pass показывает 1, и если сделать sysctl net.inet.ip.fw.one_pass=0, то у всей сети отвалится весть томский интернет, да? Поставьте правило с GRE до секции запрета спуфинга, и впн заработает.

А потом идите перечитайте man divert и man ipfw в частях PACKET FLOW и DUMMYNET, ибо оная секция помимо прямого назначения закрывает вашей серой сети интернет, до нее просто не доходит из-за пайпа.
WBR, Nuclear Lightning
[FreeBSD][Давить зелёных]

Offline empty

  • Jr. Member
  • **
  • Posts: 73
  • Karma: +0/-0
ВПН через маршрутизатор на FreeBSD
« Reply #9 on: March 03, 2008, 00:45:18 »
Quote from: nuclight
Щас нателепатирую, sysctl net.inet.ip.fw.one_pass показывает 1, и если сделать sysctl net.inet.ip.fw.one_pass=0, то у всей сети отвалится весть томский интернет, да? Поставьте правило с GRE до секции запрета спуфинга, и впн заработает.

А потом идите перечитайте man divert и man ipfw в частях PACKET FLOW и DUMMYNET, ибо оная секция помимо прямого назначения закрывает вашей серой сети интернет, до нее просто не доходит из-за пайпа.

Большое спасибо, проблема решена