Титла: Port redirect на локална машина Публикувано от: ivanatora в Nov 16, 2004, 15:46 Жертвата е машина, която разделя домашната ми мрежа от интернет (SNAT). На таз машина пускам апаш. Искам от мрежата да се вижда една страница, а отвън - друга. За целта пускам две инстанции на апаша: една която слуша на порт 80, и друга на 8080. До тук всичко работи. с http://ip.here:8080/ се вижда второто копие с различните си настройки. Искам обаче това :8080 да не се пише.. демек всичко което пристига отвън и идва към порт 80, да се пренасочва към порт 8080.
Пробвах следните неща:
(естествено, не наведнъж, едно след друго ![]() eth0 ми е интерфейса, който гледа навън. $IP е адреса на машината, която мъча. Нищо от това не проработи, ако отвън се опитва да се отвори http://ip.here/ (без :8080) се отваря първото копие на апаша, което слуша на 80. Къде може да бъркам? ![]() Титла: Port redirect на локална машина Публикувано от: coldy в Nov 16, 2004, 18:00 Здравей, при мен нещата работят така.
Титла: Port redirect на локална машина Публикувано от: ivanatora в Nov 16, 2004, 18:17 Същата работа е.
Титла: Port redirect на локална машина Публикувано от: the_real_maniac в Nov 16, 2004, 20:00
1.Т.е рутера , който седи м/у твоята мрежа и интернет. ОК 2. Всичко работи - проверил си ?. ОК 3.Т.е от вънка да виждат host:8080, а от вътре host:80 ?/OK 4. eth0 - INTERNET $IP - РЕАЛНОТО ( ?! ) ip на рутера ?/ОК ---- 1. iptables -t nat -A PREROUTING -m tcp -p tcp -i eth0 -d ip.of.the.router --dport 80 -j REDIRECT --to-ports 8080 2. Ако локалната ти мрежа ползва реалното ип за заявка към сайта, вместо локалното тогава правилата ще са 2. iptables -t nat -A PREROUTING -m tcp -p tcp -i eth1 -d ip.of.the.router --dport 80 -j DNAT --to local.ip.of.therouter:80 Това е ... Титла: Port redirect на локална машина Публикувано от: в Nov 17, 2004, 09:58 Пък като ти писне да го мъчиш с iptables вземи прочети малко за <VirtualHost> директивата на Apache, може и да ти свърши работа.
П.П. Не отричам че може да се реши прблема и с iptables ама защо да намесваме ядрото в неща които и Apache може да прави. Титла: Port redirect на локална машина Публикувано от: ivanatora в Nov 17, 2004, 11:37 @the_real_maniac: 1,2,3,4 - ok. 2 е проверено. Всъщност приоритета при тази задача е идващите отвън връзки към порт 80 да се пренасочват към 8080 и нищо повече. Съжалявам, ако съм внесъл малко неразбория.. ама за вътрешната мрежа няма значение кое отваря. IPто е реално.
Ето как тествам: Карам някой отвън да отвори http://$ip/ и http://$ip:8080/ Това което той вижда при първия случай е 403 - Forbiden, защото в conf-a на сървъра, слушащ на 80 има deny from all. Докато на другия, който е на 8080 има allow from all из директивите. При втория случай се вижда тестовата страница от DocumentRoot-a на втория (8080) сървър. Какво очаквам: при отваряне на http://$ip/ да се отваря тази тестова страница. И това решение не помогна. Вече се замислям дали проблема не идва от другаде.. Предпочитам да си играя с iptables вместо с виртуалните хостове. Титла: Port redirect на локална машина Публикувано от: vlad73 в Nov 17, 2004, 16:28 малко слабо вероятно ми се вижда, но провери дали можеш да отвориш http://localhost:8080/
естествено от потърпевшата машинка нещо ми се върти в главата, че -j REDIRECT правеше заявката локална за порта към който се редиректва... ама, ей Богу, наистина не съм убеден в това, което пиша в момента, просто идея, кояти мислех след време да пробвам... иначе мисля, че именно iptables -t nat -A PREROUTING -p tcp -d $IP --dport 80 -j REDIRECT --to-ports 8080 е верния ред за iptables... естествено ако няма някой друг преди него дето да влияе, защо не го промениш на iptables -t nat -I PREROUTING 1 -p tcp -d $IP --dport 80 -j REDIRECT --to-ports 8080 за да си гарантираш, че няма да се намери някое правило-тарикат, дето да се габарка с теб ![]() Успех! Титла: Port redirect на локална машина Публикувано от: Uvigii в Nov 17, 2004, 17:23 а този, дето отваря страницата ... "отвън"
натиска ли F5 като обезумял ?! Титла: Port redirect на локална машина Публикувано от: ivanatora в Nov 17, 2004, 19:53 Реших проблема
![]() Въобще бях забравил че ADSL модема прави някакъв негов си nat и че всъщност адреса на интерфейса е 192.168.1.2 ![]() Смених $ip на 192.168.1.2, пуснах го и тръгна. Всъщност грешката си е моя де.. кой да предположи че доставчика ще направи такова нещо изведнъж ![]() |