URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID6
Нить номер: 361
[ Назад ]

Исходное сообщение
"access-list next hope"

Отправлено alex shukur , 10-Дек-12 13:50 
Приветствую!
Помогите решить вопрос.
Есть циска 3750.

на ней прописан дефолт гетевэй и несколько vlan
мне нужно сделать так, чтобы был список хостов, у которых некст хоп будет другой.

Сделал так:

int vlan 2
ip policy route-map rule1

route-map rule1 permit 10
match ip address 105
set ip next-hop 192.168.0.2

ip route 0.0.0.0 0.0.0.0 192.168.0.1

Далее Access-list
По умолчанию с пустым листом пакеты идут на 192.168.0.2

Если пишем Access-List 105 permit бла бла бла ничего не меняется

Если пишем Access-List 105 deny ip any any то пакеты идут на 192.168.0.1
Но если я добавляю Access-List 105 permit ip host 192.168.0.10 бла бла, то правило не срабатывает, так как перед ним стоит deny выше.

Закрывать каждый хост по отдельности - не вариант, их много. Я хочу, чтобы по умолчанию пакеты ходили на 192.168.0.1, а те, которые добавлю в 105 лист должны ходить 192.168.0.2

Как это реализовать?


Содержание

Сообщения в этом обсуждении
"access-list next hope"
Отправлено GolDi , 10-Дек-12 16:21 
>[оверквотинг удален]
> По умолчанию с пустым листом пакеты идут на 192.168.0.2
> Если пишем Access-List 105 permit бла бла бла ничего не меняется
> Если пишем Access-List 105 deny ip any any то пакеты идут на
> 192.168.0.1
> Но если я добавляю Access-List 105 permit ip host 192.168.0.10 бла бла,
> то правило не срабатывает, так как перед ним стоит deny выше.
> Закрывать каждый хост по отдельности - не вариант, их много. Я хочу,
> чтобы по умолчанию пакеты ходили на 192.168.0.1, а те, которые добавлю
> в 105 лист должны ходить 192.168.0.2
> Как это реализовать?

Писать deny в самом конце а не в начале не пробывал?


"access-list next hope"
Отправлено alex shukur , 10-Дек-12 16:31 
>[оверквотинг удален]
>> Если пишем Access-List 105 permit бла бла бла ничего не меняется
>> Если пишем Access-List 105 deny ip any any то пакеты идут на
>> 192.168.0.1
>> Но если я добавляю Access-List 105 permit ip host 192.168.0.10 бла бла,
>> то правило не срабатывает, так как перед ним стоит deny выше.
>> Закрывать каждый хост по отдельности - не вариант, их много. Я хочу,
>> чтобы по умолчанию пакеты ходили на 192.168.0.1, а те, которые добавлю
>> в 105 лист должны ходить 192.168.0.2
>> Как это реализовать?
> Писать deny в самом конце а не в начале не пробывал?

я бы с радостью, но циска всегда новую запись создает внизу списка


"access-list next hope"
Отправлено spiegel , 10-Дек-12 17:56 
>[оверквотинг удален]
>>> Если пишем Access-List 105 deny ip any any то пакеты идут на
>>> 192.168.0.1
>>> Но если я добавляю Access-List 105 permit ip host 192.168.0.10 бла бла,
>>> то правило не срабатывает, так как перед ним стоит deny выше.
>>> Закрывать каждый хост по отдельности - не вариант, их много. Я хочу,
>>> чтобы по умолчанию пакеты ходили на 192.168.0.1, а те, которые добавлю
>>> в 105 лист должны ходить 192.168.0.2
>>> Как это реализовать?
>> Писать deny в самом конце а не в начале не пробывал?
> я бы с радостью, но циска всегда новую запись создает внизу списка

правильно было бы: access-list 105 permit ip host 192.168.0.10 any.
Но похоже с адресацией не все гладко. Выложите полностью config и топологию сети.


"access-list next hope"
Отправлено crash , 11-Дек-12 06:31 

>> Писать deny в самом конце а не в начале не пробывал?
> я бы с радостью, но циска всегда новую запись создает внизу списка

странная радость какая-то, покажите циске кто в доме хозяин.  
Значит удаляйте лист и создавайте новый, если вам надо будет новый хост добавить или используйте extended лист.



"access-list next hope"
Отправлено VolanD , 12-Дек-12 18:27 
>>> Писать deny в самом конце а не в начале не пробывал?
>> я бы с радостью, но циска всегда новую запись создает внизу списка
> странная радость какая-то, покажите циске кто в доме хозяин.
> Значит удаляйте лист и создавайте новый, если вам надо будет новый хост
> добавить или используйте extended лист.

А еще можно написать ip access-list standard 111 и редактировать правила без полного удаления списка...


"access-list next hope"
Отправлено alex shukur , 11-Дек-12 11:37 
>[оверквотинг удален]
> По умолчанию с пустым листом пакеты идут на 192.168.0.2
> Если пишем Access-List 105 permit бла бла бла ничего не меняется
> Если пишем Access-List 105 deny ip any any то пакеты идут на
> 192.168.0.1
> Но если я добавляю Access-List 105 permit ip host 192.168.0.10 бла бла,
> то правило не срабатывает, так как перед ним стоит deny выше.
> Закрывать каждый хост по отдельности - не вариант, их много. Я хочу,
> чтобы по умолчанию пакеты ходили на 192.168.0.1, а те, которые добавлю
> в 105 лист должны ходить 192.168.0.2
> Как это реализовать?

Решил ситуацию так:

route-map rule1 permit 10
match ip address 105
set ip default next-hop 192.168.0.1
!
route-map rule1 permit 20
set ip default next-hop 192.168.0.2
!

и главное в access листе хоть одну запись создать, permit или deny, иначе правило будет отрабатывать правило как permit any any


"access-list next hope"
Отправлено alex shukur , 11-Дек-12 15:24 
возникла следующая проблема по этому же вопросу, по маршрутизации.
происходит некий глюк...

схема такая:

                                                                                  |--router 10.0.0.1
                                                                                  |
----/server 192.168.0.1/----/Cicso 192.168.0.254 route-map*/--|
                                                                                  |
                                                                                  |--router 10.0.0.2 (NAT)

Сеть работает нормально, по умолчанию пакеты идут на 10.0.0.1. Нам нужно его маршрут сделать на 10.0.0.2. Прописываем адрес в аксес лист роут мап, пакеты отлично идут на 10.0.0.2, далее нам нужно его открыть доступ в NAT на выход в интернет. Как только добавляю адрес 192.168.0.1 в аксес лист для ната на 10.0.0.2, теряется связь с сетью, так как маршрут не правильно идет..
Странно, потому что если я убираю правило роут мап на 192.168.0.254 и прописываю статический маршрут, всё работает отлично. С чем это может быть связано?


"access-list next hope"
Отправлено crash , 12-Дек-12 06:44 
>[оверквотинг удален]
>     |--router 10.0.0.2 (NAT)
> Сеть работает нормально, по умолчанию пакеты идут на 10.0.0.1. Нам нужно его
> маршрут сделать на 10.0.0.2. Прописываем адрес в аксес лист роут мап,
> пакеты отлично идут на 10.0.0.2, далее нам нужно его открыть доступ
> в NAT на выход в интернет. Как только добавляю адрес 192.168.0.1
> в аксес лист для ната на 10.0.0.2, теряется связь с сетью,
> так как маршрут не правильно идет..
> Странно, потому что если я убираю правило роут мап на 192.168.0.254 и
> прописываю статический маршрут, всё работает отлично. С чем это может быть
> связано?

не совсем ясно что именно у вас пропадает и в какую сеть нет доступа. Вы как-то подробней опишите, какая сеть пропадает. И так же показать экцес лист не мешает.


"access-list next hope"
Отправлено crash , 12-Дек-12 06:42 

> и главное в access листе хоть одну запись создать, permit или deny,
> иначе правило будет отрабатывать правило как permit any any

если у вас нет правила, но у вас оно где-то указано, то оно все разрешает, потому что его же нет, поэтому пускает все подряд.


"access-list next hope"
Отправлено alex shukur , 12-Дек-12 09:09 
>> и главное в access листе хоть одну запись создать, permit или deny,
>> иначе правило будет отрабатывать правило как permit any any
> если у вас нет правила, но у вас оно где-то указано, то
> оно все разрешает, потому что его же нет, поэтому пускает все
> подряд.

После добавления в аксесс лист для ната на циске 10.0.0.2
access-list 100 permit ip host 192.168.0.1 any any

мониторю трасировку на сервере 192.168.0.1. Сервер теряет любые маршруты, и даже к своему шлюзу
то есть
ping 192.168.0.254
PING 192.168.0.254 (192.168.0.254) 56(84) bytes of data.
From 10.0.0.2 icmp_seq=1 Packet filtered
From 10.0.0.2 icmp_seq=3 Packet filtered

Соответственно, так как сервер не видит свой шлюз, у него пропадает сеть


"access-list next hope"
Отправлено crash , 12-Дек-12 09:57 
>[оверквотинг удален]
> После добавления в аксесс лист для ната на циске 10.0.0.2
> access-list 100 permit ip host 192.168.0.1 any any
> мониторю трасировку на сервере 192.168.0.1. Сервер теряет любые маршруты, и даже к
> своему шлюзу
> то есть
> ping 192.168.0.254
> PING 192.168.0.254 (192.168.0.254) 56(84) bytes of data.
> From 10.0.0.2 icmp_seq=1 Packet filtered
> From 10.0.0.2 icmp_seq=3 Packet filtered
> Соответственно, так как сервер не видит свой шлюз, у него пропадает сеть

вы бы полный конфиг привели, для нормального чтения. Вы уверены, что нат вешаете туда? Почем при пинги своего шлюза, вам отвечает 10.0.0.2?



"access-list next hope"
Отправлено alex shukur , 12-Дек-12 10:33 
>[оверквотинг удален]
>> мониторю трасировку на сервере 192.168.0.1. Сервер теряет любые маршруты, и даже к
>> своему шлюзу
>> то есть
>> ping 192.168.0.254
>> PING 192.168.0.254 (192.168.0.254) 56(84) bytes of data.
>> From 10.0.0.2 icmp_seq=1 Packet filtered
>> From 10.0.0.2 icmp_seq=3 Packet filtered
>> Соответственно, так как сервер не видит свой шлюз, у него пропадает сеть
> вы бы полный конфиг привели, для нормального чтения. Вы уверены, что нат
> вешаете туда? Почем при пинги своего шлюза, вам отвечает 10.0.0.2?

Естественно уверен, что добавляю адрес в список ната на выход в интернет. Ведь всё работает, если я прописываю статический маршрут на циску с натом. А именно через роут мап глюк происходит.


циска 3750 (гетевэй):
___________________________________________
int gi0/0
ip address 192.168.0.254 255.255.255.0
ip police route-map rule1

int gi0/1
ip address 10.0.0.254 255.255.255.0

route-map rule1 permit 10
match ip address 105
set ip default next-hop 10.0.0.2
!
route-map rule1 permit 20
set ip default next-hop 10.0.0.1
!

access list 105 permit ip host 192.168.0.1 any any
_____________________________________________

Циска 10.0.0.2 (Nat)

int gi0/0
ip address 172.0.0.1 255.255.255.0
ip nat outside

int gi0/1
ip address 10.0.0.2 255.255.255.0
ip nat inside

ip nat pool my-pool 172.0.0.1 172.0.0.1 netmask 255.255.255.255
ip nat inside source list 100 pool my-pool overload

access-list 100 permit ip host 192.168.0.1 any any

ip route 0.0.0.0 0.0.0.0 172.0.0.2
ip route 192.168.0.0 255.255.0.0 10.0.0.254


"access-list next hope"
Отправлено crash , 12-Дек-12 10:46 

>[оверквотинг удален]
> int gi0/1
> ip address 10.0.0.254 255.255.255.0
> route-map rule1 permit 10
> match ip address 105
> set ip default next-hop 10.0.0.2
> !
> route-map rule1 permit 20
> set ip default next-hop 10.0.0.1
> !
> access list 105 permit ip host 192.168.0.1 any any

вот второе any только меня смущает?


"access-list next hope"
Отправлено alex shukur , 12-Дек-12 11:36 
>[оверквотинг удален]
>> ip address 10.0.0.254 255.255.255.0
>> route-map rule1 permit 10
>> match ip address 105
>> set ip default next-hop 10.0.0.2
>> !
>> route-map rule1 permit 20
>> set ip default next-hop 10.0.0.1
>> !
>> access list 105 permit ip host 192.168.0.1 any any
> вот второе any только меня смущает?

а, это я личнее написал, в конфиге одно any


"access-list next hope"
Отправлено crash , 12-Дек-12 11:39 
>[оверквотинг удален]
>>> route-map rule1 permit 10
>>> match ip address 105
>>> set ip default next-hop 10.0.0.2
>>> !
>>> route-map rule1 permit 20
>>> set ip default next-hop 10.0.0.1
>>> !
>>> access list 105 permit ip host 192.168.0.1 any any
>> вот второе any только меня смущает?
> а, это я личнее написал, в конфиге одно any

тогда давайте показывать конфиг с помощью копи-паст, а то мало ли что вы еще написали. А так сразу будет видно, что у вас именно настроено


"access-list next hope"
Отправлено alex shukur , 12-Дек-12 12:10 
>[оверквотинг удален]
>>>> !
>>>> route-map rule1 permit 20
>>>> set ip default next-hop 10.0.0.1
>>>> !
>>>> access list 105 permit ip host 192.168.0.1 any any
>>> вот второе any только меня смущает?
>> а, это я личнее написал, в конфиге одно any
> тогда давайте показывать конфиг с помощью копи-паст, а то мало ли что
> вы еще написали. А так сразу будет видно, что у вас
> именно настроено

Конфиг полностью не могу выложить, он слишком большой.
А так ничего лишнего, настройки интерфейсов такие, только адреса естественно другие использую


"access-list next hope"
Отправлено crash , 12-Дек-12 12:12 
> Конфиг полностью не могу выложить, он слишком большой.
> А так ничего лишнего, настройки интерфейсов такие, только адреса естественно другие использую

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



"access-list next hope"
Отправлено alex shukur , 12-Дек-12 13:16 
>> Конфиг полностью не могу выложить, он слишком большой.
>> А так ничего лишнего, настройки интерфейсов такие, только адреса естественно другие использую
> выкладывайте не полностью, а только то что касается проблемы, но копи паст.
> Потому как вы уже раз опечатались, а вдруг еще где-то что-то
> есть или нет.

ок.


вот что в нормальной ситуации на сервере:
# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.15.0    *               255.255.255.0   U     1      0        0 eth1
default         192.168.15.254  0.0.0.0         UG    0      0        0 eth1

**************************** Config gateway cisco 3750

interface Vlan15
ip address 192.168.15.254 255.255.255.0
ip policy route-map rule-prov
!

route-map rule-prov permit 10
match ip address 105
set ip next-hop 10.111.111.10
!
route-map rule-prov permit 20
set ip next-hop 192.168.9.5
!

***************************** Config provider cisco 3845

ip nat pool tt-pool-0 *.*.*.* *.*.*.* netmask 255.255.255.224
ip nat inside source list 100 pool tt-pool-0 overload


#sh access-lists 100 | i 192.168.15.152
    11020 permit ip host 192.168.15.152 any (48 matches)

interface GigabitEthernet0/0.212
encapsulation dot1Q 264
ip address *.*.*.* 255.255.255.224
ip nat outside
ip virtual-reassembly
!

interface GigabitEthernet0/1
ip address 192.168.9.5 255.255.255.0
ip nat inside
ip virtual-reassembly
ip route-cache flow
ip policy route-map rule1
ip ospf authentication message-digest
ip ospf network point-to-point
ip ospf hello-interval 5
ip ospf dead-interval 15
duplex auto
speed auto
media-type rj45
!


ip route 0.0.0.0 0.0.0.0 *.*.*.*
ip route 192.168.0.0 255.255.0.0 192.168.9.254


route-map rule1, permit, sequence 10
  Match clauses:
    ip address (access-lists): 100
  Set clauses:
    ip next-hop *.*.*.*
  Policy routing matches: 395899979 packets, 1541233101 bytes
route-map rule1, permit, sequence 20
  Match clauses:
    ip address (access-lists): 101
  Set clauses:
    ip next-hop 192.168.9.1
  Policy routing matches: 32312 packets, 2089500 bytes
route-map rule1, permit, sequence 30
  Match clauses:
    ip address (access-lists): 104
  Set clauses:
    ip next-hop 192.168.9.4
  Policy routing matches: 658752 packets, 46182250 bytes
route-map rule1, permit, sequence 35
  Match clauses:
    ip address (access-lists): 103
  Set clauses:
    ip next-hop 192.168.9.252
  Policy routing matches: 13302054 packets, 2945378425 bytes
route-map rule1, permit, sequence 40
  Match clauses:
    ip address (access-lists): 117
  Set clauses:
    ip next-hop 192.168.9.252
  Policy routing matches: 4174318662 packets, 1446559638 bytes
*****************************************

В такой схеме все работает и нормально ходит, пока я не добавлю на 3750 в аккесс лист правило:
access-list 105 per ip h 192.168.15.* any (абсолютно любой адрес из 15-й сети)
В этом случае все хосты из 15 vlan теряют сеть:

# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.15.0    *               255.255.255.0   U     1      0        0 eth1

Но, если убираю правило из аксес листа на 3845
access-list 100 permit ip host 192.168.15.152 any

тогда всё работает кроме правила ната (логично, так как 100 аксес лист отвечает за нат)


"access-list next hope"
Отправлено alex shukur , 12-Дек-12 13:56 
Причина понятна, роут мап приоритетней статики, соответственно даже во внутренную сеть маршрут пытается проложиться через внешний нат. вот и виснет всё..
вопрос теперь такой, как в этой схеме сделать так, чтобы пакеты внутри сети ходили через шлюз а наружу через нат?

"access-list next hope"
Отправлено spiegel , 12-Дек-12 14:55 
> Причина понятна, роут мап приоритетней статики, соответственно даже во внутренную сеть
> маршрут пытается проложиться через внешний нат. вот и виснет всё..
> вопрос теперь такой, как в этой схеме сделать так, чтобы пакеты внутри
> сети ходили через шлюз а наружу через нат?

У Вас похоже нат не там приделан. В первом примере (пост 11) nat inside c outside надо менять. В реальном конфиге не видно, где nat inside для сети 192.168.15.0. В классической схеме ната, роутинг для nat inside и outside ведет себя по разному: если пакет приходит на интерфейс nat outside, то вначале происходит нат, потом роутинг. Если пакет идет на интерфейс nat inside, то вначале роутинг, и на интерфейсе outside происходит нат, если конечно пакет соотв. првилу ip nat inside...
Если такой алгоритм по каким-то причинам не устраивает, используйте ip nat enable. Чтобы разобраться в Вашем примере, надо смотреть реальный конфиг и реальную схему сети.


"access-list next hope"
Отправлено alex shukur , 12-Дек-12 15:13 
>[оверквотинг удален]
> nat inside c outside надо менять. В реальном конфиге не видно,
> где nat inside для сети 192.168.15.0. В классической схеме ната, роутинг
> для nat inside и outside ведет себя по разному: если пакет
> приходит на интерфейс nat outside, то вначале происходит нат, потом роутинг.
> Если пакет идет на интерфейс nat inside, то вначале роутинг, и
> на интерфейсе outside происходит нат, если конечно пакет соотв. првилу ip
> nat inside...
> Если такой алгоритм по каким-то причинам не устраивает, используйте ip nat enable.
> Чтобы разобраться в Вашем примере, надо смотреть реальный конфиг и реальную
> схему сети.

nat работает, включен, с другими адресами, которые есть в 100 аксес листе и получают маршрут на данный роутер по статике. Я просто не указал в конфиге, который сейчас выложен, так как он весит на транковом сабинтерфейсе