Межсетевой экран
Техподдержка Фактор-ТСВ приведенном примере применена типовая схема.
Для настройки основных функций Межсетевого экрана необходимо создать правила фильтрации пакетов.
Для этого необходимо зайти в режим конфигурации устройства:
NX-1# configure terminal
Создать access-list с произвольным названием
NX-1(config)# ip access-list myaccess
Теперь необходимо добавить правила фильтрации пакетов, к примеру, создадим правило, запрещающее передачу пакетов по протоколу ICMP с ПК-1 на eth 3 NX-2 и с eth3 NX-1 на eth3 NX-2 и разрешить передачу пакетов по протоколу ICMP с eth1 NX-1 на eth3 NX-2
NX-1(config-acl-myaccess)# deny icmp src 192.168.1.2 dst 192.168.10.2
NX-1(config-acl-myaccess)# deny icmp src 192.168.10.1 dst 192.168.10.2
NX-1(config-acl-myaccess)# permit icmp src 192.168.1.1 dst 192.168.10.2
NX-1(config-acl-myaccess)# deny
Необходимо привязать данный access-list к интерфейсу
NX-1(config)# interface ethernet 3
NX-1(config-if-ethernet3)# ip access-group myaccess out
Данной командой ранее созданный фильтр пакетов привязывается к интерфейсу ethernet 3, этот фильтр будет сверять выходящие из интерфейса пакеты с правилами указанными в access-list myaccess.
Для проверки работоспособности фильтрации пакетов воспользуемся утилитой ping на ПК-1 и запустим утилиту tcpdump на NX-2
Вывод будет таким, так как пакеты были отброшены фильтрацией NX-1:
tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
0 packets captured
0 packets received by filter
0 packets dropped by kernel
Теперь попробуем запустить утилиту ping с разрешающим фильтрацией адресом 192.168.1.1 и посмотрим вывод утилиты tcpdump на NX-2
Выполним соответствующую команду на NX-1
NX-1# ping 192.168.10.2 source 192.168.1.1
И убедимся, что пакеты дошли до адресата:
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
18:44:24.016911 IP 192.168.1.1 > 192.168.10.2: ICMP echo request, id 469, seq 1, length 64
18:44:24.016950 IP 192.168.10.2 > 192.168.1.1: ICMP echo reply, id 469, seq 1, length 64
18:44:26.040123 IP 192.168.1.1 > 192.168.10.2: ICMP echo request, id 469, seq 2, length 64
18:44:26.040153 IP 192.168.10.2 > 192.168.1.1: ICMP echo reply, id 469, seq 2, length 64
18:44:28.056122 IP 192.168.1.1 > 192.168.10.2: ICMP echo request, id 469, seq 3, length 64
18:44:28.056147 IP 192.168.10.2 > 192.168.1.1: ICMP echo reply, id 469, seq 3, length 64
18:44:30.072131 IP 192.168.1.1 > 192.168.10.2: ICMP echo request, id 469, seq 4, length 64
18:44:30.072163 IP 192.168.10.2 > 192.168.1.1: ICMP echo reply, id 469, seq 4, length 64
Ядро Dionis-NX содержит средства, обеспечивающие отслеживание состояния соединений и классификацию пакетов с точки зрения принадлежности к соединениям, что позволяет осуществлять полноценную фильтрацию трафика.
При этом, ядром поддерживаются следующие функции:
- Отслеживание состояний отдельных соединений с тем, чтобы классифицировать каждый пакет либо как относящийся к уже установленному соединению, либо как открывающий новое соединение. При этом понятие «состояние соединения» искусственно вводится для протоколов, в которых оно изначально отсутствует (UDP, ICMP). При работе же с протоколами, поддерживающими состояния (например, TCP), активно используется эта возможность.
- Отслеживание связанных соединений, например, ICMP-ответов на TCP- и UDP-пакеты.
В правилах отбора следует использовать критерий state для того, чтобы использовать информацию о состоянии соединения:
- • Invalid - Пакет связан с неизвестным потоком или соединением и, возможно, содержит ошибку в данных или в заголовке
- • Established - Состояние указывает на то, что пакет принадлежит уже установленному соединению, через которое пакеты идут в обоих направлениях
- • New - Пакет открывает новое соединение или пакет принадлежит однонаправленному потоку.
- • Related - Пакет принадлежит уже существующему соединению, но при этом он открывает новое соединение.
В качестве примера, рассмотрим правила фильтрации для внешнего сетевого интерфейса, разрешающие только исходящие соединения (соединения из внутренней сети во внешнюю сеть).
NX-1(config)# ip access-list wan
NX-1(config-acl-wan)# permit state established
NX-1(config-acl-wan)# permit state related
NX-1(config-acl-wan)# deny
Привяжем данное правило на NX-1 на eth3:
NX-1(config)# interface ethernet 3
NX-1(config-if-ethernet3)# ip access-group wan in
Теперь попробуем запустить утилиту ping с NX-1 на NX-2 и в обратную сторону:
NX-1# ping 192.168.10.2
PING 192.168.10.2 (192.168.10.2) 56(84) bytes of data.
64 bytes from 192.168.10.2: icmp_seq=1 ttl=64 time=0.159 ms
64 bytes from 192.168.10.2: icmp_seq=2 ttl=64 time=0.150 ms
64 bytes from 192.168.10.2: icmp_seq=3 ttl=64 time=0.138 ms
64 bytes from 192.168.10.2: icmp_seq=4 ttl=64 time=0.152 ms
64 bytes from 192.168.10.2: icmp_seq=5 ttl=64 time=0.136 ms
--- 192.168.10.2 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 8069ms
rtt min/avg/max/mdev = 0.136/0.147/0.159/0.008 ms
с NX-1 на NX-2 удалось проверить доступность, на ICMP-пакеты пришел ответ, что есть возможность наблюдать выше, теперь попробуем в обратную сторону, с NX-2 на NX-1:
NX-2# ping 192.168.10.1
PING 192.168.10.1 (192.168.10.1) 56(84) bytes of data.
--- 192.168.10.1 ping statistics ---
5 packets transmitted, 0 received, 100% packet loss, time 63ms
Далее в раздел Настройка доступа с помощью SSH