Помогите сделать гейт

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Fogel
рядовой
Сообщения: 37
Зарегистрирован: 2009-12-21 16:58:50

Помогите сделать гейт

Непрочитанное сообщение Fogel » 2009-12-21 17:37:34

Не знаю, какими средствами воспользоваться, что бы реализовать следующую вещь:
Имеется локальная сеть с выходом в инет через виндовую проксю. В этой же локальной сети находится машина под FreeBSD, использующая тот же выход в инет, но без прокси. Цель - прописать на bsd машине гейт для одного из компьютеров, в настоящее время находящегося за прокси.

Боюсь, не совсем понятно объяснил :oops:

Сеть 192.168.0.x/24
Прокси 192.168.0.10 (под Win)
FreeBSD (7.2) 192.168.0.200 (одна сетевая, возможности установить вторую и прокладывать кабель, что бы юзать стандартную маршрутизацию нет)
WS 192.168.0.155 - рабочая станция под виндой, которой нужно предоставить выход в инет через машину с FreeBSD

Заранее благодарен.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: Помогите сделать гейт

Непрочитанное сообщение schizoid » 2009-12-21 17:51:13

на фре поднять НАТ и на виндовой машине сделать шлюз по-умолчанию фрю?
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Fogel
рядовой
Сообщения: 37
Зарегистрирован: 2009-12-21 16:58:50

Re: Помогите сделать гейт

Непрочитанное сообщение Fogel » 2009-12-21 18:07:00

Да, фрибсд должна быть шлюзом для виндовой машины. Как реализовать NAT с учетом того, что у меня один интерфейс, что использовать, примерные настройки?

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: Помогите сделать гейт

Непрочитанное сообщение schizoid » 2009-12-21 18:55:48

на вскидку
в /etc/ipnat.rules

Код: Выделить всё

map rl0 192.168.10.32/32 -> 0.0.0.0/32
где rl0 - интерфейс
192.168.10.32 - Ип, который нуно натить

ну и старт
в rc.conf

Код: Выделить всё

ipnat_enable="YES"
ipnat_program="/sbin/ipnat"
ipnat_rules="/etc/ipnat.rules"
ipnat_flags="-v"

Код: Выделить всё

/etc/rc.d/ipnat start
но хз, заработает или нет :)
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
GRooVE
ст. сержант
Сообщения: 309
Зарегистрирован: 2009-01-04 10:33:43
Откуда: Odessa, UA
Контактная информация:

Re: Помогите сделать гейт

Непрочитанное сообщение GRooVE » 2009-12-21 20:31:30

на мой взгляд, красивее, конечно, было бы сделать организовать дополнительный туннель компьютер<=>компьютер
ну а если... так... "по-быстрому", то тогда способом, который описал уважаемый 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

Fogel
рядовой
Сообщения: 37
Зарегистрирован: 2009-12-21 16:58:50

Re: Помогите сделать гейт

Непрочитанное сообщение Fogel » 2009-12-21 20:35:35

schizoid
GRooVE
Спасибо. Завтра попробую и отпишусь.

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: Помогите сделать гейт

Непрочитанное сообщение schizoid » 2009-12-22 10:39:06

2 GRooVE, я в начале тоже думал написать, что можно ВПН-сервер поднять и т.д. и т.п., но ради одного хоста так замарачиваться ... :)
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
GRooVE
ст. сержант
Сообщения: 309
Зарегистрирован: 2009-01-04 10:33:43
Откуда: Odessa, UA
Контактная информация:

Re: Помогите сделать гейт

Непрочитанное сообщение GRooVE » 2009-12-22 10:49:43

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

Аватара пользователя
Hunta
сержант
Сообщения: 164
Зарегистрирован: 2008-12-03 20:47:35
Откуда: Калининград
Контактная информация:

Re: Помогите сделать гейт

Непрочитанное сообщение Hunta » 2009-12-22 10:53:42

у меня временно работает сл. схема, почему временно, в планах отказаться от виндового гейта, пока все это тестится.
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}
почему

Код: Выделить всё

add nat 1
, в некоторых руковдствах вижу

Код: Выделить всё

add natd
, NAT 1 или NATD это имя какой то переменной? Где она задается?
Понимаю схема перегружена и не блещет, но осталось вот решить проблему проброса портов и можно полностью переходить на проксю на freebsd :crazy:
Дураков нет, есть инакомыслящие...

Аватара пользователя
GRooVE
ст. сержант
Сообщения: 309
Зарегистрирован: 2009-01-04 10:33:43
Откуда: Odessa, UA
Контактная информация:

Re: Помогите сделать гейт

Непрочитанное сообщение GRooVE » 2009-12-22 11:16:39

Так Вам nat нужен или прокси?
NAT 1 или NATD это имя какой то переменной? Где она задается?
Это один и тот же нат
Только ранее он работал как демон natd
А, начиная с 7-й FreeBSD, его можно вкомпилить в ядро таким образом:

Код: Выделить всё

options      IPFIREWALL_NAT

Аватара пользователя
Hunta
сержант
Сообщения: 164
Зарегистрирован: 2008-12-03 20:47:35
Откуда: Калининград
Контактная информация:

Re: Помогите сделать гейт

Непрочитанное сообщение Hunta » 2009-12-22 11:26:34

Мне надо для вэба прокся, а для почты и ещё нескольких прог, пробрасывать порты.
Прокся работает, но вот с почтой косяк. Просто недопонимаю, прописываю в IE прокси (freebsd), и порт 3128, а аутлук же тоже долбится, я так понимаю на порт который прописан в IE. или нет? А там squid сидит :crazy:
А я разве не могу использовать и прокси и нат?
Дураков нет, есть инакомыслящие...

Аватара пользователя
GRooVE
ст. сержант
Сообщения: 309
Зарегистрирован: 2009-01-04 10:33:43
Откуда: Odessa, UA
Контактная информация:

Re: Помогите сделать гейт

Непрочитанное сообщение GRooVE » 2009-12-22 11:46:08

Hunta писал(а):Мне надо для вэба прокся, а для почты и ещё нескольких прог, пробрасывать порты.
Прокся работает, но вот с почтой косяк. Просто недопонимаю, прописываю в IE прокси (freebsd), и порт 3128, а аутлук же тоже долбится, я так понимаю на порт который прописан в IE. или нет? А там squid сидит :crazy:
А я разве не могу использовать и прокси и нат?
Не совсем понял задачу
"Проброс портов" в Вашем понимании нат?
Объясните нормально, например:
веб через свкид
почта, ася и т.п. через нат
остальное блочить

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: Помогите сделать гейт

Непрочитанное сообщение schizoid » 2009-12-22 11:54:18

переползите в другую тему, ибо эта тема не об этом.
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
Hunta
сержант
Сообщения: 164
Зарегистрирован: 2008-12-03 20:47:35
Откуда: Калининград
Контактная информация:

Re: Помогите сделать гейт

Непрочитанное сообщение Hunta » 2009-12-22 12:05:27

Ткните пожалуйста в какую тему, переползем конечно.
web - squid
icq, smtp,pop3, эл.отчетность (бух) - через нат
ну да, я имею ввиду проброс портов это NAT, есть ещё варианты? буду благодарен за предложенные варианты....
Дураков нет, есть инакомыслящие...

Аватара пользователя
skeletor
майор
Сообщения: 2507
Зарегистрирован: 2007-11-16 18:22:04
Откуда: Kiev
Контактная информация:

Re: Помогите сделать гейт

Непрочитанное сообщение skeletor » 2009-12-22 13:10:42

Проброс портов можно делать не только через NAT. Как пример redir.
"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих фалов вообще нет!"

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: Помогите сделать гейт

Непрочитанное сообщение schizoid » 2009-12-22 13:32:21

создаете новую тему и там обсуждаете проблему.
тут просто заведено: один вопрос - одна тема.
так что создавайте, я потом перенесу сообщения.
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
Hunta
сержант
Сообщения: 164
Зарегистрирован: 2008-12-03 20:47:35
Откуда: Калининград
Контактная информация:

Re: Помогите сделать гейт

Непрочитанное сообщение Hunta » 2009-12-22 15:45:34

все создал, переползаем на
http://forum.lissyara.su/viewtopic.php?f=8&t=22861
Дураков нет, есть инакомыслящие...

Fogel
рядовой
Сообщения: 37
Зарегистрирован: 2009-12-21 16:58:50

Re: Помогите сделать гейт

Непрочитанное сообщение Fogel » 2009-12-22 17:14:32

Не получается что-то.

Код: Выделить всё

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
что-то не установлено?

Аватара пользователя
GRooVE
ст. сержант
Сообщения: 309
Зарегистрирован: 2009-01-04 10:33:43
Откуда: Odessa, UA
Контактная информация:

Re: Помогите сделать гейт

Непрочитанное сообщение GRooVE » 2009-12-22 19:27:55

вы правила для ipfw загружаете в ipnat, а это два разных фаервола
для ipfw необходимо:
в ядро:

Код: Выделить всё

options      IPFIREWALL
options      IPFIREWALL_NAT
в 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

Fogel
рядовой
Сообщения: 37
Зарегистрирован: 2009-12-21 16:58:50

Re: Помогите сделать гейт

Непрочитанное сообщение Fogel » 2009-12-22 21:15:06

Да, кажется, я данные опции при сборке ядра не включал.
Опять-таки, отпишусь завтра. Извините за задержку.