Страница 1 из 1
Помогите сделать гейт
Добавлено: 2009-12-21 17:37:34
Fogel
Не знаю, какими средствами воспользоваться, что бы реализовать следующую вещь:
Имеется локальная сеть с выходом в инет через виндовую проксю. В этой же локальной сети находится машина под FreeBSD, использующая тот же выход в инет, но без прокси. Цель - прописать на bsd машине гейт для одного из компьютеров, в настоящее время находящегося за прокси.
Боюсь, не совсем понятно объяснил
Сеть 192.168.0.x/24
Прокси 192.168.0.10 (под Win)
FreeBSD (7.2) 192.168.0.200 (одна сетевая, возможности установить вторую и прокладывать кабель, что бы юзать стандартную маршрутизацию нет)
WS 192.168.0.155 - рабочая станция под виндой, которой нужно предоставить выход в инет через машину с FreeBSD
Заранее благодарен.
Re: Помогите сделать гейт
Добавлено: 2009-12-21 17:51:13
schizoid
на фре поднять НАТ и на виндовой машине сделать шлюз по-умолчанию фрю?
Re: Помогите сделать гейт
Добавлено: 2009-12-21 18:07:00
Fogel
Да, фрибсд должна быть шлюзом для виндовой машины. Как реализовать NAT с учетом того, что у меня один интерфейс, что использовать, примерные настройки?
Re: Помогите сделать гейт
Добавлено: 2009-12-21 18:55:48
schizoid
на вскидку
в /etc/ipnat.rules
где rl0 - интерфейс
192.168.10.32 - Ип, который нуно натить
ну и старт
в rc.conf
Код: Выделить всё
ipnat_enable="YES"
ipnat_program="/sbin/ipnat"
ipnat_rules="/etc/ipnat.rules"
ipnat_flags="-v"
но хз, заработает или нет

Re: Помогите сделать гейт
Добавлено: 2009-12-21 20:31:30
GRooVE
на мой взгляд, красивее, конечно, было бы сделать организовать дополнительный туннель компьютер<=>компьютер
ну а если... так... "по-быстрому", то тогда способом, который описал уважаемый
schizoid постом ранее
от себя добавлю:
в случае использования ipfw_nat, правила будут иметь следующий вид, например:
Код: Выделить всё
intf="rl0"
ws="192.168.0.155"
ipfw nat 1 config if ${intf}
ipfw add nat 1 all from not ${ws} to any in via ${intf}
ipfw add nat 1 all from any to not ${ws} out via ${intf}
ipfw add allow all from ${ws} to any in via ${intf} keep-state
ipfw add allow all from me to any
ipfw add deny all from any to any
Re: Помогите сделать гейт
Добавлено: 2009-12-21 20:35:35
Fogel
schizoid
GRooVE
Спасибо. Завтра попробую и отпишусь.
Re: Помогите сделать гейт
Добавлено: 2009-12-22 10:39:06
schizoid
2 GRooVE, я в начале тоже думал написать, что можно ВПН-сервер поднять и т.д. и т.п., но ради одного хоста так замарачиваться ...

Re: Помогите сделать гейт
Добавлено: 2009-12-22 10:49:43
GRooVE
Согласен

Просто если чисто эстетически, то это равносильно, что есть и, звините за выражение, ср*ть через одно и то же место...
Хотя если никто никогда этого не увидит, то можно и так....

Re: Помогите сделать гейт
Добавлено: 2009-12-22 10:53:42
Hunta
у меня временно работает сл. схема, почему временно, в планах отказаться от виндового гейта, пока все это тестится.
win машина - прокся, с двумя сетевухами, одна смотрит в локалку, другая в adsl.
freebsd машина - сквид, самс, одна сетевуха.
Клиенты которых надо ограничивать по времени и трафику пускаю через freebsd, остальных через win гейт.
есть одна загвоздка, не могу понять как настроить NAT на freebsd с одной сетевухой. Надо чтоб клиенты ещё забирали почту, НО к примеру прописываем проксю (freebsd) в IE, то эти же настройки и оутлуке. как пробросить порты (25, 110) на Freebsd????
и ещё вопрос по правилам ipfw
Код: Выделить всё
ipfw nat 1 config if ${intf}
ipfw add nat 1 all from not ${ws} to any in via ${intf}
ipfw add nat 1 all from any to not ${ws} out via ${intf}
почему
, в некоторых руковдствах вижу
, NAT 1 или NATD это имя какой то переменной? Где она задается?
Понимаю схема перегружена и не блещет, но осталось вот решить проблему проброса портов и можно полностью переходить на проксю на freebsd

Re: Помогите сделать гейт
Добавлено: 2009-12-22 11:16:39
GRooVE
Так Вам nat нужен или прокси?
NAT 1 или NATD это имя какой то переменной? Где она задается?
Это один и тот же нат
Только ранее он работал как демон natd
А, начиная с 7-й FreeBSD, его можно вкомпилить в ядро таким образом:
Re: Помогите сделать гейт
Добавлено: 2009-12-22 11:26:34
Hunta
Мне надо для вэба прокся, а для почты и ещё нескольких прог, пробрасывать порты.
Прокся работает, но вот с почтой косяк. Просто недопонимаю, прописываю в IE прокси (freebsd), и порт 3128, а аутлук же тоже долбится, я так понимаю на порт который прописан в IE. или нет? А там squid сидит
А я разве не могу использовать и прокси и нат?
Re: Помогите сделать гейт
Добавлено: 2009-12-22 11:46:08
GRooVE
Hunta писал(а):Мне надо для вэба прокся, а для почты и ещё нескольких прог, пробрасывать порты.
Прокся работает, но вот с почтой косяк. Просто недопонимаю, прописываю в IE прокси (freebsd), и порт 3128, а аутлук же тоже долбится, я так понимаю на порт который прописан в IE. или нет? А там squid сидит
А я разве не могу использовать и прокси и нат?
Не совсем понял задачу
"Проброс портов" в Вашем понимании нат?
Объясните нормально, например:
веб через свкид
почта, ася и т.п. через нат
остальное блочить
Re: Помогите сделать гейт
Добавлено: 2009-12-22 11:54:18
schizoid
переползите в другую тему, ибо эта тема не об этом.
Re: Помогите сделать гейт
Добавлено: 2009-12-22 12:05:27
Hunta
Ткните пожалуйста в какую тему, переползем конечно.
web - squid
icq, smtp,pop3, эл.отчетность (бух) - через нат
ну да, я имею ввиду проброс портов это NAT, есть ещё варианты? буду благодарен за предложенные варианты....
Re: Помогите сделать гейт
Добавлено: 2009-12-22 13:10:42
skeletor
Проброс портов можно делать не только через NAT. Как пример redir.
Re: Помогите сделать гейт
Добавлено: 2009-12-22 13:32:21
schizoid
создаете новую тему и там обсуждаете проблему.
тут просто заведено: один вопрос - одна тема.
так что создавайте, я потом перенесу сообщения.
Re: Помогите сделать гейт
Добавлено: 2009-12-22 15:45:34
Hunta
Re: Помогите сделать гейт
Добавлено: 2009-12-22 17:14:32
Fogel
Не получается что-то.
Код: Выделить всё
ifconfig rl0
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8<VLAN_MTU>
ether 00:80:48:1a:77:e4
inet 192.168.0.200 netmask 0xffffff00 broadcast 192.168.1.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
/etc/ipnat.rules
Код: Выделить всё
intf="rl0"
ws="192.168.0.155"
map rl0 192.168.0.155/24 -> 0.0.0.0/24
ipfw nat 1 config if ${intf}
ipfw add nat 1 all from not ${ws} to any in via ${intf}
ipfw add nat 1 all from any to not ${ws} out via ${intf}
ipfw add allow all from ${ws} to any in via ${intf} keep-state
ipfw add allow all from me to any
ipfw add deny all from any to any
Код: Выделить всё
root .//etc >>/etc/rc.d/ipnat start
Installing NAT rules.
0 entries flushed from NAT table
0 entries flushed from NAT list
syntax error error at "ws", line 3
Пробовал закомментировать #ws и #map
Код: Выделить всё
root .//etc >>/etc/rc.d/ipnat start
Installing NAT rules.
0 entries flushed from NAT table
0 entries flushed from NAT list
syntax error error at "ipfw", line 6
что-то не установлено?
Re: Помогите сделать гейт
Добавлено: 2009-12-22 19:27:55
GRooVE
вы правила для ipfw загружаете в ipnat, а это два разных фаервола
для ipfw необходимо:
в ядро:
в rc.conf
Код: Выделить всё
firewall_enable="YES"
firewall_script="/usr/local/etc/ipfw.sh"
Код: Выделить всё
# cat /usr/local/etc/ipfw.sh
fwcmd="/sbin/ipfw"
${fwcmd} -f flush
${fwcmd} -f pipe flush
${fwcmd} -f queue flush
intf="rl0"
ws="192.168.0.155/32"
${fwcmd} allow ip from any to any via lo0
${fwcmd} deny ip from any ot 127.0.0.0/8
${fwcmd} deny ip from 127.0.0.0/8 to any
${fwcmd} nat 1 config if ${intf}
${fwcmd} add nat 1 all from not ${ws} to any in via ${intf}
${fwcmd} add nat 1 all from any to not ${ws} out via ${intf}
${fwcmd} add allow all from ${ws} to any in via ${intf} keep-state
${fwcmd} add allow all from me to any
${fwcmd} add deny all from any to any
Re: Помогите сделать гейт
Добавлено: 2009-12-22 21:15:06
Fogel
Да, кажется, я данные опции при сборке ядра не включал.
Опять-таки, отпишусь завтра. Извините за задержку.