Автор Тема: Реално IP зад nat  (Прочетена 3633 пъти)

theroot

  • Участници
  • ***
  • Публикации: 7
    • Профил
Реално IP зад nat
« -: Sep 19, 2009, 20:53 »
Здравейте. Имам нужда от помощ за следния казус: имам FreeBSD машина за разделяне на нет, отван реално IP, вътре мрежа  192.168.3.128/25 и сега се налага да сложа реално IP на една от машините ??? BSD-то има и трети мрежов интерфейс през който пробвах да рутирам реалното ip, но не се получава.. не съм правил подобно нещо..  Ако някой има идея как може да стане ..  Предварително благодаря.
Активен

koue

  • Напреднали
  • *****
  • Публикации: 74
  • Distribution: FreeBSD
  • Window Manager: fluxbox
    • Профил
Re: Реално IP зад nat
« Отговор #1 -: Sep 19, 2009, 23:23 »
Какъв софтуер използваш за филтър - pf, ipfw ?
Активен

Спрете да им прощавате, че не знаят какво правят!

theroot

  • Участници
  • ***
  • Публикации: 7
    • Профил
Re: Реално IP зад nat
« Отговор #2 -: Sep 20, 2009, 11:23 »
ipfw  , а машината е с  FreeBSD 5.2.1-RELEASE ..
Активен

koue

  • Напреднали
  • *****
  • Публикации: 74
  • Distribution: FreeBSD
  • Window Manager: fluxbox
    • Профил
Re: Реално IP зад nat
« Отговор #3 -: Sep 20, 2009, 12:43 »
http://freebsd.rogness.net/redirect.cgi?basic/nat.html
Това ако искаш да го направиш през FreeBSD-то.

Но има и по-лесен начин, зависи дали те устройва (сигурност, функционалност, etc). Слагаш на втората машина публичния адрес и двете машини ги закачаш на switch, в който включваш и кабела от интернет доставчикът.
Активен

Спрете да им прощавате, че не знаят какво правят!

theroot

  • Участници
  • ***
  • Публикации: 7
    • Профил
Re: Реално IP зад nat
« Отговор #4 -: Sep 20, 2009, 14:29 »
Идеята със суича ми е краен вариант... защото компа е няколко етажа по-надоло и съответно ще трябва да пусна отделен кабел до него... А линка за конфигурирането на натд съм го чел и напрактика BSD-то съм го настроил по същия начин.. но идеята ми е да добавя комп. с реално IP в локалната мрежа зад BSD-то. Пробвах да добавя alias на вътрешният ми интерфейс и да задам rout до компа с реалното ip зад BSD-то но не се получава... направо ме заболя главата  .. нищо неможах да намеря в google по теамата което да работи..
Активен

foxb

  • Напреднали
  • *****
  • Публикации: 175
    • Профил
    • WWW
Re: Реално IP зад nat
« Отговор #5 -: Sep 20, 2009, 15:16 »
Е то въпроса ти не е правилен...

NAT (Network Address Translation) не е това което ти трябва.

Потърси информация за bridging.

theroot

  • Участници
  • ***
  • Публикации: 7
    • Профил
Re: Реално IP зад nat
« Отговор #6 -: Sep 20, 2009, 16:09 »
Мерси за помощта..
Знам, че нат-а няма да помогне.. А един въпрос относно bridging - трябва ли да е добавена опция при компилирането на кърнела защото при мен се получава следното:
# ifconfig bridge create
ifconfig: SIOCIFCREATE: Invalid argument
??
« Последна редакция: Sep 20, 2009, 16:12 от theroot »
Активен

Slevin_

  • Напреднали
  • *****
  • Публикации: 182
    • Профил
Re: Реално IP зад nat
« Отговор #7 -: Sep 20, 2009, 16:18 »
но идеята ми е да добавя комп. с реално IP в локалната мрежа зад BSD-то. Пробвах да добавя alias на вътрешният ми интерфейс и да задам rout до компа с реалното ip зад BSD-то но не се получава... направо ме заболя главата  .. нищо неможах да намеря в google по теамата което да работи..

Идеята всъщност е да добавиш алиас на интерфейса към доставчика ти с публичния адрес след това в

natd.conf

redirect_address "private IP"  "public IP"

Така всички пакети предназначени за public IP ще бъдат пренасочени към private IP и обратното.
Това е все едно че си с публичен адрес назначен на компютъра в локалната ти мрежа. Разликата е само в това че се подлага на НАТ(така известния НАТ 1:1). Естествено локалната машина ще си остане с private IP

При опити да рутираш адреса може би ще ти трябва и прокси арп.
Отговори си на въпроса, след като пакет предназначен за ИП адреса, които искаш да назначиш в твоя лан..., как рутера на доставчика ще предприеме изпращането на пакета.
След като види според рутинг таблицата си, че пакета е с получател, който се намира в бруодкаст домейн за който отговаря самия той(рутера), Следва да провери арп таблицата си кой мак адрес отговаря на това ИП или да направи запитване по броудкаст чрез арп ако липсва запис. 
От тук следва,  че пакета от рутера на доставчика до твоето БСД се доставя на L2.

Едит: Бридж също би свършил работа.
В твоя конкретен случай-->http://www.freebsd.org/cgi/man.cgi?query=bridge&apropos=0&sektion=4&manpath=FreeBSD+5.2.1-RELEASE&format=html

Но според мен нямаш проблем да си го направиш с НАТ, не виждам какво толкова те притеснява.
« Последна редакция: Sep 20, 2009, 16:35 от Slevin_ »
Активен

"Две неща на този свят са безкрайни - човешката глупост и вселената. За второто не съм съвсем сигурен" А. Айнщайн

theroot

  • Участници
  • ***
  • Публикации: 7
    • Профил
Re: Реално IP зад nat
« Отговор #8 -: Sep 20, 2009, 16:43 »
:) :)  да.. с redirect_address работи..  много благодаря..
Сега излизам с  реално IP , но дали ще мога да стигам до от интернет до този комп.. ?
Активен

Slevin_

  • Напреднали
  • *****
  • Публикации: 182
    • Профил
Re: Реално IP зад nat
« Отговор #9 -: Sep 20, 2009, 17:11 »
:) :)  да.. с redirect_address работи..  много благодаря..
Сега излизам с  реално IP , но дали ще мога да стигам до от интернет до този комп.. ?
Не би трябвало да имаш проблем.
При пристигане на пакет с получател public IP в БСД-то,  то тази заявка образно казано ще бъде пренасочена към private IP(ще бъде подменен получателя public IP с private IP  в хедъра на пакета от natd и така пакета ще бъде препратен до локалната ти машина с  private IP)
Поздрави!!!
« Последна редакция: Sep 20, 2009, 17:17 от Slevin_ »
Активен

"Две неща на този свят са безкрайни - човешката глупост и вселената. За второто не съм съвсем сигурен" А. Айнщайн

theroot

  • Участници
  • ***
  • Публикации: 7
    • Профил
Re: Реално IP зад nat
« Отговор #10 -: Sep 20, 2009, 19:13 »
 :(  ще се побъркам.... след рестарт и добавяне на redirect_address ми връща:

natd: aliasing address not given 

пробвах с

#natd -n rl0 -alias_addres -redirect_address ...   но отговаря:

natd: Unable to bind divert socket.: Address already in use

инача alias адреса си се пингва от интернет..  ?? къде греша?
Активен

Slevin_

  • Напреднали
  • *****
  • Публикации: 182
    • Профил
Re: Реално IP зад nat
« Отговор #11 -: Sep 21, 2009, 12:13 »
:(  ще се побъркам.... след рестарт и добавяне на redirect_address ми връща:

natd: aliasing address not given ......
 къде греша?
А добави ли в rc.conf
alias-a за да може и след рестартиране да важи настройката

Би трябвало да е имаш такава директива

ifconfig_rl0_alias0 "inet xxx.xxx.xxx.xxx"

xxx.xxx.xxx.xxx - public IP

"natd: aliasing address not given" - май подсказва точно това, не е назначен alias на интерфейса ти.

Edit:
Недопрочетох че адреса се пингва т.е. явно е добавен alias-a

Пробвай също
natd -n rl0 -redirect_address "private IP"  "Public IP"

« Последна редакция: Sep 21, 2009, 12:33 от Slevin_ »
Активен

"Две неща на този свят са безкрайни - човешката глупост и вселената. За второто не съм съвсем сигурен" А. Айнщайн

theroot

  • Участници
  • ***
  • Публикации: 7
    • Профил
Re: Реално IP зад nat
« Отговор #12 -: Sep 24, 2009, 18:22 »
Много странно.. продължава да "гърми" с :
natd: Unable to bind divert socket.: Address already in use ..

ще пробвам с по-нова версия на bsd..
Активен

Slevin_

  • Напреднали
  • *****
  • Публикации: 182
    • Профил
Re: Реално IP зад nat
« Отговор #13 -: Sep 25, 2009, 09:03 »
Много странно.. продължава да "гърми" с :
natd: Unable to bind divert socket.: Address already in use ..

ще пробвам с по-нова версия на bsd..
Едва ли в версията е проблема.

Тази команда предполагам я изпълняваш докато демона е стартиран.
natd ползва divert правило в ipfw.
По правилно казано чрез divert правилото в ipfw се пренасочва трафика към порт 8886 където слуша natd.
Та този порт е зает докато демона е пуснат. затова предполагам ти избива
natd: Unable to bind divert socket.: Address already in use ..

Пробва ли в natd.conf да добавиш само
redirect_address "private IP"  "public IP"

И да рестартираш демона natd отново.

Edit: Ето какво открих и би трябвало да хвърли светлина по проблема ти.
http://www.linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=359957686
« Последна редакция: Sep 25, 2009, 09:24 от Slevin_ »
Активен

"Две неща на този свят са безкрайни - човешката глупост и вселената. За второто не съм съвсем сигурен" А. Айнщайн