On Wed, Nov 17, 2010 at 11:11:20PM +0200, Vladimir Litovka wrote:
Коллеги, привет,
как вы считаете, имеет-ли право на существование слеюдующий подход - у оператора есть задача раздавать белые и серые адреса. Я предлагаю всем раздавать серые, но для тех, кто купил "белые", делать 1:1 PAT translation на шлюзе (FreeBSD) - то есть у каждого абонента, купившего "белый" адрес, будет собственная трансляция. Таким образом - и в интернет по-белому, и с соседями по лестничной клетке - по-свойски. Чтобы поддержать такую "дуал-хомовость" социально - клиенту прежде всего говорить его hostname, а адрес - необязательно (может быть путаница в нежном мозгу). При этом настроить DNS таким образом, чтобы при запросе на "вася.тут" из серой сети ответ давался серым адресом, а при таком же запросе снаружи - ответ давался белым адресом.
Клиенту не нужно говорить его hostname. Он уже обозвал свою винду "васин комп под столом" и ему по одному месту, что ты не собираешься это вносить в DNS. А грамотным пользователям (~1%), которым этот "белый адрес" действительно нужен, достаточно собственно знания этого адреса, в свой DNS они его сами внесут так как им надо.
Все это для того, что по минимуму менять существующую инфраструктуру и использовать то, что есть на сейчас.
В связи с этим вопросы:
1) проходил-ли кто через такую схему и какие у нее есть грабли, которых я пока не вижу?
PAT это грабли заведомые. Хочешь давать белые адреса "в параллель" с серыми - давай их через туннели (pptp/pppoe).
2) умеет-ли какой-нибудь dns-сервер отвечать на запросы из разных сетей разными ответами по одному и тому-же хостнейму?
Механизм views в bind ?
И еще один вопрос - а есть-ли на FreeBSD функционал типа VRRP?
В применении к firewall'у/NAT'у в FreeBSD есть лучше - pf+pfsync+carp позволяют делать active-standby пару с полной синхронизацией state'ов, в результате физический вылет active машины не приводит к разрыву установленных tcp-соединений. Works like a charm, на прошлой работе у меня на этом был построен redundant array of inexpensive firewalls :) -- In theory, there is no difference between theory and practice. But, in practice, there is.