Спутниковый интернет и нат на блок адресов
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- проходил мимо
- Сообщения: 9
- Зарегистрирован: 2008-07-07 8:36:24
Спутниковый интернет и нат на блок адресов
Добрый день!
Итак, задача такая:
Имеем FreeBSD с асимметричным роутингом. Исходящий через gre0, входящий на em2. Клиенты сидят в em0.
Хотим поднять НАТ 1 к 1 для 512 адресов.
Сейчас это делаем через natd, но это очень неинтересно — приходится вписывать каждому клиенту правило redirect_address. Хотелось бы замапать целый блок адресов, пусть бы каждому выдавался случайный свободный (как это делается на циско через pool). Зато natd легко понимает асимметричный роутинг.
Решили попытать счастья с ipnat. Но не встретили мануалов, как его настроить на такую схему работы.
Вопросы:
1. Кто нибудь такое делал не под natd?
2. Верно ли я понимаю, что должно работать, если я буду тупо перекидывать пакеты с em2 на gre0, чтобы их увидел нат?
3. Может есть профессионалы PF? Он может такое? Может быть другие варианты решения ната есть?
Итак, задача такая:
Имеем FreeBSD с асимметричным роутингом. Исходящий через gre0, входящий на em2. Клиенты сидят в em0.
Хотим поднять НАТ 1 к 1 для 512 адресов.
Сейчас это делаем через natd, но это очень неинтересно — приходится вписывать каждому клиенту правило redirect_address. Хотелось бы замапать целый блок адресов, пусть бы каждому выдавался случайный свободный (как это делается на циско через pool). Зато natd легко понимает асимметричный роутинг.
Решили попытать счастья с ipnat. Но не встретили мануалов, как его настроить на такую схему работы.
Вопросы:
1. Кто нибудь такое делал не под natd?
2. Верно ли я понимаю, что должно работать, если я буду тупо перекидывать пакеты с em2 на gre0, чтобы их увидел нат?
3. Может есть профессионалы PF? Он может такое? Может быть другие варианты решения ната есть?
Услуги хостинговой компании Host-Food.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/
Тарифы на виртуальные сервера (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/
-
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Re: Спутниковый интернет и нат на блок адресов
что ж придётся немного побыть сводникомBAC51 писал(а):отелось бы замапать целый блок адресов, пусть бы каждому выдавался случайный свободный
...
Решили попытать счастья с ipnat. Но не встретили мануалов, как его настроить на такую схему работы.
Код: Выделить всё
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.
-
- проходил мимо
- Сообщения: 9
- Зарегистрирован: 2008-07-07 8:36:24
Re: Спутниковый интернет и нат на блок адресов
Простите, я неправильно расставил акценты.
Да, я знаю, что ипнат может мапать блок в блок.
Но как заставить его понимать асинхронный роутинг? В natd для этого есть ключи -i и -o.
Я нашёл тему с тегом [solved] - http://community.livejournal.com/ru_freebsd/110498.html
Но я не смог найти в changelog записи, о которых говорит автор, а также его формат правила на мой взгляд не подходит под структуру, описанную в man 5 ipnat. В манах пишут, что интерфейс - это БукваБуквыЦифры. Про запятые и вторые интерфейсы ничего не сказано.
Поэтому, мне кажется, необходимо какое-то вмешательство в движение пакетов. Либо перекидывать пакеты с интерфейса на интерфейс, либо создание искусственных петель и пропускание трафика через них, либо вообще производить передизайн системы: например, туннель собрать на циско а нат на фре или наоборот.
Да, я знаю, что ипнат может мапать блок в блок.
Но как заставить его понимать асинхронный роутинг? В natd для этого есть ключи -i и -o.
Я нашёл тему с тегом [solved] - http://community.livejournal.com/ru_freebsd/110498.html
Но я не смог найти в changelog записи, о которых говорит автор, а также его формат правила на мой взгляд не подходит под структуру, описанную в man 5 ipnat. В манах пишут, что интерфейс - это БукваБуквыЦифры. Про запятые и вторые интерфейсы ничего не сказано.
Поэтому, мне кажется, необходимо какое-то вмешательство в движение пакетов. Либо перекидывать пакеты с интерфейса на интерфейс, либо создание искусственных петель и пропускание трафика через них, либо вообще производить передизайн системы: например, туннель собрать на циско а нат на фре или наоборот.
-
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Re: Спутниковый интернет и нат на блок адресов
я что-то не улавливаю суть проблемы, ну есть разные интерфейсы, ну есть разные блоки адресов, а проблема то где? чего должно быть в итоге?
-
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Re: Спутниковый интернет и нат на блок адресов
а чем диапазоны портов не подходят? и автобаланс?BAC51 писал(а):Но как заставить его понимать асинхронный роутинг? В natd для этого есть ключи -i и -o.
-
- проходил мимо
- Сообщения: 9
- Зарегистрирован: 2008-07-07 8:36:24
Re: Спутниковый интернет и нат на блок адресов
лаконично говоря - должен работать нат.zg писал(а):я что-то не улавливаю суть проблемы, ну есть разные интерфейсы, ну есть разные блоки адресов, а проблема то где? чего должно быть в итоге?
для того, чтобы прояснить ситуацию - упрощу.
Положим у нас один внутренний клиент и один внешний ip. Нужно, чтобы работал нат. Пусть даже портнат.
Почему он не работает?
Мы пишем map gre0 192.168.0.1/32 -> 12.13.14.15/32
Пакет влетает в сервер, проходит через НАТ (подменяются адреса) и улетает в интернет.
Ipnat ждёт ответа от удалённого хоста на этот же интерфейс gre0, на конкретный порт.
А если пакет вернётся на em2, ипнат даже усом не поведёт.
Как в этой ситуации работает natd? Он ведь слушает на двух портах - incoming и outgoing, например на 8668 и 8669, затем трафик с одного интерфейса я дивертаю на один порт а с другого интерфейса - на другой. И всё замечательно.
у меня 512 машин в локалке и 512 внешних адресов. Я хочу чтобы каждый имел свой внешний адрес и мог творить всё что ему заблагорассудится (торренты, игровые сервера и прочее). Поднять в локальной сети маршрутизацию на внешних адресах и полностью исключить нат нельзя.zg писал(а):а чем диапазоны портов не подходят? и автобаланс?BAC51 писал(а):Но как заставить его понимать асинхронный роутинг? В natd для этого есть ключи -i и -o.
-
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Re: Спутниковый интернет и нат на блок адресов
gateway_enable="YES" и все проблемыBAC51 писал(а):А если пакет вернётся на em2, ипнат даже усом не поведёт.
man ipnat, таже схема только на уровне ядра.BAC51 писал(а):Он ведь слушает на двух портах - incoming и outgoing, например на 8668 и 8669, затем трафик с одного интерфейса я дивертаю на один порт а с другого интерфейса - на другой. И всё замечательно.
у нас вся сеть так пашет и никаких проблем, если хочешь за каждым крепить только конкрентный адрес, то только руками. Если динамический блок подойдёт, то не вижу никаких причин не использовать ipnat. Он быстрее и не жрёт лишних ресурсов.BAC51 писал(а):Я хочу чтобы каждый имел свой внешний адрес и мог творить всё что ему заблагорассудится (торренты, игровые сервера и прочее)
-
- проходил мимо
- Сообщения: 9
- Зарегистрирован: 2008-07-07 8:36:24
Re: Спутниковый интернет и нат на блок адресов
хорошо, у меня три интерфейса. gre0 - исходящий внешний, em2 входящий внешний, em0 локальный.zg писал(а):gateway_enable="YES" и все проблемыBAC51 писал(а):А если пакет вернётся на em2, ипнат даже усом не поведёт.
man ipnat, таже схема только на уровне ядра.BAC51 писал(а):Он ведь слушает на двух портах - incoming и outgoing, например на 8668 и 8669, затем трафик с одного интерфейса я дивертаю на один порт а с другого интерфейса - на другой. И всё замечательно.
я делаю map gre0 192.168.0.1/32->12.13.14.15/32 и всё должно работать?
-
- проходил мимо
- Сообщения: 9
- Зарегистрирован: 2008-07-07 8:36:24
Re: Спутниковый интернет и нат на блок адресов
этож надо - разобрался.BAC51 писал(а):хорошо, у меня три интерфейса. gre0 - исходящий внешний, em2 входящий внешний, em0 локальный.zg писал(а):gateway_enable="YES" и все проблемыBAC51 писал(а):А если пакет вернётся на em2, ипнат даже усом не поведёт.
man ipnat, таже схема только на уровне ядра.BAC51 писал(а):Он ведь слушает на двух портах - incoming и outgoing, например на 8668 и 8669, затем трафик с одного интерфейса я дивертаю на один порт а с другого интерфейса - на другой. И всё замечательно.
я делаю 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
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: Спутниковый интернет и нат на блок адресов
не на разных а на одномКак в этой ситуации работает natd? Он ведь слушает на двух портах - incoming и outgoing, например на 8668 и 8669, затем трафик с одного интерфейса я дивертаю на один порт а с другого интерфейса - на другой. И всё замечательно
токо один диверт через out канал
а второй диверт через incom канал
а у вас там какой то бред похоже
-
- проходил мимо
- Сообщения: 9
- Зарегистрирован: 2008-07-07 8:36:24
Re: Спутниковый интернет и нат на блок адресов
ок, эту проблему решили.BAC51 писал(а):этож надо - разобрался.BAC51 писал(а):хорошо, у меня три интерфейса. gre0 - исходящий внешний, em2 входящий внешний, em0 локальный.zg писал(а):gateway_enable="YES" и все проблемыBAC51 писал(а):А если пакет вернётся на em2, ипнат даже усом не поведёт.
man ipnat, таже схема только на уровне ядра.BAC51 писал(а):Он ведь слушает на двух портах - incoming и outgoing, например на 8668 и 8669, затем трафик с одного интерфейса я дивертаю на один порт а с другого интерфейса - на другой. И всё замечательно.
я делаю 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-адреса для всех, а выдавал всем обратившимся свободный адрес?
-
- проходил мимо
- Сообщения: 9
- Зарегистрирован: 2008-07-07 8:36:24
Re: Спутниковый интернет и нат на блок адресов
ну как же на одном если на разных?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''.
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: Спутниковый интернет и нат на блок адресов
либо я не понимаю что вы хотите сделать
либо вы не понимаете что вы делаете
либо вы не понимаете что вы делаете
-
- проходил мимо
- Сообщения: 9
- Зарегистрирован: 2008-07-07 8:36:24
Re: Спутниковый интернет и нат на блок адресов
хотите сказать, что если я дивертну в один порт с двух интерфейсов - всё равно будет работать?paradox писал(а):либо я не понимаю что вы хотите сделать
либо вы не понимаете что вы делаете
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: Спутниковый интернет и нат на блок адресов
ну вы блин даете (с) не помню кто...
пример
есть два канала
один наземный
второй спутниковый
по наземному должны уходить запросы
через спутник должны возращаться
как это делаеться
вешаеться два правила диверт на один порт
первое правило на интервейс через который уходит пакет
другое правило на интерфейс с которого приходит пакет
и все
может я непонимаю чего вы там хотите сделать
это уже другой вопрос
пример
есть два канала
один наземный
второй спутниковый
по наземному должны уходить запросы
через спутник должны возращаться
как это делаеться
вешаеться два правила диверт на один порт
первое правило на интервейс через который уходит пакет
другое правило на интерфейс с которого приходит пакет
и все
может я непонимаю чего вы там хотите сделать
это уже другой вопрос
-
- проходил мимо
- Сообщения: 9
- Зарегистрирован: 2008-07-07 8:36:24
Re: Спутниковый интернет и нат на блок адресов
это очень интересно, но у меня натд настроен и работает.paradox писал(а):ну вы блин даете (с) не помню кто...
пример
есть два канала
один наземный
второй спутниковый
по наземному должны уходить запросы
через спутник должны возращаться
как это делаеться
вешаеться два правила диверт на один порт
первое правило на интервейс через который уходит пакет
другое правило на интерфейс с которого приходит пакет
и все
может я непонимаю чего вы там хотите сделать
это уже другой вопрос
Мне хочется динамический нат 1 к 1 на пуле в 512 адресов.
Чтобы каждому новому активному хосту подбирался свободный внешний адрес и в течении всей сессии по этому адресу можно было извне подключиться к хосту. Адресов хватает с лихвой.
Мои надежды - на ipnat. Завести его на такой схеме у меня получилось только сегодня (в ипнате нет дивертов).
Теперь бьюсь над динамическим распределением блока адресов. Бимап по умолчанию работает не совсем так.