На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> Объясните по поводу маскарадинга
    Собственно, я вот что не могу понять! Но мне очень интересно это
    вот смотрите, беру такую сеть.
    Ноутбук <-> роутер <-> еще роутер соедененный с интернетом
    192.168.0.10 <-> (192.168.0.1 | 10.50.50.233) <-> 10.50.50.1

    Вот я не понимаю.
    На 192.168.0.10 настроен шлюз 192.168.0.1, а на роутере уже настроен шлюз 10.50.50.1
    так вот! Если я делаю маскарадинг на роутере 192.168.0.1 между двумя сетевыми картами с ip (192.168.0.1 | 10.50.50.233). То интернет работает на 192.168.0.10 ноутбуке, если маскарадинга нет то и интернета нет!

    Теперь смотрите, маскарадинг на роутере всего то и делает что в заголовке source IP заменяет 192.168.0.10 на 10.50.50.233. И уже роутер 10.50.50.1 видит ноутбук как 10.50.50.233.

    Я не могу понять! Почему без маскарадинга нет интернета? А с маскарадингом есть???
    Как это понять?
      Судя по схеме, адрес 10.50.50.233 задан статически. Так что нет у тебя маскарада, а есть обычный sNAT.
      А не работает без него Инет потому, что 10.50.50.1 никогда не слышал о существовании 192.168.0.0/24.
        Так, наверное вам нужно как то подробно объяснить
        И так, на роутере где 2 сетевые стоит openwrt. и вот его файл farewall. В котором прошу обратить внимание на опцию option masq '1'
        ExpandedWrap disabled
          root@OpenWrt:~# cat /etc/config/firewall
           
          config defaults
                  option input 'ACCEPT'
                  option output 'ACCEPT'
                  option forward 'ACCEPT'
                  option syn_flood '1'
           
          config include
                  option path '/etc/firewall.user'
           
          config zone
                  option input 'ACCEPT'
                  option forward 'ACCEPT'
                  option output 'ACCEPT'
                  option name 'accept'
                  option network 'WAN lan'
                  option masq '1'
           
          root@OpenWrt:~#


        Далее, роутер с интернетом у меня mikrotik
        И вот на нем таблица маршрутизации, обратите внимание на последний маршрут
        ExpandedWrap disabled
          [admin@X] > ip route print
          Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, B - blackhole, U - unreachable, P - prohibit
           #      DST-ADDRESS        PREF-SRC        GATEWAY            DISTANCE
           0 ADS  0.0.0.0/0                          10.112.112.128            1
           1 X S  0.0.0.0/0                          10.96.5.1                 1
           2 ADS  10.0.0.0/8                         10.96.5.1                 0
           3 ADC  10.50.50.0/24      10.50.50.1      bridge1                   0
           4 ADC  10.96.5.0/24       10.96.5.31      ether1                    0
           5 ADC  10.112.112.128/32  188.247.185.209 beeline-l2tp              0
           6 ADS  77.74.64.0/21                      10.96.5.1                 0
           7 A S  80.241.35.0/24                     10.96.5.1                 1
           8 ADS  80.241.35.54/32                    10.96.5.1                 0
           9 ADS  85.29.161.106/32                   10.96.5.1                 0
          10 ADS  85.29.161.107/32                   10.96.5.1                 0
          11 A S  85.241.35.0/24                     10.96.5.1                 1
          12 ADS  87.247.0.133/32                    10.96.5.1                 0
          13 A S  192.168.0.0/24                     10.50.50.233              1


        И наконецто пинг с микротика на ноутбук
        ExpandedWrap disabled
          [admin@kumshagal] > ping 192.168.0.10
            SEQ HOST                                     SIZE TTL TIME  STATUS
              0 192.168.0.10                               56 127 1ms
              1 192.168.0.10                               56 127 1ms
              2 192.168.0.10                               56 127 1ms
              sent=3 received=3 packet-loss=0% min-rtt=1ms avg-rtt=1ms max-rtt=1ms



        Теперь, а как же я всетаки могу убедится что у меня маскарадинг?
        Ну наверное посмотрю как ноутбук цепляется к микротику со включенным маскарадингом:
        ExpandedWrap disabled
          sep/26 00:45:30 system,info,account user admin logged in from 10.50.50.233 via ssh


        Теперь отключим маскарадинг и посмотрим как теперь микротик видит ноутбук
        ExpandedWrap disabled
          sep/26 00:50:59 system,info,account user admin logged in from 192.168.0.10 via ssh


        Как видим, всетаки ip заменяет.
        И вот на всякий случай конфиг из openwrt:
        ExpandedWrap disabled
          root@OpenWrt:~# cat /etc/config/firewall
           
          config defaults
                  option input 'ACCEPT'
                  option output 'ACCEPT'
                  option forward 'ACCEPT'
                  option syn_flood '1'
           
          config include
                  option path '/etc/firewall.user'
           
          config zone
                  option input 'ACCEPT'
                  option forward 'ACCEPT'
                  option output 'ACCEPT'
                  option name 'accept'
                  option network 'WAN lan'


        Маскарадинга больше нет
        И на всякий случай посмотрите что luci Так же называет эту опцию маскарадингом
        Скрытый текст
        user posted image



        И все же это не маскарадинг? Везде ошибка?
          Цитата cpp_and_asm @
          наверное вам нужно как то подробно объяснить

          Надо. Вот только всё, что идёт дальше - не объяснение, а тупое такое цитирование. Ведро воды, две горошины фактов и ноль толку. Хотя достаточно было просто указать, на каких интерфейсах NAT, а на каких его нет, и показать таблицы рутинга - но реальные, а не из конфига.
          Цитата cpp_and_asm @
          И все же это не маскарадинг?

          Ну хоть сейчас-то не поленитесь посмотреть в документации, чем отличаются sNAT и Masquerade... отличие всего одно, ма-а-аленькое, и без переконфигурирования интерфейса (в т.ч. от перезагрузки или ре-аренды) в принципе неощутимое.
          Сообщение отредактировано: Akina -
            То есть то что по факту идет замена ip это не важно?

            Вот на openwrt
            ExpandedWrap disabled
              root@OpenWrt:~# ip route
              default via 10.50.50.1 dev eth1  proto static
              10.50.50.0/24 dev eth1  proto kernel  scope link  src 10.50.50.233
              192.168.0.0/24 dev br-lan  proto kernel  scope link  src 192.168.0.1


            Что еще показать?
              cpp_and_asm
              переведи свой роутер в режим моста, у ноута поставь шлюз 10.50.50.1
                Люди. я спрашиваю почему с подменой ip интернет есть, а без него нет! Это вопрос, это не проблема!
                  Цитата cpp_and_asm @
                  если маскарадинга нет то и интернета нет!


                  В на роутере есть маршруты с 10.50.50.233 в 192.168.0.10 ?
                    Я просто не могу понять, почему на пакет у которого source ip 192.168.0.10 Не приходит ответ?
                      cpp_and_asm
                      если на роутере нет маршрута из подсети 10.50.50.х в 192.168.0.Х, то у тебя пакет на 10.50.50.233 отбросится.
                        Цитата ^D^ima @
                        Цитата cpp_and_asm @
                        если маскарадинга нет то и интернета нет!


                        В на роутере есть маршруты с 10.50.50.233 в 192.168.0.10 ?

                        То есть на openwrt нужен такой маршрут?
                        ExpandedWrap disabled
                          root@OpenWrt:~# ip route
                          default via 10.50.50.1 dev eth1  proto static
                          10.50.50.0/24 dev eth1  proto kernel  scope link  src 10.50.50.233
                          10.50.50.233 via 192.168.0.10 dev br-lan
                          192.168.0.0/24 dev br-lan  proto kernel  scope link  src 192.168.0.1


                        Вот добавил. Но толка нет

                        Добавлено
                        Если вы про микротик, то я показывал все это выше
                        ExpandedWrap disabled
                          [admin@X] > ip route print
                          Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, B - blackhole, U - unreachable, P - prohibit
                           #      DST-ADDRESS        PREF-SRC        GATEWAY            DISTANCE
                           0 ADS  0.0.0.0/0                          10.112.112.128            1
                           1 X S  0.0.0.0/0                          10.96.5.1                 1
                           2 ADS  10.0.0.0/8                         10.96.5.1                 0
                           3 ADC  10.50.50.0/24      10.50.50.1      bridge1                   0
                           4 ADC  10.96.5.0/24       10.96.5.31      ether1                    0
                           5 ADC  10.112.112.128/32  188.247.185.209 beeline-l2tp              0
                           6 ADS  77.74.64.0/21                      10.96.5.1                 0
                           7 A S  80.241.35.0/24                     10.96.5.1                 1
                           8 ADS  80.241.35.54/32                    10.96.5.1                 0
                           9 ADS  85.29.161.106/32                   10.96.5.1                 0
                          10 ADS  85.29.161.107/32                   10.96.5.1                 0
                          11 A S  85.241.35.0/24                     10.96.5.1                 1
                          12 ADS  87.247.0.133/32                    10.96.5.1                 0
                          13 A S  192.168.0.0/24                     10.50.50.233              1
                          Цитата cpp_and_asm @
                          Вот добавил. Но толка нет

                          На 10.50.50.1 тоже нужно подобное сделать

                          Добавлено
                          делай трассировкус микротика и смотри на каком этапе затык.
                            Цитата Akina @
                            отличие всего одно, ма-а-аленькое

                            Небольшое дополнение:
                            user posted image
                              Цитата ^D^ima @
                              Цитата cpp_and_asm @
                              Вот добавил. Но толка нет

                              На 10.50.50.1 тоже нужно подобное сделать

                              Добавлено
                              делай трассировкус микротика и смотри на каком этапе затык.

                              Пожалуйста прочитай внимательно первый пост!
                              Я же написал таблицу маршрутизации 10.50.50.1 это МИКРОТИК! Тоесть последний роутер с интернетом!
                              И вот его таблица маршрутизации в третий раз показываю!
                              ExpandedWrap disabled
                                [admin@X] > ip route print
                                Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, B - blackhole, U - unreachable, P - prohibit
                                 #      DST-ADDRESS        PREF-SRC        GATEWAY            DISTANCE
                                 0 ADS  0.0.0.0/0                          10.112.112.128            1
                                 1 X S  0.0.0.0/0                          10.96.5.1                 1
                                 2 ADS  10.0.0.0/8                         10.96.5.1                 0
                                 3 ADC  10.50.50.0/24      10.50.50.1      bridge1                   0
                                 4 ADC  10.96.5.0/24       10.96.5.31      ether1                    0
                                 5 ADC  10.112.112.128/32  188.247.185.209 beeline-l2tp              0
                                 6 ADS  77.74.64.0/21                      10.96.5.1                 0
                                 7 A S  80.241.35.0/24                     10.96.5.1                 1
                                 8 ADS  80.241.35.54/32                    10.96.5.1                 0
                                 9 ADS  85.29.161.106/32                   10.96.5.1                 0
                                10 ADS  85.29.161.107/32                   10.96.5.1                 0
                                11 A S  85.241.35.0/24                     10.96.5.1                 1
                                12 ADS  87.247.0.133/32                    10.96.5.1                 0
                                13 A S  192.168.0.0/24                     10.50.50.233              1


                              Я не понимаю, когда я это пишу у вас не отображается или что?

                              Добавлено
                              А вот трасировка до forum.sources.ru

                              ExpandedWrap disabled
                                C:\Windows\System32>tracert forum.sources.ru
                                 
                                Трассировка маршрута к forum.sources.ru [89.208.153.100]
                                с максимальным числом прыжков 30:
                                 
                                  1    <1 мс    <1 мс    <1 мс  OpenWrt.lan [192.168.0.1]
                                  2    16 ms    <1 мс    <1 мс  10.50.50.1
                                  3     *        *        *     Превышен интервал ожидания для запроса.
                                  4     *        *        *     Превышен интервал ожидания для запроса.
                                  5     *        *        *     Превышен интервал ожидания для запроса.
                                Вообще помогите мне понять суть.
                                Вот ноутбук отправляет пакет скажем на этот форум да. source ip у него сперва 192.168.0.10 он идет на роутер по шлюзу 192.168.0.1, там роутер смотрит что ip forum.sources.ru не вего локальной сетки, но есть шлюз для 0.0.0.0, это 10.50.50.1, он берет значит, в мой пакет записывает свой source ip, то есть 10.50.50.233, и отправляет на шлюз 10.50.50.1
                                Тот в свою очередь видит что forum.sources.ru нет в его сетке, и передает на шлюз интернета, при этом так же меняя source ip на свой, с сетью выхода в интернет.
                                На 10.50.50.1 так же стоит правило nat маскарадинг.
                                ExpandedWrap disabled
                                  [admin@kumshagal] > ip firewall nat print
                                  Flags: X - disabled, I - invalid, D - dynamic
                                   0    chain=srcnat action=masquerade src-address=10.50.50.0/24 log=no log-prefix=""


                                Но тут я понимаю зачем он нужен, так как на шлюзе который мне дает интернет не прописан ip 192.168.0.10....
                                А почему на роутере 192.168.0.1 это нужно я не знаю
                                  cpp_and_asm
                                  так-же для себя распиши как обратно идет пакет и проверь настроено-ли оборудование. Если нет ната, тогда все статичными маршрутами прописывается
                                    У меня маршруты все статичны Именно те которые тут учавствуют.
                                    Вот если я отключаю маскарадинг на роутере openwrt (192.168.0.1 | 10.50.50.233), то микротик (10.50.50.1) спокойно работает с ноутбуком без каких либо заморочек, и видит его ка 192.168.0.10. Но в интернет ни как не выходит зараза!
                                    Вот этого я уже не понимаю.... А хочется просто понять в чем причина. И проверить не знаю как....
                                      Цитата cpp_and_asm @
                                      микротик (10.50.50.1) спокойно работает с ноутбуком

                                      А сам ноутбук?
                                        Точно так же. Все нормально, работают си видят друг друга без каких либо подмен ip
                                          cpp_and_asm
                                          запускай на тике сниффер и смотри что происходит
                                            Ок, так как меня интересует процесс только самого соединения, я посмотрю сниферами как на openwrt 192.168.0.1 так и на микротике 10.50.50.1
                                            Вот что приходит при маскараденги.
                                            сперва на openwrt:
                                            ExpandedWrap disabled
                                              root@OpenWrt:~# tcpdump -i eth0 -n -nnn -ttt '(dst host forum.sources.ru and  dst port 80) or (src host forum.sources.ru and  src port 80)'
                                              tcpdump: WARNING: eth0: no IPv4 address assigned
                                              tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
                                              listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
                                              00:00:00.000000 IP 192.168.0.10.9273 > 89.208.153.100.80: Flags [S], seq 3333855967, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
                                              00:00:00.076789 IP 89.208.153.100.80 > 192.168.0.10.9273: Flags [S.], seq 3628251206, ack 3333855968, win 65535, options [mss 1420,nop,wscale 6,sackOK,eol], length 0
                                              00:00:00.000290 IP 192.168.0.10.9273 > 89.208.153.100.80: Flags [.], ack 1, win 260, length 0


                                            Виден результат удачного соединения, как это еще называется "тройное рукопожатие".

                                            Теперь на микротике:
                                            К сожалению тут не особо информативный вывод, но видно одно, что запрос приходит из 10.50.50.233
                                            Скрытый текст
                                            user posted image



                                            Теперь отключим маскарадинг и посмотрим:

                                            ExpandedWrap disabled
                                              root@OpenWrt:~# tcpdump -i eth0 -n -nnn -ttt '(dst host forum.sources.ru and  dst port 80) or (src host forum.sources.ru and  src port 80)'
                                              tcpdump: WARNING: eth0: no IPv4 address assigned
                                              tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
                                              listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
                                              00:00:00.000000 IP 192.168.0.10.9318 > 89.208.153.100.80: Flags [S], seq 2660978984, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
                                              00:00:03.001804 IP 192.168.0.10.9318 > 89.208.153.100.80: Flags [S], seq 2660978984, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
                                              00:00:06.003596 IP 192.168.0.10.9318 > 89.208.153.100.80: Flags [S], seq 2660978984, win 8192, options [mss 1460,nop,nop,sackOK], length 0


                                            Как видим ответа нет(

                                            Теперь что было на микротике:
                                            Скрытый текст
                                            user posted image


                                            Тут видно что изменился только src адрес на 192.168.0.10 и все
                                            Но так же ответа не последовало.

                                            В упор не понимаю что не так...
                                              Цитата cpp_and_asm @
                                              Но так же ответа не последовало.

                                              Ты смотри на всех интерфейсах. Убери вообще интерфейс и порт\протокол
                                                ^D^ima огромное тебе спасибо!
                                                Я понял в чем фокус то а. Вот же я жесть тупил то!
                                                У меня на микротике то маскарадинг стоит только на адреса 10.50.50.0/24
                                                По этому когда запрос приходит от 10.50.50.233 он его меняет на мой внешний айпи для шлюза моего провайдера!!!!
                                                А маскарадинг для 192.168.0.0/24 не прописан! Вот он его и посылал как есть!
                                                А шлюз провайдера и понятие не имеет о 192.168.0.10.


                                                Ну в общем огромное тебе спасибо за терпение! Теперь то я понял где собака зарыта.

                                                Скрытый текст
                                                user posted image
                                                  Да, микротик хорошая вещь, куча инструментов для анализа
                                                    Коллеги, хочу уточнить:
                                                    Любые манипуляции с заголовком IP это NAT? В частности проброс портов и т.п.?
                                                      Цитата ^D^ima @
                                                      Любые манипуляции с заголовком IP это NAT?

                                                      Нет. Впрочем, гарантированно однозначного принятого мнения нет - например, изменение 80 порта во внешнем запросе на 8080 (порт, на котором работает веб-сервер внутри подсети) без изменения адреса источника и приёмника, и обратное преобразование ответов на маршрутизаторе вряд ли кто назовёт NAT-ом.

                                                      Цитата ^D^ima @
                                                      В частности проброс портов

                                                      Если он сопровождается изменением IP-адреса в пакете (приёмника или источника, в зависимости от направления), то, вероятно, следует считать, что да.
                                                        Т.е. можно гарантированно сказать что если меняется именно адрес IP в заголовке то это NAT?
                                                          Цитата ^D^ima @
                                                          Т.е. можно гарантированно сказать что если меняется именно адрес IP в заголовке то это NAT?

                                                          Вообще-то нет... например, Man In The Middle.
                                                            Цитата Akina @
                                                            например, Man In The Middle.

                                                            Так это тоже своего рода "преобразование сетевых адресов" или нет? Если нет, тогда что?
                                                              Цитата ^D^ima @
                                                              Если нет, тогда что?

                                                              Цитата
                                                              Source NAT changes the source address in IP header of a packet. It may also change the source port in the TCP/UDP headers. The typical usage is to change the a private (rfc1918) address/port into a public address/port for packets leaving your network.

                                                              Destination NAT changes the destination address in IP header of a packet. It may also change the destination port in the TCP/UDP headers.The typical usage of this is to redirect incoming packets with a destination of a public address/port to a private IP address/port inside your network.

                                                              Masquerading is a special form of Source NAT where the source address is unknown at the time the rule is added to the tables in the kernel. If you want to allow hosts with private address behind your firewall to access the Internet and the external address is variable (DHCP) this is what you need to use. Masquerading will modify the source IP address and port of the packet to be the primary IP address assigned to the outgoing interface. If your outgoing interface has a address that is static, then you don't need to use MASQ and can use SNAT which will be a little faster since it doesn't need to figure out what the external IP is every time.
                                                                JoeUser
                                                                Т.е. NAT это только замена IP адреса или порта без изменения остального пакета?
                                                                  На сколько я разобрался, маскарадинг практически аналогия SNAT. За одним исключением - маскарадинг чаще используется на интерфейсах часто меняющих свои характеристики (ip/mask/gw), он типа более адаптивен к изменениям. SNAT же надо пинать извне. Дальше в дебри я не лез, ибо сижу за статическом IP.
                                                                    ^D^ima
                                                                    Да не парься ты. Нет абсолютно строгого определения, которое для любой мыслимой ситуации однозначно бы говорило, NAT это или не NAT. Да и не так важно, как назвать, важнее, что происходит.
                                                                      Цитата Akina @
                                                                      Нет абсолютно строгого определения, которое для любой мыслимой ситуации однозначно бы говорило, NAT это или не NAT. Да и не так важно, как назвать, важнее, что происходит.

                                                                      Ну не знаю, считаю что в вики описание дано лаконично и полно.

                                                                      - Маскарадинг это разновидность NAT, даже не разновидность, если точнее, а один из режимов работы
                                                                      - Первая особенность: работает не с таблицами адресов, а с интерфейсами в динамике
                                                                      - Вторая особенность: при down интерфейса сразу же очищаются все таблицы трансляции

                                                                      Цитата ^D^ima @
                                                                      Т.е. NAT это только замена IP адреса или порта без изменения остального пакета?

                                                                      NAT - это обобщенное название технологии (подмены адресов). При настройке правил различают SNAT, это о чем ты говорил. И DNAT - подмена адреса получателя. Навскидку маленькая информативная статья. Например, в FreeBSD режим маскарадинга включается опциями для natd -dynamic в сочетании с -interface
                                                                        Цитата JoeUser @
                                                                        считаю что в вики описание дано лаконично и полно

                                                                        Вики может и авторитет, но уж точно не истина в последней инстанции.

                                                                        Цитата JoeUser @
                                                                        NAT - это обобщенное название технологии (подмены адресов).

                                                                        А если адреса не изменяются, но изменяется номер порта? Например, внешнее обращение к веб-серверу на маршрутизаторе (не роутере) переводится с порта 8080 на порт 80 - это NAT? Маппинг портов налицо...
                                                                        А если в тех же условиях даже номер порта не изменяется, но нештатно изменяется TTL?
                                                                        А если речь идёт не о TCP/UDP(/ICMP), а о другом протоколе?

                                                                        Классически NAT вроде бы определяется в RFC 2663:
                                                                        Цитата RFC 2663. IP Network Address Translator (NAT) Terminology and Considerations
                                                                        Network Address Translation is a method by which IP addresses are mapped from one realm to another, in an attempt to provide transparent routing to hosts.

                                                                        Вроде бы... с одной стороны. С другой стороны, есть ведь и такая штука, как NAT-PT (напр. RFC 2776, IPv6-IPv4 transition mechanism, или вспомни Netware/IP, когда узел без проблем выходил в Инет, не имея за душой ничего, кроме голого IPX) - это тоже NAT, в полный рост.
                                                                          Цитата Akina @
                                                                          А если адреса не изменяются, но изменяется номер порта? Например, внешнее обращение к веб-серверу на маршрутизаторе (не роутере) переводится с порта 8080 на порт 80 - это NAT? Маппинг портов налицо...

                                                                          NAT - обобщенное название одной технологии, а проброс портов (Port Forwarding) - одна из ее возможностей. Если не брать за эталон кастрированные реализации NAT-а на железяках, а посмотреть полноценные программные реализации (netfiler от линупса, ipfw и pf от *BSD), там NAT - просто функционал/подсистема. Все манипуляции с пакетами "проходят" через набор правил. Там возможно и перезапись адресов, и портов, и дроп пакетов, и переброс на себя после изменений ... и все это целостная система. Т.о. NAT - просто название одного из ее механизмов (у которого есть дополнительные опции типа маскарадинга). Ну выделили NAT собственной аббревиатурой, ну и ланна.

                                                                          Добавлено
                                                                          Цитата Akina @
                                                                          Вики может и авторитет

                                                                          Дело не где написано, а что написано. А написано в той статье хорошо.

                                                                          Добавлено
                                                                          Цитата Akina @
                                                                          то тоже NAT, в полный рост.

                                                                          ИМХО, там маршрутизация. Щя гляну ...

                                                                          Добавлено
                                                                          Ну есть какая-то шляпа типа IGRP/EIGRP - не охота голову забивать, нашел там "routing protocol" и ланна.
                                                                            Цитата JoeUser @
                                                                            Если не брать за эталон кастрированные реализации NAT-а на железяках

                                                                            На железяках тоже все есть.

                                                                            Собственно с чего возник вопрос, в микротике это все добро в разделе NAT:
                                                                            user posted image
                                                                              Цитата ^D^ima @
                                                                              На железяках тоже все есть.

                                                                              На многих есть, на копеечном барахле, как правило, нет. А копеечного барахла в организациях просто валом.

                                                                              Добавлено
                                                                              Цитата ^D^ima @
                                                                              Собственно с чего возник вопрос, в микротике это все добро в разделе NAT:

                                                                              Ну ... картинка же все показывает. Раздел NAT, возможность добавлять свои правила обработки. Все ровно.
                                                                                Цитата JoeUser @
                                                                                Все ровно.

                                                                                все операции которые на картинке относятся к технологии ната?
                                                                                  Цитата ^D^ima @
                                                                                  все операции которые на картинке относятся к технологии ната?

                                                                                  Затрудняюсь сказать. Надо читать хелп по правилам.
                                                                                    Цитата JoeUser @
                                                                                    На сколько я разобрался, маскарадинг практически аналогия SNAT.

                                                                                    Нет. При SNAT в каждом пакете подпадающим под правило происходит подмена адреса указанного в данном правиле. При маскарадинге, ip каждый раз вычисляется, посему нагрузка от последнего больше.

                                                                                    Добавлено
                                                                                    Цитата ^D^ima @
                                                                                    Цитата JoeUser @
                                                                                    Все ровно.

                                                                                    все операции которые на картинке относятся к технологии ната?

                                                                                    Все операции указанные на картинке относятся к модулям ядра линуха, дляправилам фаерволла iptables

                                                                                    Добавлено
                                                                                    Цитата Akina @
                                                                                    Например, внешнее обращение к веб-серверу на маршрутизаторе (не роутере) переводится с порта 8080 на порт 80 - это NAT?

                                                                                    Это PAT

                                                                                    Добавлено
                                                                                    Цитата JoeUser @
                                                                                    Добавлено
                                                                                    Цитата Akina @
                                                                                    то тоже NAT, в полный рост.

                                                                                    ИМХО, там маршрутизация. Щя гляну ...

                                                                                    Пздц. L3 маршрутизатор не знает понятия "порт". В общем случае он смотрит заголовок IP пакета, конкретно dst ip, и согласно своей таблице и политик маршрутизации отправляет пакет дальше.

                                                                                    Добавлено
                                                                                    Цитата JoeUser @
                                                                                    Добавлено
                                                                                    Ну есть какая-то шляпа типа IGRP/EIGRP - не охота голову забивать, нашел там "routing protocol" и ланна.

                                                                                    Смешались в кучу кони/люди. Какое отношение имеют древние как говно мамонта протоколы динамической маршрутизации к пробросу порта за нат?

                                                                                    Добавлено
                                                                                    Цитата Akina @
                                                                                    А если в тех же условиях даже номер порта не изменяется, но нештатно изменяется TTL?

                                                                                    Ттл итак штатно меняется, на каждом хопе. Ну есть ещё всякие поля, которые так сильно любят провайдеры типа рфц 2474/2475

                                                                                    Добавлено
                                                                                    Цитата ^D^ima @
                                                                                    Да, микротик хорошая вещь, куча инструментов для анализа

                                                                                    Кастрат чистых линухов. tcpdump+shell+iptables дают гораздо более широкие возможности для полёта фантазии.
                                                                                    Сообщение отредактировано: Gonarh -
                                                                                      Цитата Gonarh @
                                                                                      При маскарадинге, ip каждый раз вычисляется, посему нагрузка от последнего больше.

                                                                                      Откуда такая инфа? На сколько я понял из описания, маскарадинг - способ отслеживания состояния обслудиваемых интерфейсов. И как только происходит Up->Down - чистяться таблицы преобразований. Но если они со временем заполняются необходимыми правилами (текущими правилами) - дополнительного пересчета производиться не будет. Вощем, если я не прав - дай линк почитать про сей механизм.
                                                                                        Цитата JoeUser @
                                                                                        способ отслеживания состояния

                                                                                        В линуксах реализован ввиде conntrack, необходим для stateful фаервола и не только.
                                                                                        Цитата
                                                                                        И как только происходит Up->Down - чистяться таблицы преобразований

                                                                                        Именно, таблица состояний conntrack будет очищена, все установленные соединения потеряны. В случае SNAT, они будут висеть пока не оттикает опред. таймер
                                                                                        Цитата
                                                                                        Но если они со временем заполняются необходимыми правилами (текущими правилами) - дополнительного пересчета производиться не будет.

                                                                                        На каждое новое соединение будет заново получен IP адрес интерфейса куда сделан маскарадинг.

                                                                                        Добавлено
                                                                                        Цитата JoeUser @
                                                                                        Откуда такая инфа?

                                                                                        Лет 7 назад изучал, как работает маскарадинг в линуксах, на ветке ядер 2.6 было по крайней мере так, щяс, хз. давно не лазил.
                                                                                        Сообщение отредактировано: Gonarh -
                                                                                          Цитата Akina @
                                                                                          на маршрутизаторе (не роутере)


                                                                                          маршрутизатор и есть роутер. русский и английский термин.
                                                                                            Цитата Gonarh @
                                                                                            На каждое новое соединение будет заново получен IP адрес интерфейса куда сделан маскарадинг.

                                                                                            Ну я линух не смотрел, но, ЕМНИП, на FreeBSD маскарадинг только отслеживает Up/Down и чистку таблиц. А NAT уже сам смотрит - если таблица пустая, ищет адрес, заполняет таблицу и отдает. Если таблица непустая - из нее берет. По факту - это две взаимосвязанные подсистемы.
                                                                                              Цитата JoeUser @
                                                                                              маскарадинг только отслеживает Up/Down и чистку таблиц. А NAT уже сам смотрит - если таблица пустая...

                                                                                              Маскарадинг это и есть НАТ.
                                                                                                Цитата Gonarh @
                                                                                                Маскарадинг это и есть НАТ.

                                                                                                Мы просто говорим про разные ОС. Ты про Linux, я про FreeBSD. И там и там - реализация несколько отличная от соседней. Чтобы прекратить спорить на пустом месте приведу цитату из RFC3022 "The IP Network Address Translator (NAT)":

                                                                                                Цитата

                                                                                                Many commercial implementations are available in the industry that adhere to the NAT description provided in this document. Linux public domain software contains NAT under the name of "IP masquerade". FreeBSD public domain software has NAPT implementation running as a daemon. Note however that Linux source is covered under the GNU license and FreeBSD software is covered under the UC Berkeley license.


                                                                                                Для FreeBSD "маскарадинг" - не синоним NAT, а один из режимов слежения за состоянием интерфейсов. Читаем man natd(8):
                                                                                                Цитата
                                                                                                -dynamic
                                                                                                If the -n or -interface option is used, natd will monitor the routing socket for alterations to the interface passed. If the interface's IP address is changed, natd will dynamically alter its concept of the alias address.
                                                                                                  Цитата Gonarh @
                                                                                                  Нет. При SNAT в каждом пакете подпадающим под правило происходит подмена адреса указанного в данном правиле. При маскарадинге, ip каждый раз вычисляется, посему нагрузка от последнего больше.

                                                                                                  ИМХО это не такое и отличие маскарадинга от SNAT :) SNAT берет статический адрес, куда транслировать, маскарадинг берет этот адрес с интерфейса, а по сути они делают одно и тоже в итоге :)
                                                                                                  Сообщение отредактировано: Besha -
                                                                                                    Besha, просто реализации разные. Во FreeBSD - маскарадинг реализован как "слушатель" интерфейсов. Интрефейс "упал", masq очистил его таблицы ... и все. Т.е. действие однозначное - "интерфейс упал/сменил адрес === таблицы зачищаются". (Но это люто-махровое ИМХО, исходников я не читал, чисто по мануалам и наитию).
                                                                                                    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                                                                                    0 пользователей:


                                                                                                    Рейтинг@Mail.ru
                                                                                                    [ Script execution time: 0,1789 ]   [ 16 queries used ]   [ Generated: 29.03.24, 08:55 GMT ]