Dlink — различия между версиями

Материал из gptel_wiki
Перейти к: навигация, поиск
(PPPoE только на Uplink)
Строка 103: Строка 103:
 
config access-profile 3 add access_id 100 ethernet ethernet_type 0x8863 port 1-26 deny  
 
config access-profile 3 add access_id 100 ethernet ethernet_type 0x8863 port 1-26 deny  
 
config access-profile 3 add access_id 200 ethernet ethernet_type 0x8864 port 1-26 deny
 
config access-profile 3 add access_id 200 ethernet ethernet_type 0x8864 port 1-26 deny
 +
 +
== Фильтры для свичей доступа ==
 +
 +
Настроить port security, запретив более одного mac адреса на порту (таким образом мы боремся с нежелательной и потенциально опасной ситуацией, когда клиент подключает в сеть провайдера не маршрутизатор, а коммутатор, сливая бродакстовый домен своей домашней сети с бродкастовым доменом провайдера)
 +
<pre>
 +
config port_security ports 1-8 admin_state enable max_learning_addr 1 lock_address_mode deleteontimeout
 +
</pre>
 +
Запретить STP на клиентских портах, чтобы пользователи не могли гадить в сеть провайдера BPDU пакетами
 +
<pre>
 +
config stp version rstp
 +
config stp ports 1-8 fbpdu disable state disable
 +
</pre>
 +
Настроить loopback detection, чтобы 1) глючные сетевые карточки, которые отражают пакеты обратно и 2) пользователи, создавшие в своей квартире кольца на втором уровне не мешали работе сети
 +
<pre>
 +
enable loopdetect
 +
config loopdetect recover_timer 1800
 +
config loopdetect interval 10
 +
config loopdetect ports 1-8 state enable
 +
config loopdetect ports 9-10 state disable
 +
</pre>
 +
Создать acl, который запретит прохождение не PPPoE пакетов в USER vlan'е (блокируем DHCP, IP, ARP и все остальные ненужные протоколы, которые позволят пользователям общаться напрямую между собой, игнорируя PPPoE сервер).
 +
<pre>
 +
create access_profile ethernet vlan 0xFFF ethernet_type profile_id 1
 +
config access_profile profile_id 1 add access_id 1 ethernet vlan USER ethernet_type 0x8863 port 1-10 permit
 +
config access_profile profile_id 1 add access_id 2 ethernet vlan USER ethernet_type 0x8864 port 1-10 permit
 +
config access_profile profile_id 1 add access_id 3 ethernet vlan USER port 1-10 deny
 +
</pre>
 +
Создать ACL, который запретит PPPoE PADO пакеты с клиентских портов (блокируем поддельные PPPoE сервера).
 +
<pre>
 +
create access_profile packet_content_mask offset1 l2 0 0xFFFF offset2 l3 0 0xFF profile_id 2
 +
config access_profile profile_id 2 add access_id 1 packet_content offset1 0x8863 offset2 0x0007 port 1-8 deny
 +
</pre>
 +
И, наконец, включить STORM Control для борьбы с бродкастовыми и мультикастовыми флудами. Может показаться, что мы уже решили эту проблему, запретив не PPPoE трафик, однако есть но. В PPPoE первый запрос (на поиск PPPoE сервера) отсылается бродкастом, и если оборудование клиента в силу глюка, вируса или иных причин, посылает такие запросы интенсивно, это вполне может вывести сеть из строя.
 +
<pre>
 +
config traffic control 1-8 broadcast enable multicast enable action drop threshold 64 countdown 5 time_interval 5
 +
</pre>
 +
Таким образом, мы решаем многие проблемы, присущие плоской сети -- поддельные DHCP и PPPoE сервера (зачастую многие включают такие вещи ненамеренно, а по не знанию, то есть злого умысла нет, но работать другим клиентам мешают), бродкастовые штормы, глючные сетевые карточки и прочее.

Версия 12:22, 3 сентября 2016

Q-in-Q

Q-in-Q мануал от Dlink

« role uni » означает, что взаимодействие по этим портам будет осуществляться между пользователем и граничным коммутатором провайдера.

« role nni » означает, что этот порт взаимодействует с сетью провайдера или другим граничным коммутатором.

«vlan_translation» данные правила ассоциирует C-VID с SP-VID.

«missdrop enable» означает, что добавление внешнего тега(SP-VLAN) будет осуществляться только согласно правилам vlan_translation.

«missdrop disable» означает, что добавление внешнего тега(SP-VLAN) будет осуществляться согласно правилам vlan_translation, а к трафику не попавшему под правила vlan_translation будет добавляться внешний тег(SP-VLAN) равный PVID порта, т.е. SP-VID = PVID.

«use_inner_priority enable» означает, что коммутатор будет использовать приоритет 802.1p тега C-VLAN в теге SP-VLAN.

«outer_tpid» означает, что коммутатор будет задавать TPID для внешнего тега(SP-VLAN) равный заданному значению.

Согласно стандарту IEEE 802.1ad TPID равен 0x88A8 для Q-in-Q пакетов. 
У Cisco TPID равен 0x9100. Сейчас на всех современных коммутаторах можно задать 
любой TPID для совместимости оборудования разных вендоров, например: 
можно задать TPID равный 0x8100, как у обычного IEEE 802.1q VLAN, в случае, если необходимо 
пропустить трафик с двумя тегами через оборудование с поддержкой IEEE 802.1q, но без поддержки Q-in-Q.



GVRP

Dlink gvrp.png Коммутаторы No2 и No3 - Транзитные коммутаторы

enable gvrp
config gvrp 27-28 state enable

Коммутатор No4 - Access коммутатор

enable gvrp
config gvrp 27 state enable
create vlan vlanid 100 advertisement
config vlan vlanid 100 add untagged 1
config vlan vlanid 100 add tagged 27
Ключ advertisement при создании вилана говорит коммутатору о том, что этот вилан необходимо анонсировать соседям

Блокировка "DHCP Server" клиентов

Первый вариант:

create access_profile ip udp src_port_mask 0xFFFF profile_id 1
config access_profile profile_id 1 add access_id 1 ip udp src_port 67 port 25-26 permit
config access_profile profile_id 1 add access_id 2 ip udp src_port 67 port 1-24 deny

Второй вариант:

config filter dhcp_server ports 1-24 state enable
config filter dhcp_server add permit ports 25-26

PPPoE только на Uplink

PPPoE - концентратор подключён к порту 26 коммутатора DES-3526, клиенты подключены к портам 1-25, MAC-адрес концентратора - 00-13-5F-AA-BB-CC.

Примечание: За полным описание протокола PPPoE обращайтесь к RFC 2516.

Настройки DES-3526:

1. Создаём профиль ACL для разрешения PPPoE-пакетов от концентратора клиентам

create access-profile ethernet source_mac FF-FF-FF-FF-FF-FF ethernet_type profile 1

2. Разрешаем PPPoE-session-пакеты от концентратора клиентам

config access-profile 1 add access_id 100 ethernet source_mac 00-13-5F-AA-BB-CC ethernet_type 0x8863 port 26 permit

3. Разрешаем PPPoE-data-пакеты от концентратора клиентам

config access-profile 1 add access_id 200 ethernet source_mac 00-13-5F-AA-BB-CC ethernet_type 0x8864 port 26 permit

4. Создаём профиль ACL для разрешения PPPoE-пакетов от клиентов концентратору или серверу

create access-profile ethernet destination_mac FF-FF-FF-FF-FF-FF ethernet_type profile 2

5. Разрешаем широковещательные PPPoE-session PADI пакеты от клиентов

config access-profile 2 add access_id 100 ethernet destination FF-FF-FF-FF-FF-FF ethernet_type 0x8863 port 1-25 permit

6. Разрешаем PPPoE-session пакеты от клиентов к серверу

config access-profile 2 add access_id 200 ethernet destination 00-13-5F-AA-BB-CC ethernet_type 0x8863 port 1-25 permit

7. Разрешаем PPPoE-session пакеты от клиентов к серверу

config access-profile 2 add access_id 300 ethernet destination 00-13-5F-AA-BB-CC ethernet_type 0x8864 port 1-25 permit

8. Создаём профиль ACL для запрещения всех остальных PPPoE-пакетов

create access-profile ethernet ethernet_type profile 3

9. Запрещаем все остальные PPPoE пакеты

config access-profile 3 add access_id 100 ethernet ethernet_type 0x8863 port 1-26 deny config access-profile 3 add access_id 200 ethernet ethernet_type 0x8864 port 1-26 deny

Фильтры для свичей доступа

Настроить port security, запретив более одного mac адреса на порту (таким образом мы боремся с нежелательной и потенциально опасной ситуацией, когда клиент подключает в сеть провайдера не маршрутизатор, а коммутатор, сливая бродакстовый домен своей домашней сети с бродкастовым доменом провайдера)

config port_security ports 1-8 admin_state enable max_learning_addr 1 lock_address_mode deleteontimeout

Запретить STP на клиентских портах, чтобы пользователи не могли гадить в сеть провайдера BPDU пакетами

config stp version rstp
config stp ports 1-8 fbpdu disable state disable

Настроить loopback detection, чтобы 1) глючные сетевые карточки, которые отражают пакеты обратно и 2) пользователи, создавшие в своей квартире кольца на втором уровне не мешали работе сети

enable loopdetect
config loopdetect recover_timer 1800
config loopdetect interval 10
config loopdetect ports 1-8 state enable
config loopdetect ports 9-10 state disable

Создать acl, который запретит прохождение не PPPoE пакетов в USER vlan'е (блокируем DHCP, IP, ARP и все остальные ненужные протоколы, которые позволят пользователям общаться напрямую между собой, игнорируя PPPoE сервер).

create access_profile ethernet vlan 0xFFF ethernet_type profile_id 1
config access_profile profile_id 1 add access_id 1 ethernet vlan USER ethernet_type 0x8863 port 1-10 permit
config access_profile profile_id 1 add access_id 2 ethernet vlan USER ethernet_type 0x8864 port 1-10 permit
config access_profile profile_id 1 add access_id 3 ethernet vlan USER port 1-10 deny

Создать ACL, который запретит PPPoE PADO пакеты с клиентских портов (блокируем поддельные PPPoE сервера).

create access_profile packet_content_mask offset1 l2 0 0xFFFF offset2 l3 0 0xFF profile_id 2
config access_profile profile_id 2 add access_id 1 packet_content offset1 0x8863 offset2 0x0007 port 1-8 deny

И, наконец, включить STORM Control для борьбы с бродкастовыми и мультикастовыми флудами. Может показаться, что мы уже решили эту проблему, запретив не PPPoE трафик, однако есть но. В PPPoE первый запрос (на поиск PPPoE сервера) отсылается бродкастом, и если оборудование клиента в силу глюка, вируса или иных причин, посылает такие запросы интенсивно, это вполне может вывести сеть из строя.

config traffic control 1-8 broadcast enable multicast enable action drop threshold 64 countdown 5 time_interval 5

Таким образом, мы решаем многие проблемы, присущие плоской сети -- поддельные DHCP и PPPoE сервера (зачастую многие включают такие вещи ненамеренно, а по не знанию, то есть злого умысла нет, но работать другим клиентам мешают), бродкастовые штормы, глючные сетевые карточки и прочее.