URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 68387
[ Назад ]

Исходное сообщение
"NAT + PPPoE + Подсеть из реальных IP"

Отправлено x3ds , 22-Авг-06 13:18 
ISP выдал подсеть 195.114.132.160/255.255.255.224
Подключение происходит через PPPoE и в итоге получаю интерфейс tun0 (195.114.132.254 --> 195.114.128.3 netmask 0xffffffff)

Каким образом зажать в логические группы машины в локалке так чтобы они выходили в инет под одним из IP из этой подсети? Насколько я понимаю нужно прописать alias`ы для tun0 и прописать redirect_address в natd...

Хотелось бы увидеть наглядный пример.
Спасибо!


Содержание

Сообщения в этом обсуждении
"NAT + PPPoE + Подсеть из реальных IP"
Отправлено sm00th1980 , 22-Авг-06 14:15 
>ISP выдал подсеть 195.114.132.160/255.255.255.224
>Подключение происходит через PPPoE и в итоге получаю интерфейс tun0 (195.114.132.254 --> 195.114.128.3 netmask 0xffffffff)
>
>Каким образом зажать в логические группы машины в локалке так чтобы они
>выходили в инет под одним из IP из этой подсети? Насколько
>я понимаю нужно прописать alias`ы для tun0 и прописать redirect_address в
>natd...
>
>Хотелось бы увидеть наглядный пример.
>Спасибо!

1)Если вам нужен просто Инет под одним IP - не понятно зачем вам пул внешних адресов.
PPPoE это просто туннель 2-х точечный и чтобы вывести локальную сеть в инет вам просто надо запустить natd на интерфейсе tun0 - тогда они будут все выходить под одним IP который выдаётся вам на ваш конец туннеля. Только надо иметь ввиду если IP-динамический то natd надо запускать с такой же опцией.(-dynamic кажется)

2) Теперь если вам нужен Инет именно через адрес из сети которую вам выдал провайдер.
В этом случае IP на вашем конце туннеля должен быть статичный и провайдер должен был прописать статик роут выделленой вам сети на ip-адрес на вашем конце туннеля. Это надо проверить.

Если все нормально со стороны провайдера. То всё что вам осталось сделать это запустить natd с опцией -a x.x.x.x где x.x.x.x - это адрес через который вы будете выходить.

типа так: natd -a x.x.x.x (это для FreeBSD)

Вроде всё - никаких redirect_address вам не нужно.


"NAT + PPPoE + Подсеть из реальных IP"
Отправлено x3ds , 22-Авг-06 14:31 
>1)Если вам нужен просто Инет под одним IP - не понятно зачем
>вам пул внешних адресов.
>PPPoE это просто туннель 2-х точечный и чтобы вывести локальную сеть в
>инет вам просто надо запустить natd на интерфейсе tun0 - тогда
>они будут все выходить под одним IP который выдаётся вам на
>ваш конец туннеля. Только надо иметь ввиду если IP-динамический то natd
>надо запускать с такой же опцией.(-dynamic кажется)
>
>2) Теперь если вам нужен Инет именно через адрес из сети которую
>вам выдал провайдер.
>В этом случае IP на вашем конце туннеля должен быть статичный и
>провайдер должен был прописать статик роут выделленой вам сети на ip-адрес
>на вашем конце туннеля. Это надо проверить.
>
>Если все нормально со стороны провайдера. То всё что вам осталось сделать
>это запустить natd с опцией -a x.x.x.x где x.x.x.x - это
>адрес через который вы будете выходить.
>
>типа так: natd -a x.x.x.x (это для FreeBSD)
>
>Вроде всё - никаких redirect_address вам не нужно.

Проблема возникла изза rate limit ошибки в ICQ. В офисе больше 60 машин а подключиться могут не больше 10. ISP предложил решение зажимать группы клиентов под разные IP из этой подсети. IP сервера статик. Route со стороны ISP прописан.

Что делать? Если это не решится в теч нескольких дней меня просто уволят тк ICQ нужна для работы как воздух :)


"NAT + PPPoE + Подсеть из реальных IP"
Отправлено sm00th1980 , 22-Авг-06 15:11 
Главное - без паники!

rate-limit это я так понял ограничение на число подключений к серверу ICQ с одного и того же IP?? странно я такого не встречал если честно - ну да ладно.

Беде и в этом случае можно помочь.

Пров в принципе правильно подсказал что надо сделать группировку нескольких внутренних в 1 внешний IP.

Решается так:
1) Запускается несколько версий natd - на разных портах и с разными внешними адресами.
типа так:
natd -a x.x.x.1 -port 8661
natd -a x.x.x.2 -port 8662
natd -a x.x.x.3 -port 8663
ну сколько внешних адресов вообще - по одному natd на 1 внешний IP

где - x.x.x.1,2,3 - это внешние IP-адреса

2) Теперь нужно завернуть нужные локальные(серые адреса) в нужные порты обслуживаемые разными демонами natd а следовательно и с разными внешними IP

ipfw add 101 divert 8661 all from 192.168.0.1 to any
ipfw add 101 divert 8661 all from any to x.x.x.1

ipfw add 102 divert 8662 all from 192.168.0.2 to any
ipfw add 102 divert 8662 all from any to x.x.x.2

ipfw add 103 divert 8663 all from 192.168.0.3 to any
ipfw add 103 divert 8663 all from any to x.x.x.3

ну вот как-то так.


"NAT + PPPoE + Подсеть из реальных IP"
Отправлено x3ds , 22-Авг-06 17:37 
Все заработало таким образом (на простом примере):

1) Провайдер забыл переписать статик роут :)))

2) На loopback вешаем alias`ы по примеру:
   ifconfig lo0 inet 195.114.132.161 netmask 255.255.255.255 alias

3) /etc/natd.conf:
   redirect_address 10.0.0.10 195.114.132.161
   redirect_address 10.0.0.11 195.114.132.161

4) ipfw flush
   ipfw add 100 divert 8668 ip from any to any
   ipfw add 200 allow ip from any to any

5) natd -interface tun0 -f /etc/natd.conf