Автор Тема: Iptable въпрос  (Прочетена 3823 пъти)

bonbon

  • Напреднали
  • *****
  • Публикации: 112
  • Distribution: Debian
  • Window Manager: Gnome
    • Профил
    • WWW
Iptable въпрос
« -: Jul 14, 2008, 19:58 »
Здравейте.

Имам следният проблем:
Имам пуснат web-съреър на адрес 1.2.3.4 и домеин mydomain.com, който сочи към 1.2.3.4

Налага ми се да пренасоча mydomain.com към друга машина с ип-адрес 5.6.7.8.

Тъй като от опит знам, че обновевянето на dns-сървърите отнема доста време (да не споменавам БТК'<img'>  ) интересувам се има ли начин да пренасоча всички пакети идващи до 1.2.3.4 към 5.6.7.8

Пробвах с :
iptables -t nat -I PREROUTING -s ip_адреса_ми -p tcp --dport 80 -j DNAT --to-destination 5.6.7.8 , но като се опитам да заредя http://1.2.3.4 нищо не става.

Благодаря предварително.



Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Iptable въпрос
« Отговор #1 -: Jul 14, 2008, 20:28 »
Опитай се да си представиш как става TCP handshake-a, пакетът с какъв сорс адрес пристига при 5.6.7.8 и съответно SYN-ACK от 5.6.7.8 с какъв source и destination се връща и дали клиентът ще асоцира този пакет със сокета, който е отворил. Накратко, на машината 5.6.7.8 вероятно трябва да има правило, което прави SNAT, за да може пакетите да се връщат с "правилният" сорс адрес. Лошото в случаят е че тогава опити за връзка с 5.6.7.8 ще пропаднат, защото "отговорите" ще се връщат със сорс адрес 1.2.3.4. Какво може да се направи по въпроса? Мммм, интересен въпрос. Примерно аз бих пробвал на машината дето DNAT-ва да си поиграя да бутам TOS-а на пакетите и на 5.6.7.8 да ги match-вам по този критерий. Обаче това не е много надеждно, защото някои рутери променят TOS полето в хедъра на пакетите, които forward-ват...и тогава всичко се осира. За универсална рецепта нямам идея, нека се изкаже някой мрежар с опит '<img'>
Активен

"Knowledge is power" - France is Bacon

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Iptable въпрос
« Отговор #2 -: Jul 15, 2008, 10:05 »
Как са свързани двете машини (ако имат връзка изобщо)? Можеш ли да изградиш директна физическа връзка между тях? Или някакъв тунел?



Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

alex_c

  • Напреднали
  • *****
  • Публикации: 122
    • Профил
Iptable въпрос
« Отговор #3 -: Jul 15, 2008, 14:08 »
Ето едно решение, надявам се, че ще работи:

1. Конфигурация, при която 5.6.7.8 е "зад" рутера с адрес 1.2.3.4

iptables -t nat -I PREROUTING -d външен_ip_адрес_на_рутера -p tcp --dport 80 -j DNAT --to-destination 5.6.7.8

като естествено, рутерът е с два мрежови интерфейса и 5.6.7.8 е в локалната мрежа (вързана на втория мрежов интерфейс).

2. 5.6.7.8 е публичен IP адрес и машината не е зад рутера с адрес 1.2.3.4

iptables -t nat -I PREROUTING -s ip_адреса_ми -p tcp -d 1.2.3.4 --dport 80 -j DNAT --to-destination 5.6.7.8
iptables -t nat -I POSTROUTING -s ip_адреса_ми -p tcp --dport 80 -d 5.6.7.8 -j SNAT --to-destination 1.2.3.4

Така пакетите от твоя_ip_адрес към 1.2.3.4 ще се пренасочват към 5.6.7.8 с правилото в PREROUTING веригата, а след това ще се промени сорс-адреса на пакетите чрез правилото в POSTROUTING веригата.
По този начин пътят на пакетите ще бъде:
твоят_ip_адрес ------> 1.2.3.4 -------> 5.6.7.8
твоят_ip_адрес <------ 1.2.3.4 <------- 5.6.7.8
т,е 1.2.3.4 ще бъде нещо като "прокси"
Активен

KPETEH

  • Напреднали
  • *****
  • Публикации: 584
    • Профил
Iptable въпрос
« Отговор #4 -: Jul 15, 2008, 16:59 »
И по те таА схема си си у вечното прокси ! има да си фоуърдваш да си натваш да си аутпутваш форевЪ !
Май не те кефи вече а ? :-)
Активен

Най-добрата страна на алчността е способността и да стопява коефициента на интелигентност дори на най-умния човек.

bonbon

  • Напреднали
  • *****
  • Публикации: 112
  • Distribution: Debian
  • Window Manager: Gnome
    • Профил
    • WWW
Iptable въпрос
« Отговор #5 -: Jul 17, 2008, 00:34 »
Работата е там че двете машини са в различни държави. '<img'>
Активен

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Iptable въпрос
« Отговор #6 -: Jul 17, 2008, 10:08 »
VPN между двете машини можеш ли да изградиш?
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

alex_c

  • Напреднали
  • *****
  • Публикации: 122
    • Профил
Iptable въпрос
« Отговор #7 -: Jul 17, 2008, 13:45 »
@КРЕТЕН
Цитат
И по те таА схема си си у вечното прокси ! има да си фоуърдваш да си натваш да си аутпутваш форевЪ !
Май не те кефи вече а ? :-)


И какво от това? Нали идеята е да се пренасочват временно заявките, докато да се обновят DNS записите? След като това стане, заявките към стария адрес (1.2.3.4) ще престанат от самосебе си.
От друга страна, хубаво или не, това е едно решение на проблема. Ако знаеш някакъв друг начин (по-добър), моля те, сподели го с нас, простосмъртните. Ако не знаеш, по-добре не се изказвай неподготвен.

Best wishes!
Alex
Активен

KPETEH

  • Напреднали
  • *****
  • Публикации: 584
    • Профил
Iptable въпрос
« Отговор #8 -: Jul 17, 2008, 17:40 »
Mда alex_c просто се смея с глас в момента не че те интересува де.  '<img'>
Активен

Най-добрата страна на алчността е способността и да стопява коефициента на интелигентност дори на най-умния човек.

alex_c

  • Напреднали
  • *****
  • Публикации: 122
    • Профил
Iptable въпрос
« Отговор #9 -: Jul 17, 2008, 17:59 »
Да, наистина не ме интересува, нито пък bonbon го интересува.
Ако можеш да му помогнеш, дай конструктивно преложение на човека, че така малко изглежда говорене в името на самото говорене.
Активен

KPETEH

  • Напреднали
  • *****
  • Публикации: 584
    • Профил
Iptable въпрос
« Отговор #10 -: Jul 17, 2008, 20:13 »
МъногУ ми е интересно на бонбона свърши ли му работа вечното прокси ?
Защоо нищо не написа ? :-)

П.П. Това в името на говоренето де ... ако въобще някой си мисли че като общува виртуално с други си говори с тях :-)
Активен

Най-добрата страна на алчността е способността и да стопява коефициента на интелигентност дори на най-умния човек.

bonbon

  • Напреднали
  • *****
  • Публикации: 112
  • Distribution: Debian
  • Window Manager: Gnome
    • Профил
    • WWW
Iptable въпрос
« Отговор #11 -: Aug 03, 2008, 12:54 »
DNS-a вече се е обновил, така че проксито не ми е нужно.
Благодаря на всички.
Активен

laskov

  • Напреднали
  • *****
  • Публикации: 3166
    • Профил
Iptable въпрос
« Отговор #12 -: Aug 04, 2008, 10:27 »
А можеше ли на mydomain.com на 1.2.3.4 да му се напише един нов index.html, който да пренасочва заявката към mydomain.com на 5.6.7.8 ?
Активен

Не си мислете, че понеже Вие мислите правилно, всички мислят като Вас! Затова, когато има избори, идете и гласувайте, за да не сте изненадани после от резултата, и за да не твърди всяка партия, че тя е спечелила, а Б.Б. (С.С., ...) е загубил, а трети да управлява.  Наздраве!  [_]3

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
проблем свързан с iptable
Настройка на програми
nitroX 2 1563 Последна публикация Feb 19, 2007, 15:45
от vasilvalchev
Iptable и smtp
Настройка на програми
Lucifer 8 3468 Последна публикация Aug 29, 2007, 11:59
от Lucifer