Здравствуйте!
Пытаюсь настроить ACL на WS-C3560X-24T-S. Имеется 2 сети, разнесенные в 2 влана.
Vlan101: 10.0.0.0/24 (сеть Public):
vlan 101
name PublicNet
interface Vlan101
ip address 10.0.0.97 255.255.255.0 <--- тут виден IP-адрес Cisco.
Vlan102: 10.21.0.0/24 (сеть 1С):
vlan 102
name 1CNet
interface Vlan102
ip address 10.21.0.9 255.255.255.0Сеть Public подключена к gi0/1:
interface GigabitEthernet0/1
description Link to PublicNet
switchport access vlan 101
switchport mode accessСеть 1С подключена к gi0/5:
interface GigabitEthernet0/5
description Link to 1C-host
switchport access vlan 102
switchport mode accessЕсть админский ПК - 10.0.0.2, пытаюсь сделать следующее:
- разрешить доступ к телнет Cisco
- разрешить доступ к сети 1С (по всем протоколам)
- запретить доступ из сети 1С к сети Public
- запретить доступ из сети Public (всем, кроме адм. ПК) к сети 1СВариант А: делаю правила с использованием конструкции tcp established:
interface Vlan101
ip address 10.0.0.97 255.255.255.0
ip access-group inAdmins in
ip access-group outAdmins outip access-list extended inAdmins
permit tcp host 10.0.0.2 host 10.0.0.97 eq telnet
permit ip host 10.0.0.2 10.21.0.0 0.0.0.255ip access-list extended outAdmins
permit tcp host 10.0.0.97 host 10.0.0.2 eq telnet
permit tcp 10.21.0.0 0.0.0.255 host 10.0.0.2 established
permit icmp 10.21.0.0 0.0.0.255 host 10.0.0.2 echo-reply
Так работает! Но мне не нравится то, что доступ от АдмПк к сети 1С будет лишь по протоколу tcp - из-за ограничений established.Вариант Б: делать через reflexive ACL
interface Vlan101
ip address 10.0.0.97 255.255.255.0
ip access-group inAdmins in
ip access-group outAdmins outip access-list extended inAdmins
permit tcp host 10.0.0.2 host 10.0.0.97 eq telnet
permit ip host 10.0.0.2 10.21.0.0 0.0.0.255 reflect permTrafip access-list extended outAdmins
permit tcp host 10.0.0.97 host 10.0.0.2 eq telnet
evaluate permTrafНе работает! Трафик от адмПК к сети 1С не идет.
Вопрос 1: Я что-то не дописал? Или написал не правильно? Подскажите, пожалуйста, как сделать так, чтобы трафик ходил.
Вопрос 2: в верном ли направлении я двигаюсь? Или может есть более удобные/правильные решения для организации доступа от адмПК к сети 1С?
На всякий случай вывод sh access-list для варианта Б (попытка инициировать соединение от адмПК к 1С уже была):
Extended IP access list inAdmins
10 permit tcp host 10.0.0.2 host 10.0.0.97 eq telnet (115 matches)
20 permit ip host 10.0.0.2 10.21.0.0 0.0.0.255 reflect permTraf
Extended IP access list outAdmins
10 permit tcp host 10.0.0.97 host 10.0.0.2 eq telnet
20 evaluate permTraf
Reflexive IP access list permTraf
Тут пусто, а не я забыл скопировать часть.
Так же попробовал перенести acl с vlan101 out на vlan102 in:
interface Vlan101
ip address 10.0.0.97 255.255.255.0
ip access-group inAdmins ininterface Vlan102
ip address 10.21.0.9 255.255.255.0
ip access-group inBux inip access-list extended inAdmins
permit tcp host 10.0.0.2 host 10.0.0.97 eq telnet
permit ip host 10.0.0.2 10.21.0.0 0.0.0.255 reflect permTrafip access-list extended inBux
evaluate permTrafРезультат тот же - связи между адмПК и сетью 1С нет.
Меня смущает у вас вот такая конструкция:
ip access-group inAdmins in
ip access-group outAdmins outЗадача то вроде базовая.
Один ACL у вас на вход, на интерфейсе Public. Наверное, что то вроде:
permit tcp host ADMIN_IP host ROUTER_IP eq telnet - это к роутеру
permit ip host ADMIN_IP 10.21.0.0 0.0.0.255 - это от вашей машины к 1С-сетиДругой ACL на вход со стороны сети 1С:
permit ip 10.21.0.0 0.0.0.255 host ADMIN_PC
deny ip 10.21.0.0 0.0.0.255 10.0.0.0 0.0.0.255
permit ip any anyСобственно, вроде все.
> permit ip 10.21.0.0 0.0.0.255 host ADMIN_PCВот эта строка разрешит ходить любым пакетам из сети 1С к адмПК, так? Мне бы этого не хотелось. Хочеца, чтобы были разрешены лишь обратные пакеты из сети 1С к адмПК - в тех сессиях, которые были инициированы адмПК.
Т.е. я не хочу выпускать какой-либо трафик из сети 1С, кроме того, который был инициирован адмПК.> Меня смущает у вас вот такая конструкция:
> ip access-group inAdmins in
> ip access-group outAdmins outВ варианте А пакеты ходят, проверено. При этом Ваш вариант является модификацией моего варианта А, а он мне не нравится. Хочется сделать через reflex.
Но Ваш вариант мне не нравится не только потому, что он сделан не через reflex, но и потому что не ограничен трафик идущий из сети 1С к адмПК - для этого описал указанное Вами на циске и проверил - трафик и вправду ходит.Ещё варианты? :)
Так у вас задача в таком случае не ограничить доступ, а поиграться с reflex-ACL - а это разные задачи. :)Чем вам не нравиться вариант с
permit tcp 1C_NET host ADMIN_PC established ?
> Так у вас задача в таком случае не ограничить доступ, а поиграться
> с reflex-ACL - а это разные задачи. :)
> Чем вам не нравиться вариант с
> permit tcp 1C_NET host ADMIN_PC established ?Не нравится тем, что трафик ограничен лишь tcp-протоколом. Мне же хочется больше - и icmp и, возможно, udp.
Играться с reflex ACL прямой задачи не ставлю, но мне кажется, что именно reflex и решит мою задачу.И в первом посте писал, но повторю: если есть варианты решения лучше/правильнее - предлагайте! Мне хочется знать больше...
>> Так у вас задача в таком случае не ограничить доступ, а поиграться
>> с reflex-ACL - а это разные задачи. :)
>> Чем вам не нравиться вариант с
>> permit tcp 1C_NET host ADMIN_PC established ?
> Не нравится тем, что трафик ограничен лишь tcp-протоколом. Мне же хочется больше
> - и icmp и, возможно, udp.
> Играться с reflex ACL прямой задачи не ставлю, но мне кажется, что
> именно reflex и решит мою задачу.
> И в первом посте писал, но повторю: если есть варианты решения лучше/правильнее
> - предлагайте! Мне хочется знать больше...Лепить фаервол из свича мягко говоря не айс.
Если вы хотите знать больше, начините с прочтения о том, в чем разница в работе TCP и UDP, к какому уровню модели OSI относиться ICMP. Тогда, возможно, у вас отпадет необходимость выдумывать какие-то странные конструкции, о которым мы здесь с вами говорим.Если вы разрешаете соединение типа established - к вам снаружи пройдут только те пакеты, которые инициированы вами изнутри. И это могут быть только TCP-пакеты, потому что у UDP нет понятия "установленного соединения". UDP пакеты изнутри к вам не пройдут, пока вы явно это не разрешите (либо не разрешите весь ip). Упоминания ICMP в ваших ACL я вообще не увидел.
> Если вы хотите знать больше, начините с прочтения о том, в чем
> разница в работе TCP и UDP, к какому уровню модели OSI
> относиться ICMP.Йошкин ты кот!.. Простите, эмоции.
Почему каждый умник считает своим долгом напомнить про модель OSI, но не удосуживается прочитать сообщение полностью?! Впрочем, рассуждать о различиях udp, tcp, icmp не станем...> Если вы разрешаете соединение типа established - к вам снаружи пройдут только
> те пакеты, которые инициированы вами изнутри. И это могут быть только
> TCP-пакеты, потому что у UDP нет понятия "установленного соединения". UDP пакеты
> изнутри к вам не пройдут, пока вы явно это не разрешите
> (либо не разрешите весь ip).Именно! Раз Вы не читаете мои сообщения, я цитаты из них приведу (первое сообщение, про вариант А):
"Так работает! Но мне не нравится то, что доступ от АдмПк к сети 1С будет лишь по протоколу tcp - из-за ограничений established."
Вариант настройки extended acl меня _именно_ поэтому и не устраивает.
>Упоминания ICMP в ваших ACL я вообще не увидел.Первое сообщение, про вариант А (ip access-list extended outAdmins):
permit icmp 10.21.0.0 0.0.0.255 host 10.0.0.2 echo-reply> Тогда, возможно, у вас отпадет необходимость выдумывать какие-то странные
> конструкции, о которым мы здесь с вами говорим.Эти какие-то странные конструкции носят название reflexive acl и должны решать описанную мною проблему.
Ну нет у меня ни циски AS, ни циски фаервола (хотя может AS это и есть фаервол) - потому я пытаюсь реализовать свои потребности на том, что есть. А именно на Catalyst 3560X.В целом тема уже загадилась - можете писать тут что угодно, я создам отдельную тему про reflexive acl. А жаль, потому как reflex acl, возможно, не единственное и не лучшее решение описанной задачи.
> Лепить фаервол из свича мягко говоря не айс.Другого оборудования у меня нет. Да и полноценный фаервол мне не нужен, лишь разделить сети да дать доступ админскому ПК ко всем сетям.
Да вы так не переживайте. :) Я не пойму, почему вы ограничены только протоколом TCP-то? Вам что мешает сделать полный доступ от АдминПК до Сети1С? Вы established вешаете на вход со стороны сети 1С, а полный доступ вы вешаете на вход с Public. Все. Со стороны 1С к вам ничего не пройдет, потому что единственное, что разрешено - это established. Я просто никак не пойму, что вы "рефлексить" то собираетесь с помощью reflex-ALC?
>> Лепить фаервол из свича мягко говоря не айс.
> Другого оборудования у меня нет. Да и полноценный фаервол мне не нужен,
> лишь разделить сети да дать доступ админскому ПК ко всем сетям.Ты дуешь на воду. Рефлексируй целиком IP, от админской сети куда надо, и все.
Если на каждый чих в аксес лист добавлять строчки, кончится TCAM, который на таких железках не сильно большой. Там всего порядка тысячи записей допускается. Любой портскан может испортить тебе жизнь. Тебе оно надо?