Страница 1 из 1
GRE между двумя вин-серверами через шлюз FreeBSD
Добавлено: 2010-09-01 13:11:41
Olcha Тихиро
Добрый день!
Мучаюсь уже которую неделю с такой проблемой: между двумя зданиями необходимо поднять VPN (PPTP) между двумя виндовыми серверами и прокинуть все это через шлюз на FreeBSD. C поднятием VPN без шлюза все окей, но как только в схему сети встраивается шлюз - трафик не идет никоим образом.
Немного о шлюзе:
re0 - нешка, подключен к АДСЛ модему
sis0 - локалка, подключен к виндовому серверу (исполняет роль домена и марщрутизатора локальной сети)
перенаправлением портов занимается rinetd, фаервол ipfw присутствует,но пока еще в режиме "разрешать все", нат отсутствует (натированием занимается тоже винда)
Собственно говоря, проблема заключается в том, что нигде нет вразумительного ответа как прокинуть GRE через шлюз. Тут поднималась похожая тема, но она малоприменима к моей ситуации.
Заранее благодарю за помощь!
Re: GRE между двумя вин-серверами через шлюз FreeBSD
Добавлено: 2010-09-01 13:14:49
schizoid
а если попробовать добавить в фаервол
?
Re: GRE между двумя вин-серверами через шлюз FreeBSD
Добавлено: 2010-09-01 13:18:21
Olcha Тихиро
проблема еще в том, что если включить правила для фаервола - он зарубает трафик на внутреннюю сеть. Но ежели оставлять allow all и перед этим добавить разрешение на gre - все равно не работает
Re: GRE между двумя вин-серверами через шлюз FreeBSD
Добавлено: 2010-09-01 14:11:16
Olcha Тихиро
Код: Выделить всё
#!/bin/sh
fwcmd="/sbin/ipfw"
iif="sis0"
oif="re0"
inet="192.168.3.1"
onet="192.168.1.2"
NetMask="24"
# Отпусти меня, чудо-трава...
${fwcmd} -f flush
ipfw add allow ip from any to any via lo0
#Правила для loopback
ipfw add allow ip from any to 127.0.0.0/8
ipfw add allow ip from 127.0.0.0/8 to any
#разрешать все установленные tcp соединения
ipfw pass tcp from any to any established
#разрешать фрагментированные пакеты
ipfw add pass all from any to any frag
#разрешать все ICMP пакеты
ipfw add pass all from any to any icmptypes 0,3,4,5,8,9,10,11,12
# разрешаем соединения с локальными сетями
local_networks="192.168.3.0/24, 192.168.0.0/24"
ipfw add pass all from $local_networks to me
ipfw add pass all from me to $local_networks
ipfw add pass tcp from me to any setup
ipfw add pass udp from me to any keep-state
# разрешаем порты и службы
ipfw add pass tcp from any to me 22 setup
ipfw add pass tcp from any to me 40422 setup
ipfw add pass tcp from any to me 53 setup
ipfw add pass udp from any to me 53
ipfw add pass udp from me 53 to any
ipfw add pass tcp from any to me 3306 setup
ipfw add pass tcp from any to $local_networks 80, 443
ipfw add pass tcp from $local_networks to any 80, 443
ipfw add pass tcp from any to any 25, 1723, 9000, 9999, 9900, 55457, 514
ipfw add deny all from any to any
вот такой конфиг для фаера нарисовала, что сюда еще нужно добавить помимо "allow gre" ?
Re: GRE между двумя вин-серверами через шлюз FreeBSD
Добавлено: 2010-09-01 15:27:36
schizoid
может у вас не Фря, а АДСЛ модем gre не пропускает?
Re: GRE между двумя вин-серверами через шлюз FreeBSD
Добавлено: 2010-09-01 15:40:57
Olcha Тихиро
АДСЛ в режиме моста, ему же должно быть пофиг, правильно? Не понятно, почему gre не идет через шлюз, когда на нем опущен ipfw и натб т.е. по идее ничего нигде ен должно зарубаться. Интернет работает нормально, а вот vpn работает только в SSTP режиме.
Топология в кратце выглядит так:
Здание 1:
модем -> шлюз_на_фряхе - виндовый_сервант_1 (primary Active Directory) - локалка
Здание 2:
модем - виндовый_сервер_2 (вспомогательный Active Directory) - локалка
При подключении по SSTP главный AD считает всех пользователей здания 2 одной машиной. По понятным причинам это не очень здорово, поэтому требуется именно PPTP.
Re: GRE между двумя вин-серверами через шлюз FreeBSD
Добавлено: 2010-09-01 15:47:38
Гость
поставте вместо фрибсд какойнибудь свитч или хаб
отладте что бы у вас все бегало
а потом будете бсд мучать
либо на фрибсд поднимите бридж
а потом когда проверите что все работает
бридж выключите и будете фаервол свой мучать
Re: GRE между двумя вин-серверами через шлюз FreeBSD
Добавлено: 2010-09-01 15:54:47
Olcha Тихиро
без шлюза всеработает, фря, насколько я понимаю, в данный момент работает как бридж, потому что никаких управляющих трафиком вещей, кроме переброса портов на другие сервера у меня там нет. При такой конфигурации работает все, кроме gre
Re: GRE между двумя вин-серверами через шлюз FreeBSD
Добавлено: 2010-09-01 15:58:36
Гость
не бридж она у вас работает а как роутер
бридж это другое и настраивается по другому
роутинг значит настройте
при выключеном фаерволе и настроеном роутинге все должно работать 100%
Re: GRE между двумя вин-серверами через шлюз FreeBSD
Добавлено: 2010-09-02 8:24:37
Olcha Тихиро
спасибо проблема разрешалась. Не понятно почему, но последнее запрещающее правило фаервола запрещало нахрен все. ежели его убирать - все прекрасно работает. Тип фаервола open - думаю автоматически создаваемое правило и прописанное правило делают какой-то конфликт
Re: GRE между двумя вин-серверами через шлюз FreeBSD
Добавлено: 2010-10-07 14:11:39
ArkanoiD
Я решил проблему так:
сat /etc/ipfw.rules
Код: Выделить всё
#!/bin/sh
fwcmd="/sbin/ipfw -q"
ext_if="rl0"
echo -n "Starting firewall rights...."
# Erase old rules
${fwcmd} -f flush
# Allow GRE protocol
${fwcmd} nat 11 config if ${ext_if}
${fwcmd} add 11 nat 11 gre from any to any via ${ext_if}
${fwcmd} add 12 nat 11 tcp from any to any dst-port pptp via ${ext_if}
${fwcmd} add 13 nat 11 tcp from any pptp to any via ${ext_if}
echo "Ok."
Re: GRE между двумя вин-серверами через шлюз FreeBSD
Добавлено: 2010-10-07 16:41:07
Olcha Тихиро
а конфиг натов какой? насколько поняла суть этого дела - нат сначала нужно сконфигурить, потом применять