Tomsk Sysadmins Forum

Unix => Администрирование => Topic started by: empty on February 28, 2008, 00:39:01

Title: ВПН через маршрутизатор на FreeBSD
Post by: empty on February 28, 2008, 00:39:01
Описание проблемы:
имеется первый офис. Локальная сеть, маршрутизатор на FreeBSD 6.2. На нем же работает mpd4. Все работает замечательно. С дома (IP реальный) устанавливается ВПН-соединение с этим офисом без проблем.

имеется второй офис. Локальная сеть, маршрутизатор на FreeBSD 6.3. На FreeBSD запущен NAT. Вот из этой локальной сети не могу установить ВПН-соединение с первым офисом. Добавление правила "add allow ip from any to any" не решает проблемы. Если соединения устанавливать мимо маршрутизатора (переткнув кабель к компьютеру), то соединение устанавливается. В чем может быть проблема, не подскажите? Может в НАТе? Хотя НАТ работает исправно. Может что нибудь еще дополнительно нужно натить?
Title: ВПН через маршрутизатор на FreeBSD
Post by: weris on February 28, 2008, 09:22:47
покажи что и как натишь?
может чего-то просто не хватает в разрешениях
Title: ВПН через маршрутизатор на FreeBSD
Post by: empty 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 не натятся. Может быть такое?
Title: ВПН через маршрутизатор на FreeBSD
Post by: weris on February 28, 2008, 10:09:39
да скорее всего, надо разрешить гре на обоих концах и тсп порт 1723
Title: ВПН через маршрутизатор на FreeBSD
Post by: empty on February 28, 2008, 10:26:38
то что в первом офисе ВПН сервер работает - 100%. С других мест цепляюсь, но "эти места" не ходят в нет через НАТ.
Проблема в НАТ во втором офисе...
правило "add allow all from any to any" не решило проблемы
Title: ВПН через маршрутизатор на FreeBSD
Post by: nuclight on February 28, 2008, 15:58:30
Полный конфиг файрвола покажите. И чем пытаетесь соединяться, и ошибки. У вас в конфигурации что-то не так, natd сам по себе умеет нормально натить PPTP/GRE.
Title: ВПН через маршрутизатор на FreeBSD
Post by: empty 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

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

вот (лишнее выкинул)
Title: ВПН через маршрутизатор на FreeBSD
Post by: demiurg on February 28, 2008, 17:40:22
Quote from: empty
подключаться пытаюсь средствавами виндовс

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

вот (лишнее выкинул)
Верный признак того что срубается на gre, может стоит tcpdump'ом посмотреть на обеих сторонах, что происходит в момент поднятия VPN?
Title: ВПН через маршрутизатор на FreeBSD
Post by: nuclight 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, ибо оная секция помимо прямого назначения закрывает вашей серой сети интернет, до нее просто не доходит из-за пайпа.
Title: ВПН через маршрутизатор на FreeBSD
Post by: empty 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, ибо оная секция помимо прямого назначения закрывает вашей серой сети интернет, до нее просто не доходит из-за пайпа.

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