The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
NAT on a Stick на Cisco1841, !*! Евгений, 30-Май-11, 11:56  [смотреть все]
Здравствуйте!

Для организации резервного канала в Интернет, требуется сделать NAT на одном физическом интерфейсе на Cisco1841 (flash:c1841-ipbasek9-mz.124-24.T2.bin) без использования VLAN. Второй физический интерфейс на 1841 уже занят под основной канал, а VLAN нельзя использовать, так как коммутатор офисной сети их не поддерживает.

Схема:
- Внутренняя сеть: 192.168.20.0/24 – там располагаются хосты пользователей
- Внутренняя промежуточная сеть 192.168.1.0/24, в которой подсеть 192.168.20.0/24 должна прятаться за каким-нибудь IP из 192.168.1.X-подсети .
- NAT-router (Cisco 1841)
- Интернет-шлюз с LAN=192.168.1.1/24 и выходом в Инет (может быть любой, сейчас MTS-Router c 3G-опцией)

Делал на основе этого документа: http://www.cisco.com/en/US/tech/tk648/tk361/technologies_tec...

Сделал пример на старой Cisco 2507 – работает!
А подобный конфиг на 1841 почему-то нет.

Пингую, например, с хоста 192.168.20.121 узел 8.8.8.8
Пакет натится и уходит в Инет. Обратный ответ возвращается на 1841 и всё. Не срабатывает route-map, пакет не натится и не доходит соответственно до хоста пользователя.

=======
!
!
interface Loopback0
  ip address 10.0.1.1 255.255.255.252
  ip nat outside
  ip virtual-reassembly
!
interface FastEthernet0/0
  description LAN
  ip address 192.168.1.100 255.255.255.0 secondary
  ip address 192.168.20.100 255.255.255.0
  ip nat inside
  ip virtual-reassembly
  ip policy route-map nat-loop
  duplex auto
  speed auto
!
interface FastEthernet0/1
  description WAN
  no ip address
  ip virtual-reassembly
  shutdown
  duplex auto
  speed auto
!
ip forward-protocol nd
ip route 0.0.0.0 0.0.0.0 192.168.1.1
!
no ip http server
ip http authentication local
no ip http secure-server
ip http timeout-policy idle 600 life 86400 requests 10000
!
ip nat pool EXTERNAL1 192.168.1.202 192.168.1.203 prefix-length 29
ip nat inside source list 10 pool EXTERNAL1 overload
!
logging trap debugging
logging facility local6
access-list 10 permit 192.168.20.0 0.0.0.255
access-list 102 permit ip 192.168.20.0 0.0.0.255 any
access-list 102 permit ip any 192.168.1.200 0.0.0.7
access-list 133 permit icmp any any
route-map nat-loop permit 10
  match ip address 102
  set ip next-hop 10.0.1.2
!

===============

c1841s1#sh debugging
Generic IP:
  IP packet debugging is on for access list 133
  IP NAT debugging is on

Policy Routing:
  Policy routing debugging is on

============

*May 27 09:16:49.371: IP: s=192.168.20.121 (FastEthernet0/0), d=8.8.8.8, len 60, input feature, Stateful Inspection(4), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*May 27 09:16:49.371: IP: s=192.168.20.121 (FastEthernet0/0), d=8.8.8.8, len 60, input feature, Virtual Fragment Reassembly(21), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*May 27 09:16:49.371: IP: s=192.168.20.121 (FastEthernet0/0), d=8.8.8.8, len 60, input feature, Virtual Fragment Reassembly After IPSec Decryption(32), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*May 27 09:16:49.371: IP: s=192.168.20.121 (FastEthernet0/0), d=8.8.8.8, len 60, policy match
*May 27 09:16:49.371: IP: route map nat-loop, item 10, permit
*May 27 09:16:49.371: IP: s=192.168.20.121 (FastEthernet0/0), d=8.8.8.8 (Loopback0), len 60, policy routed
*May 27 09:16:49.371: IP: FastEthernet0/0 to Loopback0 10.0.1.2
*May 27 09:16:49.371: IP: s=192.168.20.121 (FastEthernet0/0), d=8.8.8.8 (Loopback0), len 60, input feature, Policy Routing(59), rtype 2, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*May 27 09:16:49.371: IP: s=192.168.20.121 (FastEthernet0/0), d=8.8.8.8 (Loopback0), len 60, input feature, MCI Check(64), rtype 2, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*May 27 09:16:49.371: IP: s=192.168.20.121 (FastEthernet0/0), d=8.8.8.8 (Loopback0), len 60, output feature, CCE Output Classification(5), rtype 2, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*May 27 09:16:49.371: NAT: s=192.168.20.121->192.168.1.202, d=8.8.8.8 [19928]
*May 27 09:16:49.375: IP: s=192.168.1.202 (FastEthernet0/0), d=8.8.8.8 (Loopback0), len 60, output feature, Post-routing NAT Outside(17), rtype 2, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*May 27 09:16:49.375: IP: s=192.168.1.202 (FastEthernet0/0), d=8.8.8.8 (Loopback0), len 60, output feature, Stateful Inspection(20), rtype 2, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*May 27 09:16:49.375: IP: s=192.168.1.202 (FastEthernet0/0), d=8.8.8.8 (Loopback0), g=10.0.1.2, len 60, forward
*May 27 09:16:49.375: IP: s=192.168.1.202 (FastEthernet0/0), d=8.8.8.8 (Loopback0), len 60, sending full packet
*May 27 09:16:49.375: IP: s=192.168.1.202 (Loopback0), d=8.8.8.8, len 60, input feature, Stateful Inspection(4), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*May 27 09:16:49.375: IP: s=192.168.1.202 (Loopback0), d=8.8.8.8, len 60, input feature, Virtual Fragment Reassembly(21), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*May 27 09:16:49.375: IP: s=192.168.1.202 (Loopback0), d=8.8.8.8, len 60, input feature, Virtual Fragment Reassembly After IPSec Decryption(32), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*May 27 09:16:49.375: IP: s=192.168.1.202 (Loopback0), d=8.8.8.8, len 60, input feature, NAT Outside(53), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*May 27 09:16:49.375: IP: s=192.168.1.202 (Loopback0), d=8.8.8.8, len 60, input feature, MCI Check(64), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*May 27 09:16:49.375: IP: tableid=0, s=192.168.1.202 (Loopback0), d=8.8.8.8 (FastEthernet0/0), routed via RIB
*May 27 09:16:49.375: IP: s=192.168.1.202 (Loopback0), d=8.8.8.8 (FastEthernet0/0), len 60, output feature, NAT Inside(7), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*May 27 09:16:49.375: IP: s=192.168.1.202 (Loopback0), d=8.8.8.8 (FastEthernet0/0), len 60, output feature, Stateful Inspection(20), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*May 27 09:16:49.375: IP: s=192.168.1.202 (Loopback0), d=8.8.8.8 (FastEthernet0/0), g=192.168.1.1, len 60, forward
*May 27 09:16:49.375: IP: s=192.168.1.202 (Loopback0), d=8.8.8.8 (FastEthernet0/0), len 60, sending full packet
*May 27 09:16:50.375: IP: s=8.8.8.8 (FastEthernet0/0), d=192.168.1.202, len 60, input feature, Stateful Inspection(4), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*May 27 09:16:50.375: IP: s=8.8.8.8 (FastEthernet0/0), d=192.168.1.202, len 60, input feature, Virtual Fragment Reassembly(21), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*May 27 09:16:50.379: IP: s=8.8.8.8 (FastEthernet0/0), d=192.168.1.202, len 60, input feature, Virtual Fragment Reassembly After IPSec Decryption(32), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*May 27 09:16:50.379: IP: s=8.8.8.8 (FastEthernet0/0), d=192.168.1.202, len 60, input feature, Policy Routing(59), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*May 27 09:16:50.379: IP: s=8.8.8.8 (FastEthernet0/0), d=192.168.1.202, len 60, input feature, MCI Check(64), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*May 27 09:16:50.379: IP: tableid=0, s=8.8.8.8 (FastEthernet0/0), d=192.168.1.202 (FastEthernet0/0), routed via RIB
*May 27 09:16:50.379: IP: s=8.8.8.8 (FastEthernet0/0), d=192.168.1.202 (FastEthernet0/0), len 60, output feature, NAT Inside(7), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*May 27 09:16:50.379: IP: s=8.8.8.8 (FastEthernet0/0), d=192.168.1.202 (FastEthernet0/0), len 60, output feature, Stateful Inspection(20), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*May 27 09:16:50.379: IP: s=8.8.8.8 (FastEthernet0/0), d=192.168.1.202 (FastEthernet0/0), len 60, rcvd 3
*May 27 09:16:50.379: IP: s=8.8.8.8 (FastEthernet0/0), d=192.168.1.202, len 60, stop process pak for forus packet
========

  • NAT on a Stick на Cisco1841, !*! Николай_kv, 14:13 , 30-Май-11 (1)
    Как то у вас все построено через ...

    Если быть очень внимательным то у вас
    ip nat inside и ip nat outside местами перепутаны :)
    и уберите   ip virtual-reassembly  грузит процессор

    • NAT on a Stick на Cisco1841, !*! eydar, 18:00 , 30-Май-11 (2)
      > Как то у вас все построено через ...
      > Если быть очень внимательным то у вас
      > ip nat inside и ip nat outside местами перепутаны :)
      > и уберите   ip virtual-reassembly  грузит процессор

      Спасибо Николай! Я уже и сам дошел до того, чтобы поменять местами ip nat inside и ip nat outside. Правда методом тыка. :) И ЗАРАБОТАЛО! А почему вы решили, что роли NAT-интерфейсов перепутаны? Там же работает PBR, и по логике, все равно где делать inside, а где outside. Или я не прав?

      В примере №1 http://www.cisco.com/en/US/tech/tk648/tk361/technologies_tec... именно так все и прописано и вполне работоспособно (Ethernet-ip nat inside, loopback-ip nat outside).
      Да и сделав подобное на Cisco 2507 у меня все работало нормально.

      А построено все через ж... Согласен! )) Сначала я хотел сделать все без NAT. Но этот MTS-router почему-то не работает корректно, если на стороне LAN-интерфейса обращение идет ещё с какой-нибудь подсети, например с подсети 192.168.20.0/24. Причем маршрут на MTS-router-е правильно прописан на подсеть 192.168.20.0 через шлюз 192.168.1.100. И даже пинги бегают. Но авторизация на MTS-router-е не проходит и в Интернет он на те узлы не пускает. Подозреваю, что какие-то "скрытые" настройки безопасности.


      • NAT on a Stick на Cisco1841, !*! Николай_kv, 18:36 , 30-Май-11 (3)

        > Спасибо Николай! Я уже и сам дошел до того, чтобы поменять местами
        > ip nat inside и ip nat outside. Правда методом тыка. :)
        > И ЗАРАБОТАЛО! А почему вы решили, что роли NAT-интерфейсов перепутаны? Там
        > же работает PBR, и по логике, все равно где делать inside,
        > а где outside. Или я не прав?

        Включаем логику. приходит пакет на FastEthernet0/0 вместо того что бы уйти по дефаулту срабатывает роутмапа которая кидает его на интерфейс-петлю проходя через него срабатывает НАТ inside далее циска смотрит на пакет и находит ему подходящий маршрут (в вашем случае дефаул роут) тут срабатывает НАТ outside - срабатываеть правило НАТ пакет натиться и уходит в мир. Логичнее всего повесить inside/outside на одном интерфейсе :) но такой функционал (чуток по другому реализован) есть у Cisco ASA :)

        • NAT on a Stick на Cisco1841, !*! j_vw, 20:28 , 30-Май-11 (4)
          IMHO,
          А не проще докупить свич с DOT1Q за 30-100$ и не заниматься поисками workaround?
          По корректнее решение будет....

          • NAT on a Stick на Cisco1841, !*! eydar, 23:05 , 30-Май-11 (6)
            > IMHO,
            > А не проще докупить свич с DOT1Q за 30-100$ и не заниматься
            > поисками workaround?
            > По корректнее решение будет....

            Свитч конечно же проще будет купить, и в будущем обязательно купят, но из-за сложной бюрократической схемы на это потребуется значительный промежуток времени и согласований. Задача заключается в том, чтобы обеспечить резервирование по 3G уже сейчас, на переходный период. Речь идет не об одном, а о десятке удалённых филиалов.

        • NAT on a Stick на Cisco1841, !*! eydar, 22:58 , 30-Май-11 (5)
          >[оверквотинг удален]
          >> И ЗАРАБОТАЛО! А почему вы решили, что роли NAT-интерфейсов перепутаны? Там
          >> же работает PBR, и по логике, все равно где делать inside,
          >> а где outside. Или я не прав?
          > Включаем логику. приходит пакет на FastEthernet0/0 вместо того что бы уйти по
          > дефаулту срабатывает роутмапа которая кидает его на интерфейс-петлю проходя через него
          > срабатывает НАТ inside далее циска смотрит на пакет и находит ему
          > подходящий маршрут (в вашем случае дефаул роут) тут срабатывает НАТ outside
          > - срабатываеть правило НАТ пакет натиться и уходит в мир. Логичнее
          > всего повесить inside/outside на одном интерфейсе :) но такой функционал (чуток
          > по другому реализован) есть у Cisco ASA :)

          Николай, но также логично должно работать (и работает!) и следующая схема. Приходит пакет на FE0/0, натится по НАТ inside и редиректится на Loopback, где срабатывает NAT-outside и пакет по дефолтному маршруту уходит в Инет. Все это работает, о чём свидетельствует кусок лога, который я приложил. Проблема получается с обратным пакетом, когда тот возвращается "из мира". По идее здесь тоже должен сработать route-map и кинуть его на loopback, где он должен пронатится в обратном направлении и уйти через Fa0/0 обратно клиенту. Но, почему-то, этого не происходит. Забавно то, что та же конфигурация на Cisco2507 работает "на УРА", в точности подтверждая пример, приведённый в документе "NAT on a Stick" (смотри ссылку выше).
          Видимо сказывается особенность реализации NATа для версий IOS 11.3 и 12.4 (или особенность реализации для разных платформ железа).  




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру