URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 51533
[ Назад ]

Исходное сообщение
"Если завтра не заработает УВОЛЯТ помогите....(alias)"

Отправлено hobot , 13-Дек-04 17:52 
FreeBSD 5.0 (роутер)
rl0 - 213.*.*.133 mask 255.255.255.128 - в интернет
rl1 - 192.*.*.1 mask 255.255.255.0 - в локалку

ЗАДАЧА:
есть 3-ip адреса 213.*.*.151/152/153 mask 255.255.255.128
у клиентов.
Необходимо чтоб они выходили в интернет через роутер со своими IP.
Стал настраивать rc.conf и встал не могу понять к какому интерфейсу нада прицепить исчо 1 ip к внутреннему или внешнему.

направьте в нужном направлении


Содержание

Сообщения в этом обсуждении
"Если завтра не заработает УВОЛЯТ помогите....(alias)"
Отправлено Polzun , 13-Дек-04 18:57 
>FreeBSD 5.0 (роутер)
>rl0 - 213.*.*.133 mask 255.255.255.128 - в интернет
>rl1 - 192.*.*.1 mask 255.255.255.0 - в локалку
>
>ЗАДАЧА:
>есть 3-ip адреса 213.*.*.151/152/153 mask 255.255.255.128
>у клиентов.
>Необходимо чтоб они выходили в интернет через роутер со своими IP.
>Стал настраивать rc.conf и встал не могу понять к какому интерфейсу нада
>прицепить исчо 1 ip к внутреннему или внешнему.

ессно ко внутреннему...
только сетка 213.*.*.133 mask 255.255.255.128 это адреса со 128 по 255
1) на внутренний интерфейс надо повесить адрес 213.*.*.145 маска 255.255.255.240
2) на клиентах свои адреса с маской 255.255.255.240 и шлюзом 213.*.*.145
3) твой провайдер должен знать что сетка 213.*.*.144/29 роутится через 213.*.*.133
4) все адреса (133, 144-159) должны быть твоими
вот и все



"Если завтра не заработает УВОЛЯТ помогите....(alias)"
Отправлено hobot , 13-Дек-04 19:18 
объясни почему именно 145 надо вешать на внутренний
могу ли повесить 151 а клиентам дать 152 153



"Если завтра не заработает УВОЛЯТ помогите....(alias)"
Отправлено Polzun , 13-Дек-04 19:29 
>объясни почему именно 145 надо вешать на внутренний
>могу ли повесить 151 а клиентам дать 152 153

Вообще-то это без разницы, но обычно роутеру дают 1й адрес подсетки
Поставив 145 роутеру, ты будешь знать что это 1й адрес подсетки 213.*.*.144/28 (и не запутаешься потом)
Для клиентов остаются адреса 146-158, а 159 - броадкаст
Что касается маски, то у клиентов должна быть маска 255.255.255.240 для того чтобы они могли без участия роутера общаться.

Вообще какая у тебя топология и какие адреса тебе доступны?


"Если завтра не заработает УВОЛЯТ помогите....(alias)"
Отправлено Aleks , 13-Дек-04 19:20 
>FreeBSD 5.0 (роутер)
>rl0 - 213.*.*.133 mask 255.255.255.128 - в интернет
>rl1 - 192.*.*.1 mask 255.255.255.0 - в локалку
>
>ЗАДАЧА:
>есть 3-ip адреса 213.*.*.151/152/153 mask 255.255.255.128
>у клиентов.
>Необходимо чтоб они выходили в интернет через роутер со своими IP.
>Стал настраивать rc.conf и встал не могу понять к какому интерфейсу нада
>прицепить исчо 1 ip к внутреннему или внешнему.
>
>направьте в нужном направлении

Способа 2 (по крайней мере сразу пришли в голову):

1) Поднимаешь эти 3 ИП (алиасы) на интерфейсе смотрящем в интернет
и делаешь статический НАТ на 3 ИП локальной сети. Подробнее man natd,
man ipfw.

2) Использование возможности ФриБСД работать в качестве бриджа в
сочетании с файрволом.
Подробности тут: http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ne...

Способ (2) я на практике не пробывал, сам недавно наткнулся на это место
в документации по Фре, но не вижу ни чего что бы могло помешать
реализации.


"Если завтра не заработает УВОЛЯТ помогите....(alias)"
Отправлено hobot , 13-Дек-04 19:28 
идею понял только тогда вот какой вопрос
будут ли внешние ip клиентов видеть внешний интерфейс если физически они подключены к внутреннему


"Если завтра не заработает УВОЛЯТ помогите....(alias)"
Отправлено hobot , 13-Дек-04 19:35 
топология следующая
есть внешние адреса 213.*.*.133,135,144,151,152,153 с маской 128
192 - шлюз прова
133 - внешний на моем роутере
все остальные свободны - надо дать клиентам
192.168.11.1 маска 0 - локалка


"Если завтра не заработает УВОЛЯТ помогите....(alias)"
Отправлено Polzun , 13-Дек-04 19:49 
>топология следующая
>есть внешние адреса 213.*.*.133,135,144,151,152,153 с маской 128
>192 - шлюз прова
>133 - внешний на моем роутере
>все остальные свободны - надо дать клиентам
>192.168.11.1 маска 0 - локалка

Что-то очень странная конфигурация - это настораживает.
Если нет никакого подвоха, то предложенный мной метод заработает.
Только не забудь провайдеру сказать, что сеть 213.*.*.144/28 стоит за 213.*.*.133


"Если завтра не заработает УВОЛЯТ помогите....(alias)"
Отправлено Aleks , 13-Дек-04 19:48 
>идею понял только тогда вот какой вопрос
>будут ли внешние ip клиентов видеть внешний интерфейс если физически они подключены
>к внутреннему

Судя по всему ты остановился на способе (1)
Вот пример:

допустим провайдер выжелил тебе адрес 1.1.1.101/24,
а в локалке есть хост 10.10.10.101,
имя интерфейса смотрящего в интернет fxp0, в локалку xl0
адрес на внутреннем интерфейсе 10.10.10.1/24

алиас
ifconfig fxp0 alias 1.1.1.101 network 255.255.255.0
всё пришедшее из интернет завернуть на нат
ipfw add 1 divert natd ip from any to any in recv fxp0
ipfw add 2 divert natd ip from 10.10.10.101 to not 10.10.10.0/24 out xmit fxp0
ipfw add 3 allow ip from 10.10.10.101 to any via xl0
ipfw add 4 allow ip from any to 10.10.10.101 via xl0
в конфиг нат пишешшь
redirect_address 10.10.10.101 1.1.1.101
перезапускаешь нат и идёшь на юзерскую тачку,
ставишь, на ней
ставишь ИП адрес 10.10.10.101, шлюз 10.10.10.1.
всё.

В результате твой юзер ходит по локалке с адресом 10.10.10.101, а в интернет 1.1.1.101 ... как www.microsoft.com :))))



"Если завтра не заработает УВОЛЯТ помогите....(alias)"
Отправлено hobot , 13-Дек-04 19:58 
тогда вопрос
ipfw add 2 divert natd ip from 10.10.10.101 to not 10.10.10.0/24 out xmit fxp0
как понять этот момент "out xmit fxp0"

"Если завтра не заработает УВОЛЯТ помогите....(alias)"
Отправлено Aleks , 13-Дек-04 20:08 
>тогда вопрос
>ipfw add 2 divert natd ip from 10.10.10.101 to not 10.10.10.0/24 out
>xmit fxp0
>как понять этот момент "out xmit fxp0"

так: "уходящее наружу с интерфейса fxp0"
не сомневайся взял с рабочего конфига методом "Cut & Paste" :)


"Если завтра не заработает УВОЛЯТ помогите....(alias)"
Отправлено hobot , 13-Дек-04 20:19 
тогда еще один момент если пингать с улицы внешний ip клиента
1.1.1.101 будет ли видно иль нет
объясню зачем нада у клинта будет стоять ip телефон а для его работы нужно чтоб его было видно с улицы

"Если завтра не заработает УВОЛЯТ помогите....(alias)"
Отправлено Polzun , 13-Дек-04 21:32 
>тогда еще один момент если пингать с улицы внешний ip клиента
>1.1.1.101 будет ли видно иль нет
>объясню зачем нада у клинта будет стоять ip телефон а для его
>работы нужно чтоб его было видно с улицы

Тогда, скорее всего, тебе придется рассматривать мой метод :)


"Если завтра не заработает УВОЛЯТ помогите....(alias)"
Отправлено hobot , 13-Дек-04 21:38 
дружище спасай ситуацию
можешь на примере показать последовательность и порядок как настроить эту хрень
перерыл весь форум все говорят что это фигня и по 100 выриантов решений предлагают что пугает
выручи плз....
uin: 291100


"Re: Если завтра не заработает УВОЛЯТ помогите....(alias)"
Отправлено Patrick_lt , 14-Дек-04 11:16 
Сегодня делал под фрю 5,2 - работает :
Или короче
1. Пересобираеш ядро с опциями :
option IPFIREWALL
option IPDIVERT
option IPFIREWALL_VERBOSE
option IPFIREWALL_VERBOSE_LIMIT=10
# see
http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/kerne...
#--------------------------------------------------------------------
ладно сборка ядра пошагово:
1. логинишся под root-om
2. cd /usr/src/sys/i386/conf
3. cp GENERIC ROUTER
4. ee ROUTER
5. меняеш
ident GENERIC на
ident ROUTER
5. идешь в конец файла дописываеш

option IPFIREWALL
option IPDIVERT
option IPFIREWALL_VERBOSE
option IPFIREWALL_VERBOSE_LIMIT=10

6. Сохраняеш изменения
7. config ROUTER
8. cd /usr/src/sys/i386/compile
9. make
10. make install
#------------------------------------------------------------


2. В rc.conf пишеш :
#-------------
ifconfig_rl0="inet 213.*.*.133  netmask 255.255.255.128"
ifconfig_rl1="192.*.*.1  netmask 255.255.255.0"
defaultrouter="213.*.*.NNN" #шлюз провайдера
natd_enable="YES"
natd_interface="rl0"
gateway_enable="YES"
firewall_enable="YES"
firewall_type="OPEN" #временно открываеш все порты - потом настроишь

#see man ipfw

3. reboot now


Да, на другихмашинах прописываешь:
IP 192.*.*.1 netmask 255.255.255.0
defaultrouter="192.*.*.1" (основной шлюз)
dns - dns проваедера


Усьо - работает как часы

petruniv@yandex.ru
ICQ: 126374000

>дружище спасай ситуацию
>можешь на примере показать последовательность и порядок как настроить эту хрень
>перерыл весь форум все говорят что это фигня и по 100 выриантов
>решений предлагают что пугает
>выручи плз....
>uin: 291100



"Если завтра не заработает УВОЛЯТ помогите....(alias)"
Отправлено screepah , 14-Дек-04 11:38 
>объясню зачем нада у клинта будет стоять ip телефон а для его
>работы нужно чтоб его было видно с улицы

Скорее всего не получится по-простому, средствами ната. Либо шлюз voip-шный, либо реальные ip на клиентских машинах. А так, с пробросом всей машины наружу, только один сможет юзать телефонию, а два других отдыхать.



"Если завтра не заработает УВОЛЯТ помогите....(alias)"
Отправлено Polzun , 13-Дек-04 19:32 
>>FreeBSD 5.0 (роутер)
>>rl0 - 213.*.*.133 mask 255.255.255.128 - в интернет
>>rl1 - 192.*.*.1 mask 255.255.255.0 - в локалку
>>
>>ЗАДАЧА:
>>есть 3-ip адреса 213.*.*.151/152/153 mask 255.255.255.128
>>у клиентов.
>>Необходимо чтоб они выходили в интернет через роутер со своими IP.
>>Стал настраивать rc.conf и встал не могу понять к какому интерфейсу нада
>>прицепить исчо 1 ip к внутреннему или внешнему.
>>
>>направьте в нужном направлении
>
>Способа 2 (по крайней мере сразу пришли в голову):
>
>1) Поднимаешь эти 3 ИП (алиасы) на интерфейсе смотрящем в интернет
>и делаешь статический НАТ на 3 ИП локальной сети. Подробнее man natd,

Это лишний геморрой с настройками и не факт что нормально будет для клиентов

>2) Использование возможности ФриБСД работать в качестве бриджа в
>сочетании с файрволом.
>Подробности тут: http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ne...
>
>Способ (2) я на практике не пробывал, сам недавно наткнулся на это
>место
>в документации по Фре, но не вижу ни чего что бы могло
>помешать
>реализации.

Не прокатит т.к. на внутреннем интерфейсе висят серые адреса, а их нельзя выпускать...



"Если завтра не заработает УВОЛЯТ помогите....(alias)"
Отправлено Aleks , 13-Дек-04 19:59 
>>>FreeBSD 5.0 (роутер)
>>>rl0 - 213.*.*.133 mask 255.255.255.128 - в интернет
>>>rl1 - 192.*.*.1 mask 255.255.255.0 - в локалку
>>>
>>>ЗАДАЧА:
>>>есть 3-ip адреса 213.*.*.151/152/153 mask 255.255.255.128
>>>у клиентов.
>>>Необходимо чтоб они выходили в интернет через роутер со своими IP.
>>>Стал настраивать rc.conf и встал не могу понять к какому интерфейсу нада
>>>прицепить исчо 1 ip к внутреннему или внешнему.
>>>
>>>направьте в нужном направлении
>>
>>Способа 2 (по крайней мере сразу пришли в голову):
>>
>>1) Поднимаешь эти 3 ИП (алиасы) на интерфейсе смотрящем в интернет
>>и делаешь статический НАТ на 3 ИП локальной сети. Подробнее man natd,
>
>Это лишний геморрой с настройками и не факт что нормально будет для
>клиентов

Данный геморой позволит скрыть внутреннюю инфраструктуру сети от
всякой нечести, поэтому считаю его не лишним, а напротив предпочёл
бы его использование (с точки зрения безопасности). В 80% случаев
клиентам будет нормально, но есть засады, например клиенты
VPN работать не смогут ... может ещё чего не помню.

>
>>2) Использование возможности ФриБСД работать в качестве бриджа в
>>сочетании с файрволом.
>>Подробности тут: http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ne...
>>
>>Способ (2) я на практике не пробывал, сам недавно наткнулся на это
>>место
>>в документации по Фре, но не вижу ни чего что бы могло
>>помешать
>>реализации.
>
>Не прокатит т.к. на внутреннем интерфейсе висят серые адреса, а их нельзя
>выпускать...

А это батенька как уж ты правила файрвола напишешь, способ на 100% рабочий, но без сомнения более дырявый.


"Если завтра не заработает УВОЛЯТ помогите....(alias)"
Отправлено jonatan , 13-Дек-04 22:42 
Знакомый решал похожую задачу, но на linux. Решил так, как предлагает Polzun .
> 1) на внутренний интерфейс надо повесить адрес 213.*.*.145 маска
> 255.255.255.240
> 2) на клиентах свои адреса с маской 255.255.255.240 и шлюзом 213.*.*.145
> 3) твой провайдер должен знать что сетка 213.*.*.144/29 роутится
> через 213.*.*.133
Вместо этого он использовал proxyarp на внешнем интерфейсе. Хотя, если пров не против, то так.
> 4) все адреса (133, 144-159) должны быть твоими

Можно, конечно, использовать SNAT/DNAT для этих клиентов, но некоторые протоколы могут передавать ip внутри своего пакета (например, у знакомого есть такой банк-клиент) и это работать не будет.