The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Можно ли указать разные шлюзы по портам?"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"Можно ли указать разные шлюзы по портам?"  +/
Сообщение от Sergetv (??) on 14-Июл-09, 19:26 
Имею две машины-шлюза соединения с интернетом, 192.168.1.1 и 192.168.1.2. И машину с ХР на которой два торрент-клиента. В качестве шлюза на ХР-машине указан 192.168.1.1. Хочу поставить оба торрент-клиента на раздачу через разные соединения- одному сказал слушать на порту 10001, второму на порту 10002. Настроил на машинах, раздающих интернет  проброс портов - на первой на 10001, на второй на 10002. Первый торрент-клиент прекрасно работает (тот у которого порт 10001, что пробрасывается машиной являющейся шлюзом по умолчанию-192.168.1.1) А второй клиент, естественно не хочет, так как он получает запросы с 192.168.1.2, а возвращает ответы на шлюз по умолчанию -192.168.1.1. Первый вопрос - можно ли под XP прописать маршрут Route, привязанный не к сети, а к порту отправителя? (Пакеты с порта 10002 отправлять через другой шлюз). Или может проще как-то заворачивать на шлюз-машине 192.168.1.1 (FreeBSD) пакеты на вторую машину (192.168.1.2)? Заранее благодарен.
Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Можно ли указать разные шлюзы по портам?"  +/
Сообщение от ALex_hha (ok) on 14-Июл-09, 19:45 
>Имею две машины-шлюза соединения с интернетом, 192.168.1.1 и 192.168.1.2.

Как шлюзы выходят в инет?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Можно ли указать разные шлюзы по портам?"  +/
Сообщение от sergtv (??) on 14-Июл-09, 22:22 
>>Имею две машины-шлюза соединения с интернетом, 192.168.1.1 и 192.168.1.2.
>
>Как шлюзы выходят в инет?

PPPoE поднимается Tun0

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Можно ли указать разные шлюзы по портам?"  +/
Сообщение от ALex_hha (??) on 14-Июл-09, 23:15 
>>>Имею две машины-шлюза соединения с интернетом, 192.168.1.1 и 192.168.1.2.
>>
>>Как шлюзы выходят в инет?
>
>PPPoE поднимается Tun0

На какой машине?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Можно ли указать разные шлюзы по портам?"  +/
Сообщение от Sergetv (??) on 15-Июл-09, 09:50 
>>>>Имею две машины-шлюза соединения с интернетом, 192.168.1.1 и 192.168.1.2.
>>>
>>>Как шлюзы выходят в инет?
>>
>>PPPoE поднимается Tun0
>
>На какой машине?

На обеих - 192.168.1.1 и 192.168.1.2

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "Можно ли указать разные шлюзы по портам?"  +/
Сообщение от ALex_hha (ok) on 15-Июл-09, 13:53 
>>>>>Имею две машины-шлюза соединения с интернетом, 192.168.1.1 и 192.168.1.2.
>>>>
>>>>Как шлюзы выходят в инет?
>>>
>>>PPPoE поднимается Tun0
>>
>>На какой машине?
>
>На обеих - 192.168.1.1 и 192.168.1.2

Использовать DNAT + SNAT без указания основного шлюза на машине

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "Можно ли указать разные шлюзы по портам?"  +/
Сообщение от Sergetv (??) on 15-Июл-09, 15:27 
>>
>>На обеих - 192.168.1.1 и 192.168.1.2
>
>Использовать DNAT + SNAT без указания основного шлюза на машине

Сделал так:

#NAT
nat on $ext_if0 from $int_if0:network to any -> ($ext_if0)
nat on $int_if0 from any to 192.168.1.7 port 10001  -> ($int_if0)
#REDIRECT_PORTS
rdr on $ext_if0 proto tcp from any to ($ext_if0) port 10001 -> 192.168.1.7

Работает, но медленная скорость отдачи - 10-15 кб/с. Обычно было около 90
Где-то что-то не так...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "Можно ли указать разные шлюзы по портам?"  +/
Сообщение от reader (ok) on 15-Июл-09, 15:44 
>[оверквотинг удален]
>
>#NAT
>nat on $ext_if0 from $int_if0:network to any -> ($ext_if0)
>nat on $int_if0 from any to 192.168.1.7 port 10001  -> ($int_if0)
>#REDIRECT_PORTS
>rdr on $ext_if0 proto tcp from any to ($ext_if0) port 10001 -> 192.168.1.7
>
>Работает, но медленная скорость отдачи - 10-15 кб/с. Обычно было около 90
>
>Где-то что-то не так...

udp не пробовали тоже пробрасывать?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. "Можно ли указать разные шлюзы по портам?"  +/
Сообщение от Sergetv (??) on 15-Июл-09, 15:47 
>[оверквотинг удален]
>>nat on $ext_if0 from $int_if0:network to any -> ($ext_if0)
>>nat on $int_if0 from any to 192.168.1.7 port 10001  -> ($int_if0)
>>#REDIRECT_PORTS
>>rdr on $ext_if0 proto tcp from any to ($ext_if0) port 10001 -> 192.168.1.7
>>
>>Работает, но медленная скорость отдачи - 10-15 кб/с. Обычно было около 90
>>
>>Где-то что-то не так...
>
>udp не пробовали тоже пробрасывать?

Да , они пробрасываются тоже, строчку скопировать забыл
#NAT
nat on $ext_if0 from $int_if0:network to any -> ($ext_if0)
nat on $int_if0 from any to 192.168.1.7 port 10001  -> ($int_if0)
#REDIRECT_PORTS
rdr on $ext_if0 proto tcp from any to ($ext_if0) port 10001 -> 192.168.1.7
rdr on $ext_if0 proto udp from any to ($ext_if0) port 10001 -> 192.168.1.7

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. "Можно ли указать разные шлюзы по портам?"  +/
Сообщение от ALex_hha (ok) on 15-Июл-09, 18:13 
>[оверквотинг удален]
>>
>>udp не пробовали тоже пробрасывать?
>
>Да , они пробрасываются тоже, строчку скопировать забыл
>#NAT
>nat on $ext_if0 from $int_if0:network to any -> ($ext_if0)
>nat on $int_if0 from any to 192.168.1.7 port 10001  -> ($int_if0)
>#REDIRECT_PORTS
>rdr on $ext_if0 proto tcp from any to ($ext_if0) port 10001 -> 192.168.1.7
>rdr on $ext_if0 proto udp from any to ($ext_if0) port 10001 -> 192.168.1.7

Не посдкажу, фаерволл freebsd почти не знаю

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

16. "Можно ли указать разные шлюзы по портам?"  +/
Сообщение от reader (ok) on 15-Июл-09, 20:54 
>[оверквотинг удален]
>>
>>udp не пробовали тоже пробрасывать?
>
>Да , они пробрасываются тоже, строчку скопировать забыл
>#NAT
>nat on $ext_if0 from $int_if0:network to any -> ($ext_if0)
>nat on $int_if0 from any to 192.168.1.7 port 10001  -> ($int_if0)
>#REDIRECT_PORTS
>rdr on $ext_if0 proto tcp from any to ($ext_if0) port 10001 -> 192.168.1.7
>rdr on $ext_if0 proto udp from any to ($ext_if0) port 10001 -> 192.168.1.7

врят ли скорость упала из-за этих правил
попробуйте прописать на 192.168.1.7 шлюзом эту машину и сравните, а потом уберите nat с внутреннего интерфейса и снова сравните

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

17. "Можно ли указать разные шлюзы по портам?"  +/
Сообщение от sergtv (??) on 15-Июл-09, 22:23 
>[оверквотинг удален]
>>#NAT
>>nat on $ext_if0 from $int_if0:network to any -> ($ext_if0)
>>nat on $int_if0 from any to 192.168.1.7 port 10001  -> ($int_if0)
>>#REDIRECT_PORTS
>>rdr on $ext_if0 proto tcp from any to ($ext_if0) port 10001 -> 192.168.1.7
>>rdr on $ext_if0 proto udp from any to ($ext_if0) port 10001 -> 192.168.1.7
>
>врят ли скорость упала из-за этих правил
>попробуйте прописать на 192.168.1.7 шлюзом эту машину и сравните, а потом уберите
>nat с внутреннего интерфейса и снова сравните

Пробовал:
С правилом nat on $int_if0 from any to 192.168.1.7 port 10001  -> ($int_if0)
и с отсутствующим указанием шлюза - скорость до 15, и траффик показывается как локальный (малиновым цветом на графике скорости uTorrent) Но зато по двум каналам.

Без правила nat on $int_if0 from any to 192.168.1.7 port 10001  -> ($int_if0)
И с указаным шлюзом - до 90 скорость, и на графике красным цветом. Правда только один клиент по одному каналу.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

18. "Можно ли указать разные шлюзы по портам?"  +/
Сообщение от reader (ok) on 15-Июл-09, 23:46 
>[оверквотинг удален]
>>
>>врят ли скорость упала из-за этих правил
>>попробуйте прописать на 192.168.1.7 шлюзом эту машину и сравните, а потом уберите
>>nat с внутреннего интерфейса и снова сравните
>
>Пробовал:
>С правилом nat on $int_if0 from any to 192.168.1.7 port 10001  -> ($int_if0)
>и с отсутствующим указанием шлюза - скорость до 15, и траффик показывается
>как локальный (малиновым цветом на графике скорости uTorrent) Но зато по
>двум каналам.

если не указан шлюз, то клиент сможет только отвечать на запросы, а сам инициировать соединения за пределы своей подсети не сможет, нужно ему это или нет не знаю, так как не пользовался торрентами, но подозреваю что нужно, цвета по пречине не пользования тоже не информативны , так что если чего то не допонял - извеняйте.

кстати если клиент все же инициирует какие то соединения , то при таких настройках они все будут идти через шлюз по умолчанию, даже те которые по правельному должны быть отправлены через другой шлюз. как это отразится на работе клиента не знаю.
>
>Без правила nat on $int_if0 from any to 192.168.1.7 port 10001  -> ($int_if0)
>И с указаным шлюзом - до 90 скорость, и на графике красным
>цветом. Правда только один клиент по одному каналу.

а с nat и со шлюзом?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

19. "Можно ли указать разные шлюзы по портам?"  +/
Сообщение от sergtv (??) on 16-Июл-09, 01:46 

>а с nat и со шлюзом? если нат на той же машине на которую установлен шлюз - работает, но низкая скорость.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

20. "Можно ли указать разные шлюзы по портам?"  +/
Сообщение от reader (ok) on 16-Июл-09, 13:03 
>
>>а с nat и со шлюзом? если нат на той же машине на которую установлен шлюз - работает, но низкая скорость.

то есть в пакете нужен адрес отправителя наверно

может попробовать route-to

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

21. "Можно ли указать разные шлюзы по портам?"  +/
Сообщение от Sergetv (??) on 16-Июл-09, 14:17 
Спасибо, пока решил я прекратить эксперименты. Поставил второй клиент на второю ХР-машину  настроенную на второй шлюз. Объявим перемирие :-)
Спасибо всем огромное за участие.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Можно ли указать разные шлюзы по портам?"  +/
Сообщение от angra (ok) on 14-Июл-09, 19:46 
Что можно сделать в винде не подскажу. Но вот на шлюзе 192.168.1.2 можно сделать кроме DNAT еще и SNAT, который подставит для пакетов идущих на машину с XP в качестве источника адрес шлюза, в этом случае ответ уйдет напрямую 192.168.1.2.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Можно ли указать разные шлюзы по портам?"  +/
Сообщение от sergtv (??) on 14-Июл-09, 22:25 
>Что можно сделать в винде не подскажу. Но вот на шлюзе 192.168.1.2
>можно сделать кроме DNAT еще и SNAT, который подставит для пакетов
>идущих на машину с XP в качестве источника адрес шлюза, в
>этом случае ответ уйдет напрямую 192.168.1.2.

Спасибо за подсказку! Я тоже об этом подумал пока домой шел. Наверное это будет наиболее быстрый и правильный метод. Только я не знаю пока как средствами PF на FreeBSD SNAT организовать.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Можно ли указать разные шлюзы по портам?"  +/
Сообщение от reader (ok) on 14-Июл-09, 23:00 
>>Что можно сделать в винде не подскажу. Но вот на шлюзе 192.168.1.2
>>можно сделать кроме DNAT еще и SNAT, который подставит для пакетов
>>идущих на машину с XP в качестве источника адрес шлюза, в
>>этом случае ответ уйдет напрямую 192.168.1.2.
>
>Спасибо за подсказку! Я тоже об этом подумал пока домой шел. Наверное
>это будет наиболее быстрый и правильный метод. Только я не знаю
>пока как средствами PF на FreeBSD SNAT организовать.

если грубо, то в pf линуксовый SNAT - nat, а DNAT - rdr, синтаксис не страшный

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Можно ли указать разные шлюзы по портам?"  +/
Сообщение от Sergetv (??) on 15-Июл-09, 11:05 
>>Спасибо за подсказку! Я тоже об этом подумал пока домой шел. Наверное
>>это будет наиболее быстрый и правильный метод. Только я не знаю
>>пока как средствами PF на FreeBSD SNAT организовать.
>
>если грубо, то в pf линуксовый SNAT - nat, а DNAT -
>rdr, синтаксис не страшный

Добавил в PF на второй машине такое:
nat on $int_if0 from any to any port 10002 -> ($int_if0)

int_if0 = 192.168.1.2

Отдача пошла, правда DHT сеть не поднялась и входящих соединений все равно нет, но  на внyтренней сетевухе первой машины 192.168.1.1 (шлюзе по умолчанию) TCPDUMP отлавливает пакеты с XP-машины (192.168.1.7) адресованные на внешний айпишник второй машины и порт 10002:

tcpdump -ni vr0 port 10002
09:54:03.680554 IP 192.168.1.7.2095 > 95.132.150.1.10002: S 1017194008:1017194008(0) win 65535 <mss 1460,nop,nop,sackOK>
09:54:06.698439 IP 192.168.1.7.2095 > 95.132.150.1.10002: S 1017194008:1017194008(0) win 65535 <mss 1460,nop,nop,sackOK>

Откуда они берутся - непонятно пока....

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "Можно ли указать разные шлюзы по портам?"  +/
Сообщение от reader (ok) on 15-Июл-09, 15:39 
>[оверквотинг удален]
>Отдача пошла, правда DHT сеть не поднялась и входящих соединений все равно
>нет, но  на внyтренней сетевухе первой машины 192.168.1.1 (шлюзе по
>умолчанию) TCPDUMP отлавливает пакеты с XP-машины (192.168.1.7) адресованные на внешний айпишник
>второй машины и порт 10002:
>
>tcpdump -ni vr0 port 10002
>09:54:03.680554 IP 192.168.1.7.2095 > 95.132.150.1.10002: S 1017194008:1017194008(0) win 65535 <mss 1460,nop,nop,sackOK>
>09:54:06.698439 IP 192.168.1.7.2095 > 95.132.150.1.10002: S 1017194008:1017194008(0) win 65535 <mss 1460,nop,nop,sackOK>
>
>Откуда они берутся - непонятно пока....

наверно это не ответы на запросы, поэтому отправляются через шлюз по умолчанию

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Можно ли указать разные шлюзы по портам?"  +/
Сообщение от PavelR (??) on 14-Июл-09, 19:54 
>[оверквотинг удален]
>192.168.1.1. Хочу поставить оба торрент-клиента на раздачу через разные соединения- одному
>сказал слушать на порту 10001, второму на порту 10002. Настроил на
>машинах, раздающих интернет  проброс портов - на первой на 10001,
>на второй на 10002. Первый торрент-клиент прекрасно работает (тот у которого
>порт 10001, что пробрасывается машиной являющейся шлюзом по умолчанию-192.168.1.1) А второй
>клиент, естественно не хочет, так как он получает запросы с 192.168.1.2,
>а возвращает ответы на шлюз по умолчанию -192.168.1.1. Первый вопрос -
>можно ли под XP прописать маршрут Route, привязанный не к сети,
>а к порту отправителя? (Пакеты с порта 10002 отправлять через другой
>шлюз).

Ну вы что, это же винда, штатно она такого не умеет.
Далее, как пиры узнают, что им надо стучаться на вторую машину, на которой пробрасывается порт 10002 ? для этого надо как-то это дело проанонсировать.

> Или может проще как-то заворачивать на шлюз-машине 192.168.1.1 (FreeBSD) пакеты
>на вторую машину (192.168.1.2)? Заранее благодарен.

ИМХО задача достаточно сложная по объему действий :)

1. на машине с хп надо сделать доп айпи, мю-торрент умеет делать бинд к другому адресу, если их на машине несколько. Правда мне для этого пришлось запускать второй мю от другого пользователя в другой сессии, но меня устраивало.

2. на машине, которая является основным шлюзом (1.1) сделать проброс пакетов на шлюз 1.2 если эти пакеты идут с доп айпи.

на первый взгляд, для этого достаточно

ipfw add fwd 192.168.1.2 all from 192.168.1.DopIP to any out via extIF

в соответствующем месте.

Соответственно, меняя адрес на машине с ХР вы должны получать различную трассировку к внешним хостам, через провайдера 1 и через провайдера 2 соответственно.

//на машинах 1.1 и 1.2 должен быть настроен нат, это, надеюсь, понятно.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру