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

Linux секция за напреднали => Хардуерни и софтуерни проблеми => Темата е започната от: dvbb в Nov 30, 2011, 11:51



Титла: redirect localport to another IP
Публикувано от: dvbb в Nov 30, 2011, 11:51
Здравейте
Опитвам се да пренасочна заявките от localhost към някой порт да отиват към друго IP. Например като напиша mysql -p , да се закача за mysql-a машина 192.168.0.20 , а не за моя които е на localhost.



Титла: Re: redirect localport to another IP
Публикувано от: b2l в Nov 30, 2011, 11:58
Това не се ли прави от /etc/hosts файла?


Титла: Re: redirect localport to another IP
Публикувано от: d0ni в Nov 30, 2011, 12:27
Това не се ли прави от /etc/hosts файла?

В случая не, mysql когато не му се подаде -h ползва по подразбиране localhost, което го кара да се върже през unix socket-а.

Най-лесното решение е да си направиш alias mysql='mysql -h 192.168.0.20' или нещо подобно


Титла: Re: redirect localport to another IP
Публикувано от: mom в Nov 30, 2011, 13:18
socat върши перфектна работа за целта (http://www.dest-unreach.org/socat/ ($2))


Титла: Re: redirect localport to another IP
Публикувано от: laskov в Nov 30, 2011, 13:40
ами освен -р напиши и -h


Титла: Re: redirect localport to another IP
Публикувано от: dvbb в Nov 30, 2011, 14:03
Благодаря за отговорите , но mysql беше просто пример идеята ми е като цяло как мога да пренасоча local request към друга машина

Това е ако някой пробва да се закачи за моя mysql и да го прехвърли към друга машина
iptables -t nat -А PREROUTING -p tcp --dport 3306 -j DNAT --to-destionation 192.168.0.20

аз искам това да стане ако заявката идва от същата машина

Нещо такова
iptables -I OUTPUT -p tcp --dport 3306 -j REDIRECT --to-host 192.168.0.20

лощото е че не е така както го пиша.


Титла: Re: redirect localport to another IP
Публикувано от: 10101 в Nov 30, 2011, 14:08
iptables -t nat -A PREROUTING -p tcp -d 192.168.1.1 --dport 3306 -j DNAT --to 192.168.1.2:3306


Титла: Re: redirect localport to another IP
Публикувано от: dvbb в Nov 30, 2011, 14:14
iptables -t nat -A PREROUTING -p tcp -d 192.168.1.1 --dport 3306 -j DNAT --to 192.168.1.2:3306

Както писах това работи когато  заявките идват от други машини.


Титла: Re: redirect localport to another IP
Публикувано от: laskov в Nov 30, 2011, 14:43
Между другото, дойде ми една идея, която вероятно няма :) да ти послужи :) . Програмата-клиент, би могла при стартирането, да пита DNS сървър за определена зона за TXT записи и от тях да си извлича IP адреса на нужния и сървър. Като промениш TXT записа пренасочваш към друго IP. Не е измислено от мен - DNSSD.


Титла: Re: redirect localport to another IP
Публикувано от: wfw в Nov 30, 2011, 22:25
mysql-proxy?

Работи сравнително стабилно :) ако си на Дебиан 6, има го като пакет със сигурност. Други дистрибуции не ползвам и не знам.


Титла: Re: redirect localport to another IP
Публикувано от: dvbb в Dec 02, 2011, 22:52
Търся начин с iptables