Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: bonbon в Jul 14, 2008, 19:58



Титла: Iptable въпрос
Публикувано от: bonbon в Jul 14, 2008, 19:58
Здравейте.

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

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

Тъй като от опит знам, че обновевянето на dns-сървърите отнема доста време (да не споменавам БТК:)  ) интересувам се има ли начин да пренасоча всички пакети идващи до 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 нищо не става.

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





Титла: Iptable въпрос
Публикувано от: gat3way в 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-ват...и тогава всичко се осира. За универсална рецепта нямам идея, нека се изкаже някой мрежар с опит :)


Титла: Iptable въпрос
Публикувано от: VladSun в Jul 15, 2008, 10:05
Как са свързани двете машини (ако имат връзка изобщо)? Можеш ли да изградиш директна физическа връзка между тях? Или някакъв тунел?





Титла: Iptable въпрос
Публикувано от: alex_c в 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 ще бъде нещо като "прокси"


Титла: Iptable въпрос
Публикувано от: KPETEH в Jul 15, 2008, 16:59
И по те таА схема си си у вечното прокси ! има да си фоуърдваш да си натваш да си аутпутваш форевЪ !
Май не те кефи вече а ? :-)


Титла: Iptable въпрос
Публикувано от: bonbon в Jul 17, 2008, 00:34
Работата е там че двете машини са в различни държави. :)


Титла: Iptable въпрос
Публикувано от: VladSun в Jul 17, 2008, 10:08
VPN между двете машини можеш ли да изградиш?


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


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

Best wishes!
Alex


Титла: Iptable въпрос
Публикувано от: KPETEH в Jul 17, 2008, 17:40
Mда alex_c просто се смея с глас в момента не че те интересува де.  :D


Титла: Iptable въпрос
Публикувано от: alex_c в Jul 17, 2008, 17:59
Да, наистина не ме интересува, нито пък bonbon го интересува.
Ако можеш да му помогнеш, дай конструктивно преложение на човека, че така малко изглежда говорене в името на самото говорене.


Титла: Iptable въпрос
Публикувано от: KPETEH в Jul 17, 2008, 20:13
МъногУ ми е интересно на бонбона свърши ли му работа вечното прокси ?
Защоо нищо не написа ? :-)

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


Титла: Iptable въпрос
Публикувано от: bonbon в Aug 03, 2008, 12:54
DNS-a вече се е обновил, така че проксито не ми е нужно.
Благодаря на всички.


Титла: Iptable въпрос
Публикувано от: laskov в Aug 04, 2008, 10:27
А можеше ли на mydomain.com на 1.2.3.4 да му се напише един нов index.html, който да пренасочва заявката към mydomain.com на 5.6.7.8 ?