> 10 адресов это я привел просто к примеру. На самом деле на
> каждом сервере мы используем пул по 16 белых адресов. AS у
> нас конечно же есть, тут дело не в этом. От НАТа
> мы отказаться не можем, потому как у нас есть всего 6
> тыс. белых адресов, а в онлайне одновременно пользователей гораздо больше. Получить
> еще адреса - проблема в виду того, что их почти не
> осталось.Извините, но моих знаний тут уже не хватает.
пробуйте делать через probe, я делал в свое время так (здесь еще через natd):
/sbin/ipfw -q add 100 divert NATD1 ip from any to any in via CHAN1
/sbin/ipfw -q add 110 divert NATD2 ip from any to any in via CHAN2
/sbin/ipfw -q add 8100 tee NATD1 ip from any to any out \( via CHAN1 or via CHAN2 \)
/sbin/ipfw -q add 8150 check-state
/sbin/ipfw -q add 8200 divert NATD2 ip from any to any out \( via CHAN1 or via CHAN2 \)
/sbin/ipfw -q add 8250 check-state
/sbin/ipfw -q add 9000 prob 0.5 skipto 9500 ip from any to any out \( via CHAN1 or via CHAN2 \)
/sbin/ipfw -q add 9100 divert NATD1 ip from any to any out \( via CHAN1 or via CHAN2 \)
/sbin/ipfw -q add 9200 fwd GATE1 ip from NATD1_IP to any out \( via CHAN2 or via CHAN2 \) keep-state
/sbin/ipfw -q add 9210 allow ip from any to any out keep-state
/sbin/ipfw -q add 9500 divert NATD2 ip from any to any out \( via CHAN1 or via CHAN2 \)
/sbin/ipfw -q add 9600 fwd GATE2 ip from NATD2_IP to any out \( via CHAN1 or via CHAN2 \) keep-state
/sbin/ipfw -q add 9610 allow ip from any to any out keep-state
вот идея примерно такая (не даю гарантию, что схема рабочая, т.к. поудалял много, в частности нашел у себя ошибку, что корректно балансился только TCP, ICMP и UDP вообще просто по раунд-робин кидались, да и давно уже не используется, так в архиве лежит), т.е. как бы IP пользователя привязывается к какому-нибудь правилу ната, только тайминги жизни динамических правил надо сделать побольше, пробуйте, на тестовом