Спутниковый интернет и нат на блок адресов

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
BAC51
проходил мимо
Сообщения: 9
Зарегистрирован: 2008-07-07 8:36:24

Спутниковый интернет и нат на блок адресов

Непрочитанное сообщение BAC51 » 2008-08-22 10:31:47

Добрый день!
Итак, задача такая:
Имеем FreeBSD с асимметричным роутингом. Исходящий через gre0, входящий на em2. Клиенты сидят в em0.
Хотим поднять НАТ 1 к 1 для 512 адресов.
Сейчас это делаем через natd, но это очень неинтересно — приходится вписывать каждому клиенту правило redirect_address. Хотелось бы замапать целый блок адресов, пусть бы каждому выдавался случайный свободный (как это делается на циско через pool). Зато natd легко понимает асимметричный роутинг.

Решили попытать счастья с ipnat. Но не встретили мануалов, как его настроить на такую схему работы.

Вопросы:
1. Кто нибудь такое делал не под natd?
2. Верно ли я понимаю, что должно работать, если я буду тупо перекидывать пакеты с em2 на gre0, чтобы их увидел нат?
3. Может есть профессионалы PF? Он может такое? Может быть другие варианты решения ната есть?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Спутниковый интернет и нат на блок адресов

Непрочитанное сообщение zg » 2008-08-22 10:46:51

BAC51 писал(а):отелось бы замапать целый блок адресов, пусть бы каждому выдавался случайный свободный
...
Решили попытать счастья с ipnat. Но не встретили мануалов, как его настроить на такую схему работы.
что ж придётся немного побыть сводником :roll:

Код: Выделить всё

man 5 ipnat
....
EXAMPLES
       This section deals with the map command and its variations.

       To  change IP#'s used internally from network 10 into an ISP provided 8
       bit subnet at 209.1.2.0 through the ppp0 interface, the following would
       be used:

       map ppp0 10.0.0.0/8 -> 209.1.2.0/24

       The  obvious problem here is we're trying to squeeze over 16,000,000 IP
       addresses into a 254 address space.  To increase the  scope,  remapping
       for TCP and/or UDP, port remapping can be used;

       map ppp0 10.0.0.0/8 -> 209.1.2.0/24 portmap tcp/udp 1025:65000

       which  falls  only  527,566 `addresses' short of the space available in
       network 10.  If we were to combine these rules, they would need  to  be
       specified as follows:

       map ppp0 10.0.0.0/8 -> 209.1.2.0/24 portmap tcp/udp 1025:65000
       map ppp0 10.0.0.0/8 -> 209.1.2.0/24

       so  that all TCP/UDP packets were port mapped and only other protocols,
       such as ICMP, only have their IP# changed.
иногда можно ещё смотреть see also :smile:

BAC51
проходил мимо
Сообщения: 9
Зарегистрирован: 2008-07-07 8:36:24

Re: Спутниковый интернет и нат на блок адресов

Непрочитанное сообщение BAC51 » 2008-08-22 11:29:09

Простите, я неправильно расставил акценты.

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

Я нашёл тему с тегом [solved] - http://community.livejournal.com/ru_freebsd/110498.html
Но я не смог найти в changelog записи, о которых говорит автор, а также его формат правила на мой взгляд не подходит под структуру, описанную в man 5 ipnat. В манах пишут, что интерфейс - это БукваБуквыЦифры. Про запятые и вторые интерфейсы ничего не сказано.

Поэтому, мне кажется, необходимо какое-то вмешательство в движение пакетов. Либо перекидывать пакеты с интерфейса на интерфейс, либо создание искусственных петель и пропускание трафика через них, либо вообще производить передизайн системы: например, туннель собрать на циско а нат на фре или наоборот.

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Спутниковый интернет и нат на блок адресов

Непрочитанное сообщение zg » 2008-08-22 12:35:56

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

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Спутниковый интернет и нат на блок адресов

Непрочитанное сообщение zg » 2008-08-22 12:57:05

BAC51 писал(а):Но как заставить его понимать асинхронный роутинг? В natd для этого есть ключи -i и -o.
а чем диапазоны портов не подходят? и автобаланс?

BAC51
проходил мимо
Сообщения: 9
Зарегистрирован: 2008-07-07 8:36:24

Re: Спутниковый интернет и нат на блок адресов

Непрочитанное сообщение BAC51 » 2008-08-22 13:20:14

zg писал(а):я что-то не улавливаю суть проблемы, ну есть разные интерфейсы, ну есть разные блоки адресов, а проблема то где? чего должно быть в итоге?
лаконично говоря - должен работать нат.

для того, чтобы прояснить ситуацию - упрощу.

Положим у нас один внутренний клиент и один внешний ip. Нужно, чтобы работал нат. Пусть даже портнат.

Почему он не работает?
Мы пишем map gre0 192.168.0.1/32 -> 12.13.14.15/32
Пакет влетает в сервер, проходит через НАТ (подменяются адреса) и улетает в интернет.
Ipnat ждёт ответа от удалённого хоста на этот же интерфейс gre0, на конкретный порт.
А если пакет вернётся на em2, ипнат даже усом не поведёт.

Как в этой ситуации работает natd? Он ведь слушает на двух портах - incoming и outgoing, например на 8668 и 8669, затем трафик с одного интерфейса я дивертаю на один порт а с другого интерфейса - на другой. И всё замечательно.
zg писал(а):
BAC51 писал(а):Но как заставить его понимать асинхронный роутинг? В natd для этого есть ключи -i и -o.
а чем диапазоны портов не подходят? и автобаланс?
у меня 512 машин в локалке и 512 внешних адресов. Я хочу чтобы каждый имел свой внешний адрес и мог творить всё что ему заблагорассудится (торренты, игровые сервера и прочее). Поднять в локальной сети маршрутизацию на внешних адресах и полностью исключить нат нельзя.

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Спутниковый интернет и нат на блок адресов

Непрочитанное сообщение zg » 2008-08-22 14:04:05

BAC51 писал(а):А если пакет вернётся на em2, ипнат даже усом не поведёт.
gateway_enable="YES" и все проблемы
BAC51 писал(а):Он ведь слушает на двух портах - incoming и outgoing, например на 8668 и 8669, затем трафик с одного интерфейса я дивертаю на один порт а с другого интерфейса - на другой. И всё замечательно.
man ipnat, таже схема только на уровне ядра.
BAC51 писал(а):Я хочу чтобы каждый имел свой внешний адрес и мог творить всё что ему заблагорассудится (торренты, игровые сервера и прочее)
у нас вся сеть так пашет и никаких проблем, если хочешь за каждым крепить только конкрентный адрес, то только руками. Если динамический блок подойдёт, то не вижу никаких причин не использовать ipnat. Он быстрее и не жрёт лишних ресурсов.

BAC51
проходил мимо
Сообщения: 9
Зарегистрирован: 2008-07-07 8:36:24

Re: Спутниковый интернет и нат на блок адресов

Непрочитанное сообщение BAC51 » 2008-08-22 14:34:25

zg писал(а):
BAC51 писал(а):А если пакет вернётся на em2, ипнат даже усом не поведёт.
gateway_enable="YES" и все проблемы
BAC51 писал(а):Он ведь слушает на двух портах - incoming и outgoing, например на 8668 и 8669, затем трафик с одного интерфейса я дивертаю на один порт а с другого интерфейса - на другой. И всё замечательно.
man ipnat, таже схема только на уровне ядра.
хорошо, у меня три интерфейса. gre0 - исходящий внешний, em2 входящий внешний, em0 локальный.
я делаю map gre0 192.168.0.1/32->12.13.14.15/32 и всё должно работать?

BAC51
проходил мимо
Сообщения: 9
Зарегистрирован: 2008-07-07 8:36:24

Re: Спутниковый интернет и нат на блок адресов

Непрочитанное сообщение BAC51 » 2008-08-22 14:50:12

BAC51 писал(а):
zg писал(а):
BAC51 писал(а):А если пакет вернётся на em2, ипнат даже усом не поведёт.
gateway_enable="YES" и все проблемы
BAC51 писал(а):Он ведь слушает на двух портах - incoming и outgoing, например на 8668 и 8669, затем трафик с одного интерфейса я дивертаю на один порт а с другого интерфейса - на другой. И всё замечательно.
man ipnat, таже схема только на уровне ядра.
хорошо, у меня три интерфейса. gre0 - исходящий внешний, em2 входящий внешний, em0 локальный.
я делаю map gre0 192.168.0.1/32->12.13.14.15/32 и всё должно работать?
этож надо - разобрался.
надо так - map em2,gre0 192.168.99.153/32 -> 12.13.14.15/32 mssclamp 1420

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Спутниковый интернет и нат на блок адресов

Непрочитанное сообщение paradox » 2008-08-22 14:59:44

Как в этой ситуации работает natd? Он ведь слушает на двух портах - incoming и outgoing, например на 8668 и 8669, затем трафик с одного интерфейса я дивертаю на один порт а с другого интерфейса - на другой. И всё замечательно
не на разных а на одном
токо один диверт через out канал
а второй диверт через incom канал

а у вас там какой то бред похоже

BAC51
проходил мимо
Сообщения: 9
Зарегистрирован: 2008-07-07 8:36:24

Re: Спутниковый интернет и нат на блок адресов

Непрочитанное сообщение BAC51 » 2008-08-22 15:03:49

BAC51 писал(а):
BAC51 писал(а):
zg писал(а):
BAC51 писал(а):А если пакет вернётся на em2, ипнат даже усом не поведёт.
gateway_enable="YES" и все проблемы
BAC51 писал(а):Он ведь слушает на двух портах - incoming и outgoing, например на 8668 и 8669, затем трафик с одного интерфейса я дивертаю на один порт а с другого интерфейса - на другой. И всё замечательно.
man ipnat, таже схема только на уровне ядра.
хорошо, у меня три интерфейса. gre0 - исходящий внешний, em2 входящий внешний, em0 локальный.
я делаю map gre0 192.168.0.1/32->12.13.14.15/32 и всё должно работать?
этож надо - разобрался.
надо так - map em2,gre0 192.168.99.153/32 -> 12.13.14.15/32 mssclamp 1420
ок, эту проблему решили.

теперь проблема с бинатом - интересно, можно ли настроить бинат так, чтобы он не заранее резервировал ip-адреса для всех, а выдавал всем обратившимся свободный адрес?

BAC51
проходил мимо
Сообщения: 9
Зарегистрирован: 2008-07-07 8:36:24

Re: Спутниковый интернет и нат на блок адресов

Непрочитанное сообщение BAC51 » 2008-08-22 15:05:03

paradox писал(а):
Как в этой ситуации работает natd? Он ведь слушает на двух портах - incoming и outgoing, например на 8668 и 8669, затем трафик с одного интерфейса я дивертаю на один порт а с другого интерфейса - на другой. И всё замечательно
не на разных а на одном
токо один диверт через out канал
а второй диверт через incom канал

а у вас там какой то бред похоже
ну как же на одном если на разных?
man natd
-in_port | -i port
Read from and write to divert(4) port port, treating all
packets as ``incoming''.

-out_port | -o port
Read from and write to divert(4) port port, treating all
packets as ``outgoing''.

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Спутниковый интернет и нат на блок адресов

Непрочитанное сообщение paradox » 2008-08-22 15:19:08

либо я не понимаю что вы хотите сделать
либо вы не понимаете что вы делаете

BAC51
проходил мимо
Сообщения: 9
Зарегистрирован: 2008-07-07 8:36:24

Re: Спутниковый интернет и нат на блок адресов

Непрочитанное сообщение BAC51 » 2008-08-22 15:52:21

paradox писал(а):либо я не понимаю что вы хотите сделать
либо вы не понимаете что вы делаете
хотите сказать, что если я дивертну в один порт с двух интерфейсов - всё равно будет работать?

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Спутниковый интернет и нат на блок адресов

Непрочитанное сообщение paradox » 2008-08-22 15:56:26

ну вы блин даете (с) не помню кто...

пример
есть два канала
один наземный
второй спутниковый

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

как это делаеться

вешаеться два правила диверт на один порт

первое правило на интервейс через который уходит пакет
другое правило на интерфейс с которого приходит пакет

и все


может я непонимаю чего вы там хотите сделать
это уже другой вопрос

BAC51
проходил мимо
Сообщения: 9
Зарегистрирован: 2008-07-07 8:36:24

Re: Спутниковый интернет и нат на блок адресов

Непрочитанное сообщение BAC51 » 2008-08-22 18:41:40

paradox писал(а):ну вы блин даете (с) не помню кто...

пример
есть два канала
один наземный
второй спутниковый

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

как это делаеться

вешаеться два правила диверт на один порт

первое правило на интервейс через который уходит пакет
другое правило на интерфейс с которого приходит пакет

и все


может я непонимаю чего вы там хотите сделать
это уже другой вопрос
это очень интересно, но у меня натд настроен и работает.

Мне хочется динамический нат 1 к 1 на пуле в 512 адресов.
Чтобы каждому новому активному хосту подбирался свободный внешний адрес и в течении всей сессии по этому адресу можно было извне подключиться к хосту. Адресов хватает с лихвой.
Мои надежды - на ipnat. Завести его на такой схеме у меня получилось только сегодня (в ипнате нет дивертов).
Теперь бьюсь над динамическим распределением блока адресов. Бимап по умолчанию работает не совсем так.