Автор Тема: Рутиране - пренасочване  (Прочетена 2291 пъти)

RedIce

  • Напреднали
  • *****
  • Публикации: 162
    • Профил
Рутиране - пренасочване
« -: Mar 16, 2006, 18:13 »
Проблемат е следният....
Намирам се в малка локална мрежа (в офис) и имам рутер (slackware) ... Всичко е ок... но искам да пренасоча заявките за определен адрес към прокси....
например.... всички заявки към *.www.com да минават през прокси xxx.yyy.zzz.ccc:port
предпогам решението е iptables... (и е 1 ред)
Надявам се някой да ми предложи готово решение, или поне някаква идея/инфо къде да търся.

(сега като се замисля... това става малко като транспарент прокси)
Активен

Dean79

  • Напреднали
  • *****
  • Публикации: 151
    • Профил
Рутиране - пренасочване
« Отговор #1 -: Mar 16, 2006, 18:34 »
iptables -t nat PREROUTING -s source.ip -d ip.na.www.something.com -p tcp --dport 80 -j DNAT --to x.x.x.x:8080
Активен

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Рутиране - пренасочване
« Отговор #2 -: Mar 16, 2006, 19:33 »
Тъй като страницата с това howto я няма вече, ти копирам директно текста:
Цитат

6. Transparent Proxy to a Remote Box
Now, the question naturally arises, if we can do all this nifty stuff redirecting HTTP connections to local ports, could we do the same thing but to a remote box (e.g., the machine with squid running is not the same machine as iptables is running on). The answer is yes, but it takes a little different magic words. If you only want to redirect to the local box (the normal case), skip this section. (Thanks to Giles Coochey for help writing this section).

For the purposes of example commands, let's assume we have two boxes called squid-box and iptables-box, and that they are on the network local-network. In the commands below, replace these strings with the actual IP addresses or name of your machines and network.

First, the machine that squid will be running on, squid-box. You do not need iptables or any special kernel options on this machine, just squid. You *will*, however, need the 'http_accel' options as described above. (Previous version of this HOWTO suggested that you did not need those options. That was a mistake. Sorry to have confused people...)

Now, the machine that iptables will be running on, iptables-box You will need to configure the kernel as described above, except that you don't need the REDIRECT target support). Now, for the iptables commands. You need three:


iptables -t nat -A PREROUTING -i eth0 -s ! squid-box -p tcp --dport 80 -j DNAT --to squid-box:3128
iptables -t nat -A POSTROUTING -o eth0 -s local-network -d squid-box -j SNAT --to iptables-box
iptables -A FORWARD -s local-network -d squid-box -i eth0 -o eth0 -p tcp --dport 3128 -j ACCEPT
The first one sends the packets to squid-box from iptables-box. The second makes sure that the reply gets sent back through iptables-box, instead of directly to the client (this is very important!'<img'>. The last one makes sure the iptables-box will forward the appropriate packets to squid-box. It may not be needed. YMMV. Note that we specified '-i eth0' and then '-o eth0', which stands for input interface eth0 and output interface eth0. If your packets are entering and leaving on different interfaces, you will need to adjust the commands accordingly.

Add these commands to your appropriate startup scripts under /etc/rc.d/

Активен

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

RedIce

  • Напреднали
  • *****
  • Публикации: 162
    • Профил
Рутиране - пренасочване
« Отговор #3 -: Mar 16, 2006, 21:04 »
Dean79 нещо си се заблудил... но това със source IP...., тук говорим за цяла мрежа... и не искам пренасочване на ИП, а на цял домеин (не забарвяй че www1.aaa.com и www2.aaa.com може да имат различни IP-та)
Все пак за source пробвах със 0/0, после си зададох моето IP,.... резултата беше един (като сложих IP-to на сайта за тест) -> Bad argument `PREROUTING'

Описаното от VladSun също не ми помогна много, това пренасочва целият трафик, а аз искам само един адрес...
И все пак испълних всичко описано... като пробвам да отворя... примерно http://www.nehsto.com, забелязах че все пак се свързва с проксито, и проксито ми даваше съобщение за грешка, че неможе да отвори URL:/
трявало да има http, и да съм въвел адрес (и двете са въведени)
Активен

Dean79

  • Напреднали
  • *****
  • Публикации: 151
    • Профил
Рутиране - пренасочване
« Отговор #4 -: Mar 16, 2006, 21:24 »
Къде съм се объркал?
Активен

RedIce

  • Напреднали
  • *****
  • Публикации: 162
    • Профил
Рутиране - пренасочване
« Отговор #5 -: Mar 16, 2006, 21:34 »
просто комадата не захапва.... ти кажи '<img'>
с iptables съм много зле....
Активен

Dean79

  • Напреднали
  • *****
  • Публикации: 151
    • Профил
Рутиране - пренасочване
« Отговор #6 -: Mar 16, 2006, 21:52 »
kak така не захапва'<img'>?'<img'>?'<img'>
Активен

RedIce

  • Напреднали
  • *****
  • Публикации: 162
    • Профил
Рутиране - пренасочване
« Отговор #7 -: Mar 16, 2006, 21:59 »
даже и да захапе, аз не искам да пренасочвам IP...
иначе вади:
Bad argument `PREROUTING'
Активен

Dean79

  • Напреднали
  • *****
  • Публикации: 151
    • Профил
Рутиране - пренасочване
« Отговор #8 -: Mar 16, 2006, 22:05 »
Отново се извинявам, изпуснал съм -А, но и ти можеше поне да хвърлиш едно око на поста на Владсън...

iptables -t nat -А PREROUTING -s 192.168.0.0/16 -d http://www.abv.bg -p tcp --dport 80 -j DNAT --to 192.168.0.1:8080



192.168.0.0/16 - всички ip-та от мрежата
http://www.abv.bg - сайта, към който са пакетите
192.168.0.1:8080 ip на рутера:порт на проксито


Страхувам се, че това с поддомойните не може да се реализира

П.С. може да не слагаш ип на домейна, а направо него, както в примера

П.С.2 Чети повечко, във форума има много подобни( да не казвам същите) въпроси
Активен

RedIce

  • Напреднали
  • *****
  • Публикации: 162
    • Профил
Рутиране - пренасочване
« Отговор #9 -: Mar 16, 2006, 22:40 »
точно това едва ли...
лятото имах подобно питане, самоче от прокси към прокси... имаше пак предложения опитай това онова, но работещо 100% решение нямаше и не успях да намеря.

В твоят случай, комадата би ми помогнала, ако имам достъп до дестинацията (-д http://www.com) аз нямам, затова я прекарвам през прокси.
Тесвах я на yahoo.com, нямаше проблеми...

реших за тест да взема ИП-то до което искам да се добера и го сложих на мястото на -d (даже за всеки случай го описах в hosts фйла на рутера, и на windowsa, за да отговаря на името което тътся).
Като се напиша името на сайта(или IP-то), ми връщаше същият резултат, който получвах от тесовете които правих с това което ми писа VladSun

Примерен код
While trying to retrieve the URL: /

The following error was encountered:

Invalid URL
Some aspect of the requested URL is incorrect. Possible problems:

Missing or incorrect access protocol (should be `http://'' or similar)
Missing hostname
Illegal double-escape in the URL-Path
Illegal character in hostname; underscores are not allowed
Активен

Dean79

  • Напреднали
  • *****
  • Публикации: 151
    • Профил
Рутиране - пренасочване
« Отговор #10 -: Mar 17, 2006, 07:25 »
Е, след като нямаш достъп по до дестинацията, мисля че ще е трудно..
Активен

RedIce

  • Напреднали
  • *****
  • Публикации: 162
    • Профил
Рутиране - пренасочване
« Отговор #11 -: Mar 17, 2006, 10:01 »
ами нали затова искам да го пренасоча '<img'>
Активен

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Рутиране - пренасочване
« Отговор #12 -: Mar 17, 2006, 11:06 »
Я по-добре си кажи какво искаш да направиш по принцип '<img'>
Активен

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

RedIce

  • Напреднали
  • *****
  • Публикации: 162
    • Профил
Рутиране - пренасочване
« Отговор #13 -: Mar 17, 2006, 13:19 »
ами точно това което описах до момента (погледни първата тема) за да виждам нещо (с проксито), което принципно не би трябвало

За момента разбира се, просто съм си настроил експлорера да ползва проксито и това е, но ми писва всеки път да го пускам и спирам, затова искам рутера да олавя заявките, и сам да ги пренасочва
Активен

july

  • Напреднали
  • *****
  • Публикации: 324
    • Профил
Рутиране - пренасочване
« Отговор #14 -: Mar 17, 2006, 17:34 »
не можеш ли на рутера, да му кажеш че еди кой си адрес се рутира през еди къде си?
Активен