Blog of Khlebalin Dmitriy

(Дорогу осилит идущий…)

Extended ACL & static NAT Cisco.

Сегодня о расширенном ACL и статическом NAT на Cisco.

http://xgu.ru/wiki/Cisco_ACL

http://xgu.ru/wiki/Cisco_NAT

По бокам я поставил два Микрота для наглядности, с одного буду пробрасывать порты наружу (проброшу 22, возможно и 23 порты) на Cisco, с другого проверять доступность.

Получилась вот такая схема:

Mikrotik LAN:

Видим, что 22, 23 порты доступны (их и будем пробрасывать):

Сразу настроим логирование для лучшего понимания процессов со стороны Микрота:

И статический маршрут, чтоб пакеты уходили на внешний маршрутизатор:

Mikrotik ISP:

Cisco R1:

R1#conf t

R1(config)#interface fastEthernet 0/0

R1(config-if)#ip address 1.1.1.1 255.255.255.0

R1(config-if)#no shutdown

R1(config-if)#exit

R1(config)#interface fastEthernet 0/1

R1(config-if)#ip address 192.168.0.1 255.255.255.0

R1(config-if)#no shutdown

R1(config-if)#exit

R1(config)#do wr

Building configuration…

[OK]

R1#ping 1.1.1.2

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 1.1.1.2, timeout is 2 seconds:

.!!!!

Success rate is 80 percent (4/5), round-trip min/avg/max = 4/12/24 ms

R1#ping 192.168.0.2

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.0.2, timeout is 2 seconds:

.!!!!

Success rate is 80 percent (4/5), round-trip min/avg/max = 8/14/24 ms

R1#

Видим, что интерфейсы подняты и пинг идет в обе стороны.

 

Запингуем Циску снаружи:

Видно, что пинг снаружи  тоже идет.

Навесим расширенный ACL (100_outside_OUT) на внешний интерфейс (разрешаем исходящий трафик с внешнего интерфейса).

R1(config)#ip access-list extended 100

# разрешим исходящий трафик (помним, что акцесс у нас висит на внешнем интерфейсе на OUT)

R1(config-ext-nacl)#10 permit tcp host 1.1.1.1 eq 2222 host 1.1.1.2

R1(config-ext-nacl)#20 deny ip any any log

R1(config-ext-nacl)#exit

R1(config)#interface fastEthernet 0/0

R1(config-if)#ip access-group 100 OUT

R1(config-if)#exit

R1(config)#exit

R1#

*Mar  1 03:25:14.047: %SYS-5-CONFIG_I: Configured from console by console

R1#wr

Building configuration…

[OK]

R1#sh access-list

Настроим логирование ACL:

R1(config)#logging buffered 8192 debugging

R1(config)#ip access-list extended 100

R1(config-ext-nacl)#10 permit tcp host 1.1.1.1 eq 2222 host 1.1.1.2 log

#сразу создадим запрещающее правило

R1(config-ext-nacl)#20 deny ip any any log

Посмотрим, что происходит:

R1#show logging

Занатим 22 порт микрота, на порт 2222 на внешнем интерфейсе.

Здесь можно зачитать вот этот пост: https://easy-network.ru/65-urok-37.html

Будет полезен и вот этот: http://www.certification.ru/phpBB3/viewtopic.php?t=1590

R1#conf t

Enter configuration commands, one per line.  End with CNTL/Z.

R1(config)#interface fastEthernet 0/0

R1(config-if)#ip nat outside

*Mar  1 03:52:29.167: %LINEPROTO-5-UPDOWN: Line protocol on Interface NVI0, changed state to up

R1(config-if)#interface fastEthernet 0/1

R1(config-if)#ip nat inside

R1(config)#Ip nat inside source static tcp 192.168.0.2 22 1.1.1.1 2222

R1# sh ip nat translations

Стучимся с внешнего роутера:

Все проваливается.

Если не проваливается, про траблешутинг читаем здесь: https://easy-network.ru/66-urok-38.html

Навесим расширенный ACL (101_outside_IN) на внешний интерфейс (разрешаем входящий трафик на внешнем интерфейсе).

R1(config)#ip access-list extended 101

R1(config-ext-nacl)#10 permit tcp host 1.1.1.2 host 1.1.1.1 eq 2222 log

R1(config-ext-nacl)#20 deny ip any any log

R1(config-ext-nacl)#exit

R1(config)#interface fastEthernet 0/0

R1(config-if)#ip access-group 101 IN

R1(config-if)#exit

R1(config)#exit

R1#wr

Building configuration…

[OK]

Снова стукнемся с внешнего адреса:

В консоли сразу видим:

Проверим наш проброс с Микрота:

 

Я для наглядности сделал 4 ACL (по 2 с каждой стороны), в реальной жизни такой необходимости, как правило, нет.

Навесим расширенный ACL (102_inside_OUT) на внутренний интерфейс (разрешаем входящий трафик от маршрутизатора во внутреннюю сеть).

R1(config)#ip access-list extended 102

R1(config-ext-nacl)#10 permit ip any any log

R1(config-ext-nacl)#exit

R1(config)#interface fastEthernet 0/1

R1(config-if)#ip access-group 102 OUT

R1(config-if)#exit

R1(config)#exit

R1#

 

Навесим расширенный ACL (103_inside_IN) на внутренний интерфейс (разрешаем трафик из локальной сети к маршрутизатору, например необходимо запретить доступ с какого-то компа с инет).

R1(config)#ip access-list extended 103

R1(config-ext-nacl)# 10 permit ip 192.168.0.0 0.0.0.255 any log

R1(config-ext-nacl)#20 deny ip any any log

R1(config-ext-nacl)#exit

R1(config)#interface fastEthernet 0/1

R1(config-if)#ip access-group 103 IN

R1(config-if)#exit

R1(config)#exit

R1#

Снова проверим из-вне:

Циска показала следующее:

Настроим маскировку:

R1(config)# ip nat inside source list 103 interface fastEthernet 0/0 overload

Посмотрим, что у нас в итоге получилось:

R1#show ip nat translations

R1#show ip nat statistics

R1#sh access-list
Проверим пингуется ли у нас Циска.

Из нутри:





Снаружи:




Все так и должно быть, но у меня тестовый стенд и я хочу разрешить ICMP снаружи. 

R1(config)#ip access-list extended 101

R1(config-ext-nacl)#15 permit icmp host 1.1.1.2 host 1.1.1.1 echo log

R1(config-ext-nacl)#exit

Снова пробуем:



И циска теперь показывает:



В итоге, получаем следующий конфиг (приведу только кусок, который касается ACL и NAT):

На последок:

1. Показ активной трансляции:

show ip nat translations [ verbose ]

2. Показ трансляционной статистики:

show ip nat statistics

3. Сброс динамической трансляции:

clear ip nat translation

clear ip nat translation < global-ip>

4. Сброс статической трансляции:

clear ip nat translation < global-ip> < local-ip> < proto> < global-port> < local-port>

5. Отладка:

debug ip nat [ < list> ] [ detailed ]

P.S.

В процессе настройки активного оборудования Cisco встречаются критические моменты, когда железку можно вдруг потерять (например, при смене IP сетевого интерфейса, изменении маршрутов, access-листов и проч.). Для этого используют команду reload in mmm или reload in hhh:mm, где mmm и hhh:mm — задержка перед автоматической перезагрузкой в минутах и часах:минутах соответственно.

Алгоритм применения:

— даем команду reload in 15. После введения этой команды циска автоматически перезагрузится через 15 минут и загрузит уже ранее отлаженный startup-config, что гарантированно восстановит с ней связь.
— делаем «опасные» изменения в конфигурации, но не записываем их в память (они остаются только в running-config).
— если после сделанных изменений в конфигурации running-config связь восстановится, то даем команду reload cancel и записываем конфигурацию running-config командой write.

Всем хорошей работы!!!

06.08.2019 Posted by | Network and Wi-fi: cisco, mikrotik, huawei, tp-link, d-link, zyxel и другое... | Комментарии к записи Extended ACL & static NAT Cisco. отключены