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

Linux секция за начинаещи => Настройка на програми => Темата е започната от: Roky в Feb 28, 2008, 19:24



Титла: Slackware port forward
Публикувано от: Roky в Feb 28, 2008, 19:24
Здравейте,имам един малък проблем.Интернет доставчика ми пусна торент тракер.За да тегля и да ъплоудвам локално трябва да влизам с локалното си IP.Използвам една дърта машинка като рутер и някой други работи които държа 24/7 пуснати.Машината е с Slackware 12.Та сега въпроса ми е как мога с iptables да фордуордна порта на торент клиента ми към локалното IP,а не към външното.Благодаря ви предварително за отговора :)


Титла: Slackware port forward
Публикувано от: neter в Feb 28, 2008, 20:17
Чакай сега. Предполагам схемата при теб е такава. Машината, от която се опитваш да се вържеш към въпросния тракер, се намира зад рутер, който рутер се връзва към доставчика ти с някакво частно IP от рода на 192.168.х.х, 10.х.х.х или 172.х.х.х. Връзваш се към Интернет с някаква комутируема връзка (pptp, pppoe, модем), на която се присвоява публичния адрес. Тракерът на доставчика слуша на IP от частната мрежа и не слуша на някакво външно IP. Поправи ме, ако греша в схемата. Но ако не съм сбъркал в тази схема, защо си мислиш, че при опит за връзка с този тракер използваш публичния си адрес? При положение, че тракера се намира в частната мрежа, машината ще използва за връзка адреса си от частната мрежа. Опиши точната схема и какво точно искаш да препратиш.


Титла: Slackware port forward
Публикувано от: Roky в Feb 28, 2008, 21:34
Извинявам се много хем ми беше в главата, че трябва да го обясня всичко това но съм забравил в бързината.Схемата е точно такава каквато ти я описа.Машината чрез която се свързвам е зад рутера.Айпитата локалните са 10.150.ххх.ххх.Връзката я осъществявам с РРРоЕ и тя ми дава адреса 83.222.183.126,а относно тракера те и хората от доставчика писаха, че имало проблем с хората които са зад рутер а пък и разликата в скороста е огромна :) Когато сложа кабела на линукс машината скороста ми пада до тази която са ми посочили като външен трафик, а когато е на Уиндоус машината е от порядака на 5 МБ/сек.Също така не всеки може да се свърже към моите торенти които аз съм ъплоуднал.Та сега да начертая схемата:
Linux:
eth1 - тук ми идва интернета - локално айпи 10.150.18.59
eth0 - от тук пращам интернета към Уиндоуса - вътрешно айпи 192.168.0.1
ррр0 - от тук ми идва външната конекция - реално айпи 83.222.183.126
Уиндоус - айпи 192.168.0.2
По принцип пъвро писах на един от администраторите и той ми отговори, но когато написах това което той ми каза не стана нищо.Когато му казах, че не става отговора му беше "google".Явно толкова разбира и той от линукс а по-пинцип web-bg.org шеловете са негови.Затова и се обърнах към вас.
Дано да съм го обяснил достатъчно точно :)


Титла: Slackware port forward
Публикувано от: neter в Feb 28, 2008, 23:53
Аха! Зацепих :)
Не ти е нужно пренасочване, а указател коя заявка през кой интерфейс да се маскира. Предполагам, че правиш маскарада с подобен ред
Примерен код
/sbin/iptables -A POSTROUTING -t nat -o ppp0 -s 192.168.0.2 -j MASQUERADE

Нека сложим още едно правило
Примерен код
/sbin/iptables -A POSTROUTING -t nat -o eth1 -s 192.168.0.2 -d 10.150.x.x -j MASQUERADE
/sbin/iptables -A POSTROUTING -t nat -o ppp0 -s 192.168.0.2 -j MASQUERADE

където 10.150.х.х е IP-то на въпросния тракер. Последователността има значение. Тъй като нямам PPPoE връзка в наличност, говоря теоретично. Възможно е така представени двата реда да се скарат при маскарада към 10.150.x.x. В такъв случай пробвай така
Примерен код
/sbin/iptables -A POSTROUTING -t nat -o eth1 -s 192.168.0.2 -d 10.150.x.x -j MASQUERADE
/sbin/iptables -A POSTROUTING -t nat -o ppp0 -s 192.168.0.2 -d ! 10.150.x.x -j MASQUERADE

Ще ми е интересно да прочета резултатите от тестовете ти ;)

edit: Покажи да видим и какво те е накарал администраторът да направиш, за да видим идеята му. Може да е била свързана с някаква особеност на самия тракер.





Титла: Slackware port forward
Публикувано от: samiboy в Feb 28, 2008, 23:58
Най вероятно виждаш 10-та мрежа на доставчика си от публичното ип и от там те бие шейпъра - администратора с "гуугъл" не може да не знае това ?
като за начало освен, че натваш ppp0 трябва да правиш същото и с eth1 за да виждаш 10.0.0.0/8 мрежа през eth1 а не през ppp0.
После само за тест влез в команд промпта на уина и пробваи  ..
route add 10.0.0.0 mask 255.0.0.0 192.168.0.1 -p
следва проверка  ..
traceroute "ип-то на тракера"
за да проследиш маршрута които създадохме горе работи ли изобщо  ..

пс .. въпроса ти е чисто мрежо и не опира до познания по Линукс а по мрежи  ..


Титла: Slackware port forward
Публикувано от: Roky в Feb 29, 2008, 01:20
Ето какво ми каза администратора:

iptables -t nat -I PREROUTING -p tcp -d 83.222.183.126 -i eth1 --dport 57258 -j DNAT --to 192.168.0.2:57258

Сега ще проверя това което вие сте писали :)

Едит:

Пробвах така никакъв ефект...
Примерен код
/sbin/iptables -A POSTROUTING -t nat -o eth1 -s 192.168.0.2 -d 10.150.x.x -j MASQUERADE
/sbin/iptables -A POSTROUTING -t nat -o ppp0 -s 192.168.0.2 -j MASQUERADE
После и това:
/sbin/iptables -A POSTROUTING -t nat -o eth1 -s 192.168.0.2 -d 10.150.x.x -j MASQUERADE
/sbin/iptables -A POSTROUTING -t nat -o ppp0 -s 192.168.0.2 -d ! 10.150.x.x -j MASQUERADE

И това пробвах се същата :(
Примерен код
route add 10.0.0.0 mask 255.0.0.0 192.168.0.1 -p
следва проверка  ..
traceroute "ип-то на тракера"
за да проследиш маршрута които създадохме горе работи ли изобщо  ..

Единственото нещо което ми изкарва за трасето е:
Примерен код

C:\Documents and Setting\Roky\>tracert pulsar2000.net
Tracing route to pulsar2000.net [77.232.66.26]
over a maximum of 30 hops:
1   <1ms   <1ms   <1ms 192.168.0.1
2   <1ms   <1ms   <1ms 10.150.18.1
3    2ms   <1ms   1ms proxy.linkbg.com [83.222.183.1]
и от 4 надолу само това:
4    *    *    * Request timed out
....
30  *    *    * Request timed out
Trace complete.

Искрено се надявам да намерим нещо което да проработи (сигурен съм във вас не за първи път ми оправяте бакиите :) )





Титла: Slackware port forward
Публикувано от: neter в Feb 29, 2008, 08:50
Ам...
1. Ти махна ли старите правила от iptables преди да изпълниш тези?
2. В тях замести ли 10.150.х.х с IP-то на тракера или ги изпълни така буквално?


Титла: Slackware port forward
Публикувано от: Roky в Feb 29, 2008, 12:53
Ами не съм махнал старите защото не знам как.А за 10.150.ххх.ххх разбрах, че трябва да сложа моето локално айпи а не на тракера...Объркал съм се :) Сега ще пробвам с айпи-то на тракера и ще кажа какво е станало, а теб ще помоля да ми обясниш как се премахват старите правила...


Титла: Slackware port forward
Публикувано от: neter в Feb 29, 2008, 14:04
Примерен код
iptables -F -t nat

Това ще изтрие всички правила на маскарада. Когато искаш да изтриеш точно определено правило от списъка с правила, използвай следната команда
Примерен код
iptables -D ВЕРИГА номер_на_правилото -t таблица

Пример
Примерен код
iptables -D POSTROUTING 2 -t nat

където номерът на правилото се открива като се брои отгоре надолу във въпросната верига, като се започне от 1
Списъкът с правилата се показва с тази команда
Примерен код
iptables -L -t таблица

Пример
Примерен код
iptables -L -t nat






Титла: Slackware port forward
Публикувано от: Roky в Feb 29, 2008, 14:46
Нищо не става :( Отчаян съм.Тоя вариант кадето го е казал администратора не става ли с него обаче с някакви промени в него...достатъчно е порта да пропусна.Не, че знам дали става точно затова се обръщам към вас.