Страница 1 из 1

FreeBSD 6,7 and p2p?

Добавлено: 2008-07-01 0:13:06
Laa
Здравствуйте.
Поиском не нашел ответа на свой вопрос, поэтому спрашиваю.

Есть у меня в меру крупная локалка.
В ней клиенты получают динамические адреса из одного блока 10.x.x.x (это нельзя изменить) и хотят пользоваться p2p сетями. Чтобы все было ок, нужно чтобы был портмаппинг портов внешнего интернет-адреса на внутренние адреса этого блока. Пока решил задачу так -- выделил диапазон портов которые редиректятся на адреса из блока в этом же диапазоне. То есть порт 55555 внешнего адреса безоговорочно редиректится на 10.156.9.2:55555, и так по всему диапазону адресов из блока. Клиент, видя свой адрес, вычисляет себе порт по указанной схеме и указывает этот порт в своих p2p-клиентах. После этого клиентские emule/torrent-ы начинают подхватывать и входящие коннекты.

Внимание, вопросы!
1. Пока прописал на FreeBSD 6 в natd.conf почти пол-тыщи строк такого порт-маппинга, пока все работает как надо. Где предел? Как предел будет проявляться? Сеть имеет перспективы дальнейшего роста.
2. Если весь этот бардак прописать в настройках kernel-level NAT на FreeBSD 7, где будет предел? Сколько можно такого бардака вписать там?
3. Может как-то красивее можно сделать? Как?

Заранее спасибо. :drinks:

Re: FreeBSD 6,7 and p2p?

Добавлено: 2008-07-01 0:27:16
paradox_
думаеться мне для таких схем должен быть что то типа p2p-proxy
думаю вы поняли

что бы к примеру клиенты указывали ваш серер как вышестоящий проксик для P2p
а сервак уже будет делать запросы в мир
и возращать их клиентам

незнаю
нужно бы в нете поискать
либо подождать что глас народа еще посоветует

Re: FreeBSD 6,7 and p2p?

Добавлено: 2008-07-01 12:24:00
zingel
ответы:

1) Предел портов, открытых портов в состоянии listen определяет переменная kern.ipc.maxsockets и две переменные net.inet.ip.portrange.first + net.inet.ip.portrange.last, соответственно предел открытых портов - 65536
2)Для ната эти три переменные полностью работают, но могут быть глюки при большом количестве открытых портов, глюки с TTL
3)Можно сделать красиво, заюзать gre-тунели или заюзать DVMRP-инкапсюляцию и бродкастить эти порты на широковещательный домен всей сети, оба варианта будут хорошо работать при пользовании кошек, есть вариант проще - использовать L2 ip routing, это есть в любом коммутаторе второго уровня, если сетка гигабитная, связка будет (я пользую) dl-3010G + DGL4100/сегмент

Re: FreeBSD 6,7 and p2p?

Добавлено: 2008-07-02 8:53:03
Laa
zingel писал(а):ответы:

1) Предел портов, открытых портов в состоянии listen определяет переменная kern.ipc.maxsockets и две переменные net.inet.ip.portrange.first + net.inet.ip.portrange.last, соответственно предел открытых портов - 65536
2)Для ната эти три переменные полностью работают, но могут быть глюки при большом количестве открытых портов, глюки с TTL
3)Можно сделать красиво, заюзать gre-тунели или заюзать DVMRP-инкапсюляцию и бродкастить эти порты на широковещательный домен всей сети, оба варианта будут хорошо работать при пользовании кошек, есть вариант проще - использовать L2 ip routing, это есть в любом коммутаторе второго уровня, если сетка гигабитная, связка будет (я пользую) dl-3010G + DGL4100/сегмент
Спасибо за ответ!

По п.1 -- это понятно и я знаю по портам. А вот то что конфиг natd.conf становится размером в несколько Кб, это меня начинает пугать :oops:
По п.2 -- я вот и задумываюсь о более лучшем решении...
По п.3 -- спасибо, почитаю, поразмышляю.