Tomsk Sysadmins Forum
Unix => Администрирование => Topic started 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" не решает проблемы. Если соединения устанавливать мимо маршрутизатора (переткнув кабель к компьютеру), то соединение устанавливается. В чем может быть проблема, не подскажите? Может в НАТе? Хотя НАТ работает исправно. Может что нибудь еще дополнительно нужно натить?
-
покажи что и как натишь?
может чего-то просто не хватает в разрешениях
-
/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 не натятся. Может быть такое?
-
да скорее всего, надо разрешить гре на обоих концах и тсп порт 1723
-
то что в первом офисе ВПН сервер работает - 100%. С других мест цепляюсь, но "эти места" не ходят в нет через НАТ.
Проблема в НАТ во втором офисе...
правило "add allow all from any to any" не решило проблемы
-
Полный конфиг файрвола покажите. И чем пытаетесь соединяться, и ошибки. У вас в конфигурации что-то не так, natd сам по себе умеет нормально натить PPTP/GRE.
-
подключаться пытаюсь средствавами виндовс
конфиг с маршрутизатора офиса, с которого не могу установить впн-подключение
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
соединение доходит до проверки пользователя и пароля
вот (лишнее выкинул)
-
подключаться пытаюсь средствавами виндовс
соединение доходит до проверки пользователя и пароля
вот (лишнее выкинул)
Верный признак того что срубается на gre, может стоит tcpdump'ом посмотреть на обеих сторонах, что происходит в момент поднятия VPN?
-
Щас нателепатирую, sysctl net.inet.ip.fw.one_pass показывает 1, и если сделать sysctl net.inet.ip.fw.one_pass=0, то у всей сети отвалится весть томский интернет, да? Поставьте правило с GRE до секции запрета спуфинга, и впн заработает.
А потом идите перечитайте man divert и man ipfw в частях PACKET FLOW и DUMMYNET, ибо оная секция помимо прямого назначения закрывает вашей серой сети интернет, до нее просто не доходит из-за пайпа.
-
Щас нателепатирую, sysctl net.inet.ip.fw.one_pass показывает 1, и если сделать sysctl net.inet.ip.fw.one_pass=0, то у всей сети отвалится весть томский интернет, да? Поставьте правило с GRE до секции запрета спуфинга, и впн заработает.
А потом идите перечитайте man divert и man ipfw в частях PACKET FLOW и DUMMYNET, ибо оная секция помимо прямого назначения закрывает вашей серой сети интернет, до нее просто не доходит из-за пайпа.
Большое спасибо, проблема решена