двойная NAT трансляция
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- m0ps
- лейтенант
- Сообщения: 986
- Зарегистрирован: 2008-05-08 20:18:06
- Откуда: Chernigov (Ukraine)
- Контактная информация:
двойная NAT трансляция
Этот нат меня доведет до истерики
Ситуация такая:
в маршрутизатор приходит пакет с адресом источника 10.10.10.0/24 и адресом назначения 192.168.100.1
исходящий пакет должен быть с адресом источника 192.168.1.10 и адресом назначения 192.168.1.1
возможно ли такое разрулить вообще, и если да, то как??
Ситуация такая:
в маршрутизатор приходит пакет с адресом источника 10.10.10.0/24 и адресом назначения 192.168.100.1
исходящий пакет должен быть с адресом источника 192.168.1.10 и адресом назначения 192.168.1.1
возможно ли такое разрулить вообще, и если да, то как??
Услуги хостинговой компании 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/
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: двойная NAT трансляция
это не двойной нат
а нат с форвардом
а нат с форвардом
- m0ps
- лейтенант
- Сообщения: 986
- Зарегистрирован: 2008-05-08 20:18:06
- Откуда: Chernigov (Ukraine)
- Контактная информация:
Re: двойная NAT трансляция
ок, пусть будет так. на циске то разрулить это можно?paradox писал(а):это не двойной нат
а нат с форвардом
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: двойная NAT трансляция
еммммм
я в свое время циску конфигурил с помочью гугла и циско ком
и непомню такой ситуации что бы несмог разобраться
темпаче если у тебя циска под руками
должна как минимум манулка по ней рядом быть под рукой
и всегда сможешь что угодно настроить
я в свое время циску конфигурил с помочью гугла и циско ком
и непомню такой ситуации что бы несмог разобраться
темпаче если у тебя циска под руками
должна как минимум манулка по ней рядом быть под рукой
и всегда сможешь что угодно настроить
- m0ps
- лейтенант
- Сообщения: 986
- Зарегистрирован: 2008-05-08 20:18:06
- Откуда: Chernigov (Ukraine)
- Контактная информация:
Re: двойная NAT трансляция
и много в "квик юзер гвайд" ты интересного найдешь? как шнурки в порты подключить да как интерфейс сконфигурить и так понятно, с source и destination nat по отдельности тоже все предельно ясно, а вот по своей ситуации что-то ничего найти не могу, да и сам сообразить не могу. может стоит утра подождать, там мозги посвежее будутparadox писал(а): темпаче если у тебя циска под руками
должна как минимум манулка по ней рядом быть под рукой
и всегда сможешь что угодно настроить
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: двойная NAT трансляция
ну я имел ввиду мануал по настройкам с примерами с цики коми много в "квик юзер гвайд" ты интересного найдешь
-
- мл. сержант
- Сообщения: 72
- Зарегистрирован: 2008-10-25 3:05:59
Re: двойная NAT трансляция
Какой еще "нат с форвардом"? Нет такой фичи.paradox писал(а):это не двойной нат
а нат с форвардом
Это как раз двукратный нат.
Из постановки задачи непонятно, с какой стороны inside, а с какой outside. Если предположить, что 10.10.10.0/24 - это сеть со стороны inside-интерфейса, 192.168.1.10 - адрес outside-интерфейса, а 192.168.100.1 - это произвольный хост в outside-сети, то примерно так:
Код: Выделить всё
ip nat pool net10_hosts 192.168.1.10 192.168.1.10 prefix-length 24
ip nat inside source list 120 pool net10_hosts overload
ip nat outside source static 192.168.1.1 192.168.100.1 extendable
access-list 120 remark Net10 hosts to be NATed
access-list 120 permit ip 10.10.10.0 0.0.0.255 any
access-list 120 deny ip any any
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: двойная NAT трансляция
ну нету у меня уже цискиКакой еще "нат с форвардом"? Нет такой фичи.
Это как раз двукратный нат
нет! *рыдающий смайл*
- m0ps
- лейтенант
- Сообщения: 986
- Зарегистрирован: 2008-05-08 20:18:06
- Откуда: Chernigov (Ukraine)
- Контактная информация:
Re: двойная NAT трансляция
ну вообще, если разобраться, то внутренняя сеть - это 192.168.1.0/24 в которой нужно обращаться только к одному хосту - 192.168.1.1. внешняя сеть - 10.10.10.0/24. только вот пакеты ходят из внешней сети во внутреннюю. так что с точки зрения нат - inside - 10.10.10.0/24, outside - 192.168.1.0/24.Dirty.Eager писал(а):с какой стороны inside, а с какой outside.
тут немного неверно. 10.10.10.0/24 - это сеть со стороны inside-интерфейса, 192.168.1.10 - адрес outside-интерфейса, а 192.168.100.1 - это не произвольный хост в outside-сети, а хост о котором "знают" устройства из сети 10.10.10.0/24 (они не могут напрямую обратиться к сети 192.168.1.0/24). в свою же очередь сервер в сети 192.168.1.0/24 (192.168.1.1) принимает пакеты только от устройств из своей подсети. поэтому решено было провернуть следующее:Dirty.Eager писал(а):Если предположить, что 10.10.10.0/24 - это сеть со стороны inside-интерфейса, 192.168.1.10 - адрес outside-интерфейса, а 192.168.100.1 - это произвольный хост в outside-сети
для устройств из сети 10.10.10.0/24 указать адрес сервера - 192.168.100.1. при попадании пакета в маршрутизатор изменять адрес назначения с 192.168.100.1 на 192.168.1.1, но т.к. сервер с ip 192.168.1.1 принимает пакеты только из своей подсети - /24, изменять адрес источника на ip из его подсети (к примеру 192.168.1.10).
===============================
вечер, голова почти не варит. исправь если ошибаюсь.
я так понимаю здесь ты ошибся и вместо 192.168.1.1 написал 192.168.100.1Dirty.Eager писал(а):а 192.168.100.1 - это произвольный хост в outside-сети
-
- мл. сержант
- Сообщения: 72
- Зарегистрирован: 2008-10-25 3:05:59
Re: двойная NAT трансляция
m0ps писал(а):ну вообще, если разобраться,Dirty.Eager писал(а):с какой стороны inside, а с какой outside.
Чтобы разобраться, недостаточно было данных.
m0ps писал(а):то внутренняя сеть - это 192.168.1.0/24 в которой нужно обращаться только к одному хосту - 192.168.1.1. внешняя сеть - 10.10.10.0/24. только вот пакеты ходят из внешней сети во внутреннюю.
Значит 192.168.1.0/24 - inside, а 10.10.10.0/24 - outside
outside - это там, где default gateway.
Да у ната нет точки зрения, он в обе стороны может работать.m0ps писал(а): так что с точки зрения нат - inside - 10.10.10.0/24, outside - 192.168.1.0/24.
Что значит, "не могут"? Почему???m0ps писал(а):тут немного неверно. 10.10.10.0/24 - это сеть со стороны inside-интерфейса, 192.168.1.10 - адрес outside-интерфейса, а 192.168.100.1 - это не произвольный хост в outside-сети, а хост о котором "знают" устройства из сети 10.10.10.0/24 (они не могут напрямую обратиться к сети 192.168.1.0/24).Dirty.Eager писал(а):Если предположить, что 10.10.10.0/24 - это сеть со стороны inside-интерфейса, 192.168.1.10 - адрес outside-интерфейса, а 192.168.100.1 - это произвольный хост в outside-сети
Или ты темнишь и вместо 10.10.10.0 и 192.168.100.1 - на самом деле реальные адреса, а 192.168.1.0 - действительно серые, немаршрутизируемые адреса?
Тогда что мешает хостам из сети 10.10.10.0/24 ломиться на адрес интерфейса маршрутизатора, смотрящего в эту сеть? (адрес циски, прописаннный на интерфейсе внешней сети). А эти пакеты пробрасывать на сервер, меняя в них и source и destination.
Дай плз полную постановку задачи, попробуем рабораться.
Нет, здесь я имел в виду именно 192.168.100.1. Потом могу написать подробнее, какую задачу решает такой случай двойного ната.m0ps писал(а):я так понимаю здесь ты ошибся и вместо 192.168.1.1 написал 192.168.100.1Dirty.Eager писал(а):а 192.168.100.1 - это произвольный хост в outside-сети
- m0ps
- лейтенант
- Сообщения: 986
- Зарегистрирован: 2008-05-08 20:18:06
- Откуда: Chernigov (Ukraine)
- Контактная информация:
Re: двойная NAT трансляция
ну там вообще много чего накручено и все не так просто как я описал. все ip действительно серые (понятно что не такие как я написал, но логика сохранена).
почему не могут напрямую обратиться, я скажу. дело в том что пакеты, когда бегут к нам из сети 10.10.10.0/24 (через интернет) шифруются ipsec'ом одним концом которого есть asa (смотрящая в интернет), с другой - маршрутизатор провайдера (тоже смотрящий в интернет). от 10.10.10.0/24 до маршрутизатора провайдера - пакет бежит по внутренней его сети. дальше шифруется и пересылается через интернет до нашей асы. на асе он заворачивается маршрутом на внутренний маршрутизатор, на котором и нужно провернуть данную трансляцию, т.к. один его конец смотрит в сеть 192.168.1.0/24
ну вроде все рассказал, осталось только пароли на enable написать здесь и сеть в тюрму на 100 лет
почему не могут напрямую обратиться, я скажу. дело в том что пакеты, когда бегут к нам из сети 10.10.10.0/24 (через интернет) шифруются ipsec'ом одним концом которого есть asa (смотрящая в интернет), с другой - маршрутизатор провайдера (тоже смотрящий в интернет). от 10.10.10.0/24 до маршрутизатора провайдера - пакет бежит по внутренней его сети. дальше шифруется и пересылается через интернет до нашей асы. на асе он заворачивается маршрутом на внутренний маршрутизатор, на котором и нужно провернуть данную трансляцию, т.к. один его конец смотрит в сеть 192.168.1.0/24
ну вроде все рассказал, осталось только пароли на enable написать здесь и сеть в тюрму на 100 лет
- m0ps
- лейтенант
- Сообщения: 986
- Зарегистрирован: 2008-05-08 20:18:06
- Откуда: Chernigov (Ukraine)
- Контактная информация:
Re: двойная NAT трансляция
насколько я понимаю, то выглядеть это должно так:
в маршрутизатор попадает пакет (на интерфейс с ip nat inside) с адресом источника 10.10.10.1 и адресом назначения 192.168.100.1. дня начала изменяем адрес назначения на 192.168.1.1. теперь пакет может продвинуться к интерфейсу, который смотрит в сеть 192.168.1.0/24 (интерфейс на котором ip nat outside). а теперь нужно подменить адрес источника на 192.168.1.10 для того, что бы сервер 192.168.1.1 принял этот пакет, т.к. он принимает пакеты только из своей сети.
в маршрутизатор попадает пакет (на интерфейс с ip nat inside) с адресом источника 10.10.10.1 и адресом назначения 192.168.100.1. дня начала изменяем адрес назначения на 192.168.1.1. теперь пакет может продвинуться к интерфейсу, который смотрит в сеть 192.168.1.0/24 (интерфейс на котором ip nat outside). а теперь нужно подменить адрес источника на 192.168.1.10 для того, что бы сервер 192.168.1.1 принял этот пакет, т.к. он принимает пакеты только из своей сети.
- m0ps
- лейтенант
- Сообщения: 986
- Зарегистрирован: 2008-05-08 20:18:06
- Откуда: Chernigov (Ukraine)
- Контактная информация:
Re: двойная NAT трансляция
ну что, есть варианты?
-
- мл. сержант
- Сообщения: 72
- Зарегистрирован: 2008-10-25 3:05:59
Re: двойная NAT трансляция
А в сети 192.168.1.0/24 есть что-нибудь полезное, кромек сервера 192.168.1.1? В частности, есть ли там клиенты, которым нужно выходить в интернет?m0ps писал(а):ну что, есть варианты?
-
- мл. сержант
- Сообщения: 72
- Зарегистрирован: 2008-10-25 3:05:59
Re: двойная NAT трансляция
Ну собственно именно эту задачу и решает приведенный конфиг.m0ps писал(а):насколько я понимаю, то выглядеть это должно так:
в маршрутизатор попадает пакет (на интерфейс с ip nat inside) с адресом источника 10.10.10.1 и адресом назначения 192.168.100.1. дня начала изменяем адрес назначения на 192.168.1.1. теперь пакет может продвинуться к интерфейсу, который смотрит в сеть 192.168.1.0/24 (интерфейс на котором ip nat outside). а теперь нужно подменить адрес источника на 192.168.1.10 для того, что бы сервер 192.168.1.1 принял этот пакет, т.к. он принимает пакеты только из своей сети.
Код: Выделить всё
ip nat pool net10_hosts 192.168.1.10 192.168.1.10 prefix-length 24
ip nat inside source list 120 pool net10_hosts overload
ip nat outside source static 192.168.1.1 192.168.100.1 extendable
access-list 120 remark Net10 hosts to be NATed
access-list 120 permit ip 10.10.10.0 0.0.0.255 any
access-list 120 deny ip any any
- m0ps
- лейтенант
- Сообщения: 986
- Зарегистрирован: 2008-05-08 20:18:06
- Откуда: Chernigov (Ukraine)
- Контактная информация:
Re: двойная NAT трансляция
Dirty.Eager, огромное спасибо!.
пока не пробовал, но вот что меня смущает, дык это употребление в обоих правилах трансляции "source". насколько я понимаю - source означает источник, а где же destination?
я так понимаю первое правило означает:
на внутреннем интерфейсе (на котором ip nat inside) адресам попадающим в акскесс-лист 120 заменять адрес источника на адрес из пула net10
второе:
на внешнем интерфейсе (на котором ip nat outside) статически поменять адрес источника с 192,168,1,1 на 192,168,100,1
что-то я совсем ничего не пойму...
может в первом правиле нужно вместо sourсe надо написать destination?
пока не пробовал, но вот что меня смущает, дык это употребление в обоих правилах трансляции "source". насколько я понимаю - source означает источник, а где же destination?
я так понимаю первое правило означает:
на внутреннем интерфейсе (на котором ip nat inside) адресам попадающим в акскесс-лист 120 заменять адрес источника на адрес из пула net10
второе:
на внешнем интерфейсе (на котором ip nat outside) статически поменять адрес источника с 192,168,1,1 на 192,168,100,1
что-то я совсем ничего не пойму...
может в первом правиле нужно вместо sourсe надо написать destination?
-
- мл. сержант
- Сообщения: 72
- Зарегистрирован: 2008-10-25 3:05:59
Re: двойная NAT трансляция
Именно так. Первое правило меняет source у пакетов, направленных на сервер, второе меняет source у ответных пакетов от сервера.m0ps писал(а):Dirty.Eager, огромное спасибо!.
пока не пробовал, но вот что меня смущает, дык это употребление в обоих правилах трансляции "source". насколько я понимаю - source означает источник, а где же destination?
я так понимаю первое правило означает:
на внутреннем интерфейсе (на котором ip nat inside) адресам попадающим в акскесс-лист 120 заменять адрес источника на адрес из пула net10
второе:
на внешнем интерфейсе (на котором ip nat outside) статически поменять адрес источника с 192,168,1,1 на 192,168,100,1
При прохождении первого пакета в сторону "туда" роутер создает translation (или, в терминологии pf, state), в котором учтены оба правила ната - которое "туда" и которое "обратно".
Можно, но результаты будут неожиданнымиm0ps писал(а):может в первом правиле нужно вместо sourсe надо написать destination?
ip nat inside destination - это совершенно другая фича cisco. Поэтому, в ряде случаев (как, например, в этом) и приходится менять местами inside и outside, что, казалось бы, противоречит здравому смыслу.
- m0ps
- лейтенант
- Сообщения: 986
- Зарегистрирован: 2008-05-08 20:18:06
- Откуда: Chernigov (Ukraine)
- Контактная информация:
Re: двойная NAT трансляция
но тут ты упустил один момент:
при попадании пакета в маршрутизатор он имеет адрес назначения не 192.168.1.1 а 192.168.100.1, тоесть ему надо изменить адрес назначения - транслировать 192.168.100.1 -> 192.168.1.1.
это все при том, что физически на маршрутизаторе этого (192.168.100.1) адреса нет.
при попадании пакета в маршрутизатор он имеет адрес назначения не 192.168.1.1 а 192.168.100.1, тоесть ему надо изменить адрес назначения - транслировать 192.168.100.1 -> 192.168.1.1.
это все при том, что физически на маршрутизаторе этого (192.168.100.1) адреса нет.
-
- мл. сержант
- Сообщения: 72
- Зарегистрирован: 2008-10-25 3:05:59
Re: двойная NAT трансляция
Есть. Командой ip nat outside помимо самой трансляции создается еще alias для 192.168.100.1 на интерфейсе inside (чтобы принять входящий пакет).m0ps писал(а):но тут ты упустил один момент:
при попадании пакета в маршрутизатор он имеет адрес назначения не 192.168.1.1 а 192.168.100.1, тоесть ему надо изменить адрес назначения - транслировать 192.168.100.1 -> 192.168.1.1.
это все при том, что физически на маршрутизаторе этого (192.168.100.1) адреса нет.
Код: Выделить всё
router(config)#ip nat outside source static 1.2.3.4 5.6.7.8 ?
add-route Add a static route for outside local address
extendable Extend this translation when used
mapping-id Associate a mapping id to this mapping
no-alias Do not create an alias for the local address
no-payload No translation of embedded address/port in the payload
redundancy NAT redundancy operation
vrf Specify vrf
<cr>
Еще, как можно видеть, есть возможность создать и роут, ведущий в outside (параметр add-route) - это для случаев, когда на самом роутере на inside интерфейсе поднят другой адрес из той же подсети, что 192.168.100.1 (например, 192.168.100.5/24 - на роутере, и пакеты для него надо принимать, а пакеты для 192.168.100.1 пробрасывать в outside, иначе нат не сработает).
- m0ps
- лейтенант
- Сообщения: 986
- Зарегистрирован: 2008-05-08 20:18:06
- Откуда: Chernigov (Ukraine)
- Контактная информация:
Re: двойная NAT трансляция
понятно... спасибо за подсказки, надеюсь ты прав и все заработает.
в понедельник будем тестировать...
P.S.
сейчас эту двойную трансляцию выполняет линукс маршрутизатор, решили его выкинуть и закрутить все через центральную циску. поэтому и приходиться так изощряться.
====================
UPDATE
слушай, тут еще такой момент. инициаторами всегда есть только 10.10.10.0/24, в таком случае все тоже будет работать?
в понедельник будем тестировать...
P.S.
сейчас эту двойную трансляцию выполняет линукс маршрутизатор, решили его выкинуть и закрутить все через центральную циску. поэтому и приходиться так изощряться.
====================
UPDATE
слушай, тут еще такой момент. инициаторами всегда есть только 10.10.10.0/24, в таком случае все тоже будет работать?
- m0ps
- лейтенант
- Сообщения: 986
- Зарегистрирован: 2008-05-08 20:18:06
- Откуда: Chernigov (Ukraine)
- Контактная информация:
Re: двойная NAT трансляция
попробовал - не работает
- m0ps
- лейтенант
- Сообщения: 986
- Зарегистрирован: 2008-05-08 20:18:06
- Откуда: Chernigov (Ukraine)
- Контактная информация:
Re: двойная NAT трансляция
в общем вот кусок из rc.firewall, надеюсь это поможет...
так это работает сейчас,нужно это-же провернуть на циске с учетом того, что на oif внутрення сеть (ip nat inside), iif2 - внешняя (ip nat outside)
Код: Выделить всё
oif="eth1"
onet="192.168.1.0/24"
oip="192.168.1.10"
iif2="eth2"
inet2="192.168.100.0/24"
iip2="192.168.100.1"
gprsnet1="10.10.10.0/24"
${iptables} -t nat -A POSTROUTING -o ${oif} -s $ip -d ${onet} -j SNAT --to-source ${oip}
${iptables} -t nat -A PREROUTING -i ${iif2} -s ${gprsnet1} -d ${iip2} -p tcp --dport 33333 -j DNAT --to 192.168.1.1:33333
-
- проходил мимо
- Сообщения: 1
- Зарегистрирован: 2019-03-23 9:53:51
двойная NAT трансляция
Прочитал статью "Двойной (source и destination) NAT на Cisco" (https://www.lissyara.su/articles/cisco/double_nat/). Не понял один момент. Там написано: у пакета, исходящего из хоста B вначале попадая на интерфейс Fa0/1 (ip nat outside) меняется адрес назначения с 192.168.102.133 на 172.16.1.133
Но ведь это преобразование в конфиге описано в пункте ip nat inside. Как оно может на стороне outside делаться?
Но ведь это преобразование в конфиге описано в пункте ip nat inside. Как оно может на стороне outside делаться?