Автор Тема: При NAT теряются пакеты  (Прочитано 15879 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ssergey

  • Jr. Member
  • **
  • Сообщений: 73
  • Karma: +0/-0
При NAT теряются пакеты
« : Мая 09, 2013, 02:07:37 pm »
Доброго времени!
Обнаружил что роутер начинает терять пакеты при включенном NAT. Я не знаю с чем это связано, но на всякий случай прилагаю конфиг и инфу по прошивке
Вроде всё работает но постоянно 1 пакет при пинге пропадает (если пинговать с хоста VirtualBox). При отключенном нате проблем нет
Есть след. предположения
  • что-то не доделал или накосячил
  • ошибка виртуализации
  • косяк прошивки
!
!
version 12.4
service timestamps debug datetime localtime
service timestamps log datetime localtime
service password-encryption
!
hostname R01x02
!
boot-start-marker
boot-end-marker
!
logging buffered 51200 notifications
no logging console
!
aaa new-model
!
!
aaa authentication login default local
!
!
aaa session-id common
memory-size iomem 5
clock timezone MSK 4
rlogin trusted-remoteuser-source local
rlogin trusted-localuser-source local
ip cef
!
!
!
!
ip domain list serg.ru
ip domain list net.ru
ip host inet.serg.ru 195.0.1.2
ip host serg.ru ns ns.serg.ru
ip host router.serg.ru 195.0.1.7
ip host sergey.serg.ru 195.0.1.3
ip host ns.serg.ru 195.0.1.7
ip host net.ru ns ns.net.ru
ip host server.net.ru 10.10.10.3
ip host ns.net.ru 10.10.10.2
ip host gate.net.ru 10.10.10.2
ip name-server 127.0.0.1
ip name-server 195.0.1.2
!
multilink bundle-name authenticated
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
username sergey privilege 15 password 7 04480E14082455
archive
 log config
  logging enable
  notify syslog contenttype plaintext
  hidekeys
 path tftp://195.0.1.3/$H
!
!
!
!
ip ssh time-out 60
ip ssh authentication-retries 2
no ip rcmd domain-lookup
ip rcmd rcp-enable
ip rcmd rsh-enable
ip rcmd remote-host sergey 195.0.1.3 sergey enable
!
!
!
!
interface FastEthernet0/0
 description --==Connection to WAN==--
 ip address 195.0.1.7 255.255.255.0
 ip nat outside
 ip virtual-reassembly
 speed 100
 full-duplex
!
interface FastEthernet0/1
 description --==Connection to LAN==--
 ip address 10.10.10.2 255.255.255.0
 ip nat inside
 ip virtual-reassembly
 speed 100
 full-duplex
!
ip forward-protocol nd
ip route 0.0.0.0 0.0.0.0 195.0.1.2
!
!
no ip http server
no ip http secure-server
ip dns server
ip dns primary serg.ru soa ns.serg.ru postmaster.serg.ru 21600 900 7776000 86400
ip dns primary net.ru soa ns.net.ru postmaster.net.ru 21600 900 7776000 86400
ip dns spoofing
ip nat pool NAT-POOL 195.0.1.7 195.0.1.7 netmask 255.255.255.0
ip nat inside source list NAT-INET pool NAT-POOL overload
ip nat inside source static tcp 10.10.10.3 22 195.0.1.7 22 extendable
ip nat inside source static tcp 10.10.10.3 80 195.0.1.7 80 extendable
!
ip access-list extended NAT-INET
 remark --==Network Address Translation==--
 permit ip 10.10.10.0 0.0.0.255 any
!
access-list 1 remark --==NTP Servers==--
access-list 1 permit 91.198.10.20
access-list 1 permit 62.149.2.1
access-list 1 deny   any
access-list 2 remark --==NTP Clients==--
access-list 2 permit 10.10.10.0 0.0.0.255
access-list 2 deny   any
snmp-server community public RO
snmp-server community write RW
!
!
!
!
!
!
control-plane
!
!
!
!
!
!
!
!
!
!
line con 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
line aux 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
line vty 0 4
 exec-timeout 0 0
 privilege level 15
 logging synchronous
 transport input telnet ssh
!
ntp clock-period 17179912
ntp source FastEthernet0/0
ntp access-group peer 1
ntp access-group serve 2
ntp server 62.149.2.1
ntp server 91.207.136.55
!
end

R01x02#sh version
Cisco IOS Software, 3700 Software (C3725-ADVENTERPRISEK9-M), Version 12.4(15)T14, RELEASE SOFTWARE (fc2)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2010 by Cisco Systems, Inc.
Compiled Tue 17-Aug-10 12:08 by prod_rel_team

ROM: ROMMON Emulation Microcode
ROM: 3700 Software (C3725-ADVENTERPRISEK9-M), Version 12.4(15)T14, RELEASE SOFTWARE (fc2)

R01x02 uptime is 16 minutes
System returned to ROM by unknown reload cause - suspect boot_data[BOOT_COUNT] 0x0, BOOT_COUNT 0, BOOTDATA 19
System image file is "tftp://255.255.255.255/unknown"


This product contains cryptographic features and is subject to United
States and local country laws governing import, export, transfer and
use. Delivery of Cisco cryptographic products does not imply
third-party authority to import, export, distribute or use encryption.
Importers, exporters, distributors and users are responsible for
compliance with U.S. and local country laws. By using this product you
agree to comply with applicable laws and regulations. If you are unable
to comply with U.S. and local laws, return this product immediately.

A summary of U.S. laws governing Cisco cryptographic products may be found at:
http://www.cisco.com/wwl/export/crypto/tool/stqrg.html

If you require further assistance please contact us by sending email to
export@cisco.com.

Cisco 3725 (R7000) processor (revision 0.1) with 291840K/15360K bytes of memory.
Processor board ID FTX0945W0MY
R7000 CPU at 240MHz, Implementation 39, Rev 2.1, 256KB L2, 512KB L3 Cache
2 FastEthernet interfaces
DRAM configuration is 64 bits wide with parity enabled.
55K bytes of NVRAM.
16384K bytes of ATA System CompactFlash (Read/Write)

Configuration register is 0x2102

Оффлайн Al

  • Administrator
  • Sr. Member
  • *****
  • Сообщений: 319
  • Karma: +9/-0
  • Алексей Николаев
    • LearnCisco.Ru
Re: При NAT теряются пакеты
« Ответ #1 : Мая 10, 2013, 05:38:04 pm »
Это нормально, первый пакет icmp при пинге обычно должен пропадать, это связано с работой arp протокола. Если пингуемого хоста еще нет в таблице arp, то первый пакет пропадает.

В это время отработает arp и сделает привязку MAC к IP пингуемого хосста. Все последующие пакеты дальше пойдут нормально. Это не связано ни с эмуляцией, ни с nat. На реальном оборудовании такая же картина.

Оффлайн ssergey

  • Jr. Member
  • **
  • Сообщений: 73
  • Karma: +0/-0
Re: При NAT теряются пакеты
« Ответ #2 : Мая 10, 2013, 05:58:33 pm »
То о чём Вы говорите я знаю.
В том то и дело что 1 пакет пинга теряется постоянно. Даже если пинговать один и тот же хост с минимальной задержкой (1-2 сек между запусками пинга).
А вот это уже не вписывается в мой уровень знаний. Поэтому и спросил.

Добавлено
Пинги с роутера ходят нормально, а вот через роутер с виртуальной тачки с такими приколами.
Так же замечена слишком низкая с Скорость (примерно 70 KB/C).
Я не понимаю что со стендом твориться.
« Последнее редактирование: Мая 10, 2013, 10:08:41 pm от ssergey »

Оффлайн Al

  • Administrator
  • Sr. Member
  • *****
  • Сообщений: 319
  • Karma: +9/-0
  • Алексей Николаев
    • LearnCisco.Ru
Re: При NAT теряются пакеты
« Ответ #3 : Мая 11, 2013, 12:18:43 pm »
Адрес WAN интерфейса 195.0.1.7 используется в качестве пула для трансляции (NAT-POOL). Более правильно тогда воспользоваться трансляцией в интерфейс:

ip nat inside source list NAT-INET int fa0/0 overload

На PIX и ASA, например, конструкция, где в качестве пула указан адрес интерфейса, проглатывается, но не работает вообще.

Оффлайн ssergey

  • Jr. Member
  • **
  • Сообщений: 73
  • Karma: +0/-0
Re: При NAT теряются пакеты
« Ответ #4 : Мая 11, 2013, 12:19:29 pm »
Пинг с виртуалки на интернет шлюз  длинна пакета 1500
[11:10]root@srv[/root]# ping -s 1500 195.0.1.2
PING 195.0.1.2 (195.0.1.2): 1500 data bytes
1508 bytes from 195.0.1.2: icmp_seq=0 ttl=63 time=67.823 ms
1508 bytes from 195.0.1.2: icmp_seq=1 ttl=63 time=55.953 ms
1508 bytes from 195.0.1.2: icmp_seq=2 ttl=63 time=55.330 ms

--- 195.0.1.2 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 55.330/59.702/67.823/5.748 ms

Пинг с виртуалки на интернет шлюз  стандартная длинна пакета
[11:11]root@srv[/root]# ping 195.0.1.2
PING 195.0.1.2 (195.0.1.2): 56 data bytes
64 bytes from 195.0.1.2: icmp_seq=1 ttl=63 time=25.253 ms
64 bytes from 195.0.1.2: icmp_seq=2 ttl=63 time=22.596 ms

--- 195.0.1.2 ping statistics ---
3 packets transmitted, 2 packets received, 33.3% packet loss
round-trip min/avg/max/stddev = 22.596/23.925/25.253/1.328 ms

Оффлайн ssergey

  • Jr. Member
  • **
  • Сообщений: 73
  • Karma: +0/-0
Re: При NAT теряются пакеты
« Ответ #5 : Мая 11, 2013, 12:21:37 pm »
Адрес WAN интерфейса 195.0.1.7 используется в качестве пула для трансляции (NAT-POOL). Более правильно тогда воспользоваться трансляцией в интерфейс:

ip nat inside source list NAT-INET int fa0/0 overload
...

Так и было изначально

Оффлайн Al

  • Administrator
  • Sr. Member
  • *****
  • Сообщений: 319
  • Karma: +9/-0
  • Алексей Николаев
    • LearnCisco.Ru
Re: При NAT теряются пакеты
« Ответ #6 : Мая 11, 2013, 12:35:58 pm »
Тогда потребуется "Искусство Траблшутинга", с применением WireShark, анализом прохождения L2 фреймов и L3 пакетов.

Надеюсь, что сам GNS3, IDLEPC и прочие параметры настроены оптимально и не являются исходной проблемой.


P.S.
Максимальный размер пакета в 1500 лучше не ставить, все же связи между интерфейсами идут через эмуляцию, переупаковку в UDP датаграммы, что и ведет к дополнительной искусственной дефрагментации с потерей скорости и производительности.
« Последнее редактирование: Мая 11, 2013, 12:50:36 pm от Al »

Оффлайн ssergey

  • Jr. Member
  • **
  • Сообщений: 73
  • Karma: +0/-0
Re: При NAT теряются пакеты
« Ответ #7 : Мая 11, 2013, 01:55:45 pm »
так пинг  в 1500 проходит без потерь.  логики не вижу

А на счёт Правильности подключения виртуалки действительно уверенности нет

попытался ограничить MTU во FreeBsd до 1450 - результат тот же
« Последнее редактирование: Мая 11, 2013, 02:38:54 pm от ssergey »

Оффлайн ssergey

  • Jr. Member
  • **
  • Сообщений: 73
  • Karma: +0/-0
Re: При NAT теряются пакеты
« Ответ #8 : Мая 11, 2013, 06:48:14 pm »
я цеплял роутер на сетевое подключение хостовой машины. сколько в инете не копался не смог найти подобного варианта, а с адаптером "замыкатель на себя" тоже не сладко (режим 10mb/c). Причина может быть здесь.
Если пинги с виртуалки проходят нормально до внешнего интерфейса циски то может быть дело в сетевой конфигурации хост-машины
поигрался с  IDLEPC результат как-то не радует

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

Оффлайн Al

  • Administrator
  • Sr. Member
  • *****
  • Сообщений: 319
  • Karma: +9/-0
  • Алексей Николаев
    • LearnCisco.Ru
Re: При NAT теряются пакеты
« Ответ #9 : Мая 12, 2013, 12:10:37 pm »
Добавил бы еще, что многих проблем с эмуляцией можно избежать, запуская стабильную версию GNS3 (на сегодняшний день это версия 0.8.3.1).

Не стоит без реальной необходимости пользоваться кандидатами на релиз RC (например, такими как GNS3 0.8.4 RC1 - RC3).

P.S.
Топологии со стыковкой реального оборудования (маршрутизатора, коммутатора с транковым портом или VLAN) через физическую сетевую карту хоста прекрасно работают. Не стоит конечно расчитывать, что скорости передачи будут как на реальном оборудовании и не будет глюков с пропаданием пакетов. Но в принципе все работает адекватно.

Я наблюдал так же и зависимость от типа CPU хоста, то что прекрасно работало на AMD отказывалось запускаться на Intel, а иногда и наоборот....

Оффлайн ssergey

  • Jr. Member
  • **
  • Сообщений: 73
  • Karma: +0/-0
Re: При NAT теряются пакеты
« Ответ #10 : Мая 12, 2013, 03:53:15 pm »
Добавил бы еще, что многих проблем с эмуляцией можно избежать, запуская стабильную версию GNS3 (на сегодняшний день это версия 0.8.3.1).

Не стоит без реальной необходимости пользоваться кандидатами на релиз RC (например, такими как GNS3 0.8.4 RC1 - RC3).

P.S.
Топологии со стыковкой реального оборудования (маршрутизатора, коммутатора с транковым портом или VLAN) через физическую сетевую карту хоста прекрасно работают. Не стоит конечно расчитывать, что скорости передачи будут как на реальном оборудовании и не будет глюков с пропаданием пакетов. Но в принципе все работает адекватно.

Я наблюдал так же и зависимость от типа CPU хоста, то что прекрасно работало на AMD отказывалось запускаться на Intel, а иногда и наоборот....

так всё делается так как вы пишете
использую  GNS3 0.8.3.1
CPU хоста  - AMD
правда система - WIN7 x64 максимальная

нигде не могу найти верную инструкцию по настройке стыковки VIRTUALBOX с GNS3
на текущий момент видел наверно варианта 3 (минимум)

А задержки внутри виртуалиной сети все же выше чем в реальной
пингую с виртуалки внутренний интерфейс циски
[13:20]root@srv[/root]# ping 10.10.10.2
PING 10.10.10.2 (10.10.10.2): 56 data bytes
64 bytes from 10.10.10.2: icmp_seq=0 ttl=255 time=36.627 ms
64 bytes from 10.10.10.2: icmp_seq=1 ttl=255 time=27.209 ms
64 bytes from 10.10.10.2: icmp_seq=2 ttl=255 time=25.479 ms
64 bytes from 10.10.10.2: icmp_seq=3 ttl=255 time=39.220 ms
64 bytes from 10.10.10.2: icmp_seq=4 ttl=255 time=29.039 ms
64 bytes from 10.10.10.2: icmp_seq=5 ttl=255 time=25.134 ms
64 bytes from 10.10.10.2: icmp_seq=6 ttl=255 time=32.827 ms
64 bytes from 10.10.10.2: icmp_seq=7 ttl=255 time=29.874 ms
64 bytes from 10.10.10.2: icmp_seq=8 ttl=255 time=22.170 ms
64 bytes from 10.10.10.2: icmp_seq=9 ttl=255 time=31.387 ms
64 bytes from 10.10.10.2: icmp_seq=10 ttl=255 time=30.236 ms
64 bytes from 10.10.10.2: icmp_seq=11 ttl=255 time=18.342 ms
64 bytes from 10.10.10.2: icmp_seq=12 ttl=255 time=34.065 ms
64 bytes from 10.10.10.2: icmp_seq=13 ttl=255 time=28.748 ms
64 bytes from 10.10.10.2: icmp_seq=14 ttl=255 time=27.345 ms
64 bytes from 10.10.10.2: icmp_seq=15 ttl=255 time=23.222 ms
64 bytes from 10.10.10.2: icmp_seq=16 ttl=255 time=23.963 ms
^C
--- 10.10.10.2 ping statistics ---
17 packets transmitted, 17 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 18.342/28.523/39.220/5.198 ms
а теперь с хост машины внешний интерфейс циски
C:\Users\sergey>ping 195.0.1.7

Обмен пакетами с 195.0.1.7 по с 32 байтами данных:
Ответ от 195.0.1.7: число байт=32 время=23мс TTL=255
Ответ от 195.0.1.7: число байт=32 время=34мс TTL=255
Ответ от 195.0.1.7: число байт=32 время=16мс TTL=255
Ответ от 195.0.1.7: число байт=32 время=25мс TTL=255

Статистика Ping для 195.0.1.7:
    Пакетов: отправлено = 4, получено = 4, потеряно = 0
    (0% потерь)
Приблизительное время приема-передачи в мс:
    Минимальное = 16мсек, Максимальное = 34 мсек, Среднее = 24 мсек

а это пинг адреса VirtualBox Host-Only Network #2
ping 10.10.10.1
PING 10.10.10.1 (10.10.10.1): 56 data bytes
64 bytes from 10.10.10.1: icmp_seq=0 ttl=64 time=3.493 ms
64 bytes from 10.10.10.1: icmp_seq=1 ttl=64 time=0.303 ms
64 bytes from 10.10.10.1: icmp_seq=2 ttl=64 time=0.270 ms
64 bytes from 10.10.10.1: icmp_seq=3 ttl=64 time=0.615 ms
64 bytes from 10.10.10.1: icmp_seq=4 ttl=64 time=0.472 ms
64 bytes from 10.10.10.1: icmp_seq=5 ttl=64 time=0.986 ms
64 bytes from 10.10.10.1: icmp_seq=6 ttl=64 time=0.649 ms
64 bytes from 10.10.10.1: icmp_seq=7 ttl=64 time=1.150 ms
64 bytes from 10.10.10.1: icmp_seq=8 ttl=64 time=0.606 ms
64 bytes from 10.10.10.1: icmp_seq=9 ttl=64 time=0.652 ms
64 bytes from 10.10.10.1: icmp_seq=10 ttl=64 time=0.790 ms
^C
--- 10.10.10.1 ping statistics ---
11 packets transmitted, 11 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.270/0.908/3.493/0.855 ms