Jump to content
Калькуляторы

Не маршрутизируются подсети, не пойму почему

Есть каталист 3750 (C3750G-12S).

На него с транков сходится несколько VLAN.

Есть VLAN 20, в котором сидят различные сервера.

Есть VLAN 902, в котором сидят другие устройства, которым иногда нужно обращаться к серверам.

Шлюзом по умолчанию для устройств в подсетях являются соответствующие SVI.

interface Vlan10
ip address 10.1.10.250 255.255.255.0
!
interface Vlan20
ip address 10.1.128.250 255.255.255.0
!         
interface Vlan201
ip address 10.1.3.5 255.255.255.252
!
interface Vlan902
ip address 10.102.0.250 255.255.0.0
!
ip classless
ip route 0.0.0.0 0.0.0.0 10.1.3.6
ip route 10.0.0.0 255.0.0.0 Null0
ip route 10.0.0.0 255.255.0.0 10.1.3.6

 

Список активных маршрутов (во фрагменте конфигурации выше я убрал не относящееся к делу):

#sh ip route

Gateway of last resort is 10.1.3.6 to network 0.0.0.0

    10.0.0.0/8 is variably subnetted, 18 subnets, 5 masks
C       10.1.11.0/24 is directly connected, Vlan10
C       10.1.3.8/30 is directly connected, Vlan202
C       10.1.10.0/24 is directly connected, Vlan10
C       10.1.3.12/30 is directly connected, Vlan209
C       10.1.13.0/24 is directly connected, Vlan10
C       10.1.12.0/24 is directly connected, Vlan10
C       10.1.3.0/30 is directly connected, Vlan200
S       10.0.0.0/16 [1/0] via 10.1.3.6
S       10.0.0.0/8 is directly connected, Null0
S       10.1.255.255/32 [1/0] via 10.1.3.1
C       10.1.3.4/30 is directly connected, Vlan201
S       10.1.255.250/32 [1/0] via 10.1.3.6
S       10.1.255.251/32 [1/0] via 10.1.3.10
C       10.102.0.0/16 is directly connected, Vlan902
C       10.1.128.0/24 is directly connected, Vlan20
S       10.1.255.100/32 [1/0] via 10.1.3.14
S       10.1.144.0/24 [1/0] via 10.1.3.14
C       10.1.255.0/32 is directly connected, Loopback0
S*   0.0.0.0/0 [1/0] via 10.1.3.6

 

В конфигурации у меня есть 10/8 в null, но также у меня есть и более специфичный connect-маршрут 10.102/16.

Однако подсети 10.1.128.0/24 и 10.102.0.0/16 друг друга не пингуют. Хотя 10.102.0.0/16 пингует 10.1.128.250, а 10.1.128.0/24 пингует 10.102.0.250.

То есть обе подсети видят каталист, который является шлюзом для них, но не видят друг друга.

Что я упустил?

Share this post


Link to post
Share on other sites

Есть каталист 3750 (C3750G-12S).

На него с транков сходится несколько VLAN.

Есть VLAN 20, в котором сидят различные сервера.

Есть VLAN 902, в котором сидят другие устройства, которым иногда нужно обращаться к серверам.

Шлюзом по умолчанию для устройств в подсетях являются соответствующие SVI.

interface Vlan10
ip address 10.1.10.250 255.255.255.0
!
interface Vlan20
ip address 10.1.128.250 255.255.255.0
!         (
interface Vlan201
ip address 10.1.3.5 255.255.255.252
!
interface Vlan902
ip address 10.102.0.250 255.255.0.0
!
ip classless
ip route 0.0.0.0 0.0.0.0 10.1.3.6
ip route 10.0.0.0 255.0.0.0 Null0
ip route 10.0.0.0 255.255.0.0 10.1.3.6

 

Список активных маршрутов (во фрагменте конфигурации выше я убрал не относящееся к делу):

#sh ip route

Gateway of last resort is 10.1.3.6 to network 0.0.0.0

    10.0.0.0/8 is variably subnetted, 18 subnets, 5 masks
C       10.1.11.0/24 is directly connected, Vlan10
C       10.1.3.8/30 is directly connected, Vlan202
C       10.1.10.0/24 is directly connected, Vlan10
C       10.1.3.12/30 is directly connected, Vlan209
C       10.1.13.0/24 is directly connected, Vlan10
C       10.1.12.0/24 is directly connected, Vlan10
C       10.1.3.0/30 is directly connected, Vlan200
S       10.0.0.0/16 [1/0] via 10.1.3.6
S       10.0.0.0/8 is directly connected, Null0
S       10.1.255.255/32 [1/0] via 10.1.3.1
C       10.1.3.4/30 is directly connected, Vlan201
S       10.1.255.250/32 [1/0] via 10.1.3.6
S       10.1.255.251/32 [1/0] via 10.1.3.10
C       10.102.0.0/16 is directly connected, Vlan902
C       10.1.128.0/24 is directly connected, Vlan20
S       10.1.255.100/32 [1/0] via 10.1.3.14
S       10.1.144.0/24 [1/0] via 10.1.3.14
C       10.1.255.0/32 is directly connected, Loopback0
S*   0.0.0.0/0 [1/0] via 10.1.3.6

 

В конфигурации у меня есть 10/8 в null, но также у меня есть и более специфичный connect-маршрут 10.102/16.

Однако подсети 10.1.128.0/24 и 10.102.0.0/16 друг друга не пингуют. Хотя 10.102.0.0/16 пингует 10.1.128.250, а 10.1.128.0/24 пингует 10.102.0.250.

То есть обе подсети видят каталист, который является шлюзом для них, но не видят друг друга.

Что я упустил?

 

ip routing?

Default gw на машинах?

Alias/routes на машинах?

Share this post


Link to post
Share on other sites

Файрволы на машинах отключите

Share this post


Link to post
Share on other sites

ip routing?

Разумеется.

 

Default gw на машинах?

Для подсети 10.102/16 шлюзом указан 10.102.0.250.

Для подсети 10.1.128/24 шлюзом указан 10.1.128.250.

 

Alias/routes на машинах?

На каталисте есть secondary-адреса, но не на этих интерфейсах.

Да и если бы дело было в этом, я бы не не смог пинговать 10.1.128.250 из 10.102/16 или 10.102.0.250 из 10.1.128/24.

 

И какие маски на машинах в этих сегментах?

Маски правильные.

 

Файрволы на машинах отключите

Проверю, но маловероятно. Я разрешал на серверах доступ из 10.102/16. А в 10.102/16 файрвола вообще нет, это не компьютеры.

Share this post


Link to post
Share on other sites

Странно. Пять минут назад пинги ходили (в одном направлении), правда неровные (от 0 до 50 мс).

На серверах разрешены пинги отовсюду (типы пакетов 0, 3, 8).

Запускаю на сервере (10.1.128.11) tcpdump, с 10.102.0.240 пингую 10.1.128.11 — в дампе вижу ping-запросы. Но на 10.102.0.240 таймауты.

С 10.1.128.11 пингую 10.102.0.240 — пинги проходят.

10.102.0.240 — это не настроенный каталист, в котором только создан SVI. Никаких ACL нет.

 

Сейчас пинги с 10.1.128/24 на 10.102/16 не ходят, в tcpdump пусто.

Share this post


Link to post
Share on other sites

Если попробовать

 

ping 10.1.128.11 source vlan902

 

Ну и наоборот

 

ping 10.102.0.240 source vlan20

 

При этом можно включить:

 

debug ip icmp

 

А так же полный конфиг коммутатора, если не трудно.

Edited by amozzhevilov

Share this post


Link to post
Share on other sites

Похоже проблема где-то здесь.

 

Сервер 10.1.128.11:

# ifconfig
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
       options=219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC>
       ether 00:25:90:34:4e:e6
       inet 10.1.128.11 netmask 0xffffff00 broadcast 10.1.128.255
       media: Ethernet autoselect (1000baseT <full-duplex>)
       status: active
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
       options=219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC>
       ether 00:25:90:34:4e:e7
       inet xx.xx.124.1 netmask 0xffffff80 broadcast xx.xx.124.127
       inet xx.xx.124.110 netmask 0xffffffff broadcast xx.xx.124.110
       media: Ethernet autoselect (1000baseT <full-duplex>)
       status: active

# netstat -nr
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            xx.xx.124.126      UGS    653318 251443729   em1
10.0.0.0/8         10.1.128.250       UGS    403033 569660795   em0
10.1.128.0/24      link#1             U        3478 18130979    em0
10.1.128.11        link#1             UHS         0       42    lo0
127.0.0.1          link#3             UH          0 53006630    lo0
xx.xx.124.0/25     link#2             U         252   687766    em1 =>
xx.xx.124.0/22     xx.xx.124.126      UGS     86859 78190363    em1
xx.xx.124.1        link#2             UHS         0    14735    lo0
xx.xx.124.110      link#2             UHS         0    13733    lo0 =>
xx.xx.124.110/32   link#2             U           0        0    em1

# cat rc.conf
...
ifconfig_em0="inet 10.1.128.11    netmask 255.255.255.0"
ifconfig_em1="inet xx.xx.124.1    netmask 255.255.255.128"
ifconfig_em1_alias0="inet xx.xx.124.110 netmask 255.255.255.255"
static_routes="int ext wan"
route_int="-net 10.0.0.0/8        10.1.128.250"
route_ext="-net xx.xx.124.0/22    xx.xx.124.126"
route_wan="     default           xx.xx.124.126"
gateway_enable="NO"
router_enable="NO"
...

# cat pf.conf
...
pass in  inet proto icmp all icmp-type { 0 3 8 } keep state
pass out inet proto icmp all icmp-type { 0 3 8 } keep state
...

 

Каталист:

ip subnet-zero
ip routing
!
interface Vlan10
ip address 10.1.11.250 255.255.255.0 secondary
ip address 10.1.12.250 255.255.255.0 secondary
ip address 10.1.13.250 255.255.255.0 secondary
ip address 10.1.10.250 255.255.255.0
!
interface Vlan20
ip address 10.1.128.250 255.255.255.0
!         
interface Vlan200
ip address 10.1.3.2 255.255.255.252
!
interface Vlan201
ip address 10.1.3.5 255.255.255.252
!
interface Vlan202
ip address 10.1.3.9 255.255.255.252
!
interface Vlan209
ip address 10.1.3.13 255.255.255.252
!
interface Vlan902
ip address 10.102.0.250 255.255.0.0
no ip redirects
no ip unreachables
no ip proxy-arp
!
ip classless
ip route 0.0.0.0 0.0.0.0 10.1.3.6
ip route 10.0.0.0 255.0.0.0 Null0
ip route 10.0.0.0 255.255.0.0 10.1.3.6
ip route 10.1.144.0 255.255.255.0 10.1.3.14
ip route 10.1.255.100 255.255.255.255 10.1.3.14
ip route 10.1.255.250 255.255.255.255 10.1.3.6
ip route 10.1.255.251 255.255.255.255 10.1.3.10
ip route 10.1.255.255 255.255.255.255 10.1.3.1

 

Если с каталиста пингую сервер (ping 10.1.128.11 source 10.102.0.250), то ответов нет, хотя пинги на сервер доходят.

С сервера каталист пингуется (ping -S 10.1.128.11 10.102.0.250).

Мне кажется, что проблема не на сервере, а именно на каталисте. Только не пойму, где именно.

 

amozzhevilov, пинги не проходят, в обоих случаях.

Дебаг включил, в дебаге пусто.

Share this post


Link to post
Share on other sites

С сервера каталист пингуется (ping -S 10.1.128.11 10.102.0.250).

А если просто ping 10.102.0.250 - проходит?

А ping 10.1.128.250 проходит?

На сервере NAT?

Почему DG на каталисте и сервере разные?

Как пакеты с каталиста могут попасть на сетки что на е1 сервера?

Share this post


Link to post
Share on other sites

pfctl -d наверное для начала стоило бы.

 

И прокси-арп вам точно нужен на всех оставшихся SVI 3750?

Share this post


Link to post
Share on other sites

Может быть проблема в привязке SVI к физическим интерфейсам?

 

Ну а так же:

 

sh ip int br
sh vlan br

Share this post


Link to post
Share on other sites

Оказывается накосячил я в файрволе все-таки.

Было у меня такое правило:

block drop in log quick on $if_int from !$net_own to any

А в $net_own я новую подсеть добавить забыл.

 

Сейчас ping 10.1.128.11 source 10.102.0.250 с каталиста проходит.

Но с других хостов подсети 10.102/16 не пингуется, до сервера запросы не доходят.

 

Ну а так же

#sh ip int brief 
Interface              IP-Address      OK? Method Status                Protocol
Vlan1                  unassigned      YES NVRAM  administratively down down    
Vlan10                 10.1.10.250     YES NVRAM  up                    up      
Vlan20                 10.1.128.250    YES NVRAM  up                    up      
Vlan200                10.1.3.2        YES NVRAM  up                    up      
Vlan201                10.1.3.5        YES NVRAM  up                    up      
Vlan202                10.1.3.9        YES NVRAM  up                    up      
Vlan209                10.1.3.13       YES NVRAM  up                    up      
Vlan902                10.102.0.250    YES manual up                    up      
GigabitEthernet1/0/1   unassigned      YES unset  administratively down down    
GigabitEthernet1/0/2   unassigned      YES unset  administratively down down    
GigabitEthernet1/0/3   unassigned      YES unset  up                    up      
GigabitEthernet1/0/4   unassigned      YES unset  up                    up      
GigabitEthernet1/0/5   unassigned      YES unset  administratively down down    
GigabitEthernet1/0/6   unassigned      YES unset  administratively down down    
GigabitEthernet1/0/7   unassigned      YES unset  up                    up      
GigabitEthernet1/0/8   unassigned      YES unset  up                    up      
GigabitEthernet1/0/9   unassigned      YES unset  up                    up      
GigabitEthernet1/0/10  unassigned      YES unset  up                    up      
GigabitEthernet1/0/11  unassigned      YES unset  up                    up      
GigabitEthernet1/0/12  unassigned      YES unset  up                    up      
Port-channel1          unassigned      YES unset  up                    up      
Port-channel2          unassigned      YES unset  up                    up      
Port-channel3          unassigned      YES unset  up                    up      
Loopback0              10.1.255.0      YES NVRAM  up                    up      

#sh vlan brief 

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Gi1/0/1, Gi1/0/2, Gi1/0/5, Gi1/0/6
10   MGMT                             active    
20   SVC                              active    
60   IPTV                             active    
100  INET                             active    
200  L2-CORE                          active    
201  L2-BRAS00                        active    
202  L2-BRAS01                        active    
209  L2-CTL                           active    
390  VPN-IPTV                         active    
399  VPN-OMEGA                        active    
900  HOTSPOT                          active    
901  VLAN0901                         active    
902  SVC-IPCAMS                       active    
1002 fddi-default                     act/unsup 
1003 token-ring-default               act/unsup 
1004 fddinet-default                  act/unsup 
1005 trnet-default                    act/unsup 

 

Почему DG на каталисте и сервере разные?

Для сервера шлюзом является каталист.

А у каталиста свой шлюз, транспортный сегмент /30 на ядро.

Share this post


Link to post
Share on other sites

Для сервера шлюзом является каталист.

А у каталиста свой шлюз, транспортный сегмент /30 на ядро.

А это

default xx.xx.124.126 UGS 653318 251443729 em1

куда смотрит?

 

Повторюсь.

с сервера ping 10.102.0.250 - проходит?

ping 10.1.128.250 проходит?

 

Как vlan-ы к портам каталитса прибиты и каким?

Почему

GigabitEthernet1/0/1 unassigned YES unset administratively down down

GigabitEthernet1/0/2 unassigned YES unset administratively down down

GigabitEthernet1/0/3 unassigned YES unset up up

GigabitEthernet1/0/4 unassigned YES unset up up

GigabitEthernet1/0/5 unassigned YES unset administratively down down

GigabitEthernet1/0/6 unassigned YES unset administratively down down

GigabitEthernet1/0/7 unassigned YES unset up up

GigabitEthernet1/0/8 unassigned YES unset up up

GigabitEthernet1/0/9 unassigned YES unset up up

GigabitEthernet1/0/10 unassigned YES unset up up

GigabitEthernet1/0/11 unassigned YES unset up up

GigabitEthernet1/0/12 unassigned YES unset up up

 

На этих портах что ли "no switchport" ? Куда вланы то привязаны? Если так то как вообще что то у вас работает

Edited by NikAlexAn

Share this post


Link to post
Share on other sites

Скорее всего порты каталиста настроены в транке, иначе бы в sh vlan brief отображались бы привязанные VLAN.

 

По 902 VLAN я бы проверил, что данный vlan настроен на access свитче, ну а так же, что передача данного vlan не запрещена.

Edited by amozzhevilov

Share this post


Link to post
Share on other sites

default xx.xx.124.126 UGS 653318 251443729 em1

На сервере два интерфейса, em0 подключен в каталист и обслуживает внутреннюю сеть, em1 подключен к другому оборудованию, на нем висят публичные сервисы.

Шлюзом по умолчанию назначен интернет-шлюз.

А чтобы в локальную сеть я не ходил через него, дописан маршрут "-net 10.0.0.0/8 10.1.128.250".

 

с сервера ping 10.102.0.250 - проходит?

ping 10.1.128.250 проходит?

Проходят оба.

 

Как vlan-ы к портам каталитса прибиты и каким?

У этого каталиста все порты транковые.

Сервера и остальное оборудование не подключается непосредственно к нему.

Они подключаются в другие L2-коммутаторы, на данном каталисте эти vlan сходятся.

 

По 902 VLAN я бы проверил, что данный vlan настроен на access свитче, ну а так же, что передача данного vlan не запрещена.

Я уже выше написал, проблема была в двух местах. Во-первых, на файрволе серверов я забыл разрешить подсеть 10.102/16 — было правило "block drop in log quick on $if_int from !$net_own to any", которое прибивало весь левый трафик, а в net_own я забыл добавить новую подсеть. Во-вторых, на 10.102.0.240 (это другой каталист) я по ошибке шлюз задавал так:

ip default-gateway 10.102.0.250

а надо было так:

ip route 0.0.0.0 0.0.0.0 10.102.0.250

 

И прокси-арп вам точно нужен на всех оставшихся SVI 3750?

Думаю что нет.

Он в каких случаях нужен? Сбриджевать разные сети?

Share this post


Link to post
Share on other sites

Т.е. проблема полностью решена?

 

Просто Вы писали, что

 

Сейчас ping 10.1.128.11 source 10.102.0.250 с каталиста проходит.

Но с других хостов подсети 10.102/16 не пингуется, до сервера запросы не доходят.

Share this post


Link to post
Share on other sites

Думаю что нет.

Он в каких случаях нужен? Сбриджевать разные сети?

 

В современном мире он ни в каких случаях не нужен.

Share this post


Link to post
Share on other sites

Т.е. проблема полностью решена?

Да, основная причина была все же в файрволе на серверах, и наложилось то, что я шлюз на втором каталисте указал неправильно.

Теперь все работает, спасибо.

 

В современном мире он ни в каких случаях не нужен.

Я такое и предполагал.

Правда странно, почему тогда proxy-arp по умолчанию включен.

Share this post


Link to post
Share on other sites

Правда странно, почему тогда proxy-arp по умолчанию включен.

 

Потому что циска это кусок анахронизма, который они вежливо называют legacy.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this