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

Исходное сообщение
"Запретить маршрутизацию между VLANами"

Отправлено как_быть , 29-Сен-09 22:19 
Подскажите, как запретить
Делаю все по http://xgu.ru/wiki/vlan/linux
На свиче (Dlink 3010G) прописаны несколько VLANов, ну к примеру
VID             : 21         VLAN Name       : test1
VLAN Type       : static
Member ports    : 2,9
Static ports    : 2,9
Tagged ports    : 9
Untagged ports  : 2

VID             : 22         VLAN Name       : test2
VLAN Type       : static
Member ports    : 3,9
Static ports    : 3,9
Tagged ports    : 9
Untagged ports  : 3

---
на сервере
vlan21    Link encap:Ethernet  HWaddr 00:1d:60:61:29:f9  
          inet addr:10.10.0.9  Bcast:10.10.0.15  Mask:255.255.255.248
          inet6 addr: fe80::21d:60ff:fe61:29f9/64 Диапазон:Ссылка    
          ВВЕРХ BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1      
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0        
          TX packets:23 errors:0 dropped:0 overruns:0 carrier:0      
          коллизии:0 txqueuelen:0                                    
          RX bytes:0 (0.0 B)  TX bytes:3670 (3.6 KB)                

vlan22    Link encap:Ethernet  HWaddr 00:1d:60:61:29:f9  
          inet addr:10.10.0.1  Bcast:10.10.0.3  Mask:255.255.255.252
          inet6 addr: fe80::21d:60ff:fe61:29f9/64 Диапазон:Ссылка  
          ВВЕРХ BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1    
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0        
          TX packets:14 errors:0 dropped:0 overruns:0 carrier:0    
          коллизии:0 txqueuelen:0                                  
          RX bytes:0 (0.0 B)  TX bytes:1778 (1.7 KB)
-----
если клиент из vlan21 поставит себе маску 255,255,255,0, то он будет иметь доступ к шлюзу vlan22.
Как избавиться от такого ?
ЗЫ: Я могу, конечно, закрыть все через iptables, но хочется более красивого решения




Содержание

Сообщения в этом обсуждении
"Запретить маршрутизацию между VLANами"
Отправлено Аноним , 29-Сен-09 22:50 
>[оверквотинг удален]
>
>          RX bytes:0
>(0.0 B)  TX bytes:1778 (1.7 KB)
>-----
>если клиент из vlan21 поставит себе маску 255,255,255,0, то он будет иметь
>доступ к шлюзу vlan22.
>Как избавиться от такого ?
>ЗЫ: Я могу, конечно, закрыть все через iptables, но хочется более красивого
>решения
>

Если на сервере разрешена маршрутизация то он увидит и без изменения маски. Непосредственно подключенные интерфейсы !. Маска тут не причем. Для вычисления маршрута используется только IP назначения. А вот на маршрутизаторе нужно применять средства запрещающие или разрешающие ACL или средствами iptables ipfw и т.п.



"Запретить маршрутизацию между VLANами"
Отправлено как_быть , 29-Сен-09 22:53 
ну самое просто, что сейчас нашел ето
iptables -t filter -D INPUT --in-interface ! vlan23 -d 10.10.0.9 -j DROP
думал, может еще как можно.


"Запретить маршрутизацию между VLANами"
Отправлено как_быть , 29-Сен-09 22:58 
т.е.
>iptables -t filter -D INPUT --in-interface ! vlan21 -d 10.10.0.9 -j DROP

"Запретить маршрутизацию между VLANами"
Отправлено Square , 29-Сен-09 23:06 
>Подскажите, как запретить
>-----
>если клиент из vlan21 поставит себе маску 255,255,255,0, то он будет иметь
>доступ к шлюзу vlan22.

Только в том случае если вместе с маской изменит VLAN ID.


"Запретить маршрутизацию между VLANами"
Отправлено как_быть , 29-Сен-09 23:10 
>>Подскажите, как запретить
>>-----
>>если клиент из vlan21 поставит себе маску 255,255,255,0, то он будет иметь
>>доступ к шлюзу vlan22.
>
>Только в том случае если вместе с маской изменит VLAN ID.

вот щас на столе стоят 2 длинка 3010 , без всякой смены VID, с порта vid21 идут пинги на шлюз vid22


"Запретить маршрутизацию между VLANами"
Отправлено Square , 29-Сен-09 23:24 
>>>Подскажите, как запретить
>>>-----
>>>если клиент из vlan21 поставит себе маску 255,255,255,0, то он будет иметь
>>>доступ к шлюзу vlan22.
>>
>>Только в том случае если вместе с маской изменит VLAN ID.
>
>вот щас на столе стоят 2 длинка 3010 , без всякой смены
>VID, с порта vid21 идут пинги на шлюз vid22

Вот тут написано что такое вланы http://xgu.ru/wiki/VLAN

Вкратце, тегированый пакет, вне зависимости от его сети и маски не пересекается с сетью тегированой иным вланом.

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



"Запретить маршрутизацию между VLANами"
Отправлено ALex_hha , 29-Сен-09 23:54 
>Как избавиться от такого ?
>ЗЫ: Я могу, конечно, закрыть все через iptables, но хочется более красивого
>решения

1. использовать разные подсети
2. настроить iptables ибо свитч l2, а не l3.

Самое простое - политика по умолчанию DROP и открывать только то, что нужно


"Запретить маршрутизацию между VLANами"
Отправлено Square , 30-Сен-09 00:17 
>>Как избавиться от такого ?
>>ЗЫ: Я могу, конечно, закрыть все через iptables, но хочется более красивого
>>решения
>
>1. использовать разные подсети
>2. настроить iptables ибо свитч l2, а не l3.

802.1Q это тоже  l2  а не l3



"Запретить маршрутизацию между VLANами"
Отправлено ALex_hha , 30-Сен-09 00:44 
>>>Как избавиться от такого ?
>>>ЗЫ: Я могу, конечно, закрыть все через iptables, но хочется более красивого
>>>решения
>>
>>1. использовать разные подсети
>>2. настроить iptables ибо свитч l2, а не l3.
>
>802.1Q это тоже  l2  а не l3

поэтому l3 необходимо реализовать на линухе средствами iptables


"Запретить маршрутизацию между VLANами"
Отправлено ALex_hha , 30-Сен-09 00:46 
>>>>Как избавиться от такого ?
>>>>ЗЫ: Я могу, конечно, закрыть все через iptables, но хочется более красивого
>>>>решения
>>>
>>>1. использовать разные подсети
>>>2. настроить iptables ибо свитч l2, а не l3.
>>
>>802.1Q это тоже  l2  а не l3

И что? Если свитч не поддерживает l3, то его необходимо реализовать на линухе средствами iptables


"Запретить маршрутизацию между VLANами"
Отправлено Square , 30-Сен-09 00:52 
>[оверквотинг удален]
>>>>>ЗЫ: Я могу, конечно, закрыть все через iptables, но хочется более красивого
>>>>>решения
>>>>
>>>>1. использовать разные подсети
>>>>2. настроить iptables ибо свитч l2, а не l3.
>>>
>>>802.1Q это тоже  l2  а не l3
>
>И что? Если свитч не поддерживает l3, то его необходимо реализовать на
>линухе средствами iptables

а причем тут l3 вообще?

у человека пакет маркированный одним VLAN ID, попадает на интерфейс  который должен принимать только пакеты маркированные другим VLAN ID. И интерфейс его принимает. А при правильной настройке интерфейс должен отбросить такой пакет. Это чистый l2. пакеты тегированые разными VLAN ID не пересекаются. В этом смысл вланов.


"Запретить маршрутизацию между VLANами"
Отправлено ALex_hha , 30-Сен-09 01:01 
>у человека пакет маркированный одним VLAN ID, попадает на интерфейс  который
>должен принимать только пакеты маркированные другим VLAN ID. И интерфейс его
>принимает. А при правильной настройке интерфейс должен отбросить такой пакет. Это
>чистый l2. В этом смысл вланов.

Судя из настроек 9й порт т.н. транковый порт, поэтому там будут "видны" все вланы.

Спорить не буду, но насколько понимаю, просто нужно ограничить доступ между вланами, например, веб сервис, mysql, etc. Если нужно полностью изолировать, то да, l2 вполне хватит


"Запретить маршрутизацию между VLANами"
Отправлено Square , 30-Сен-09 01:42 
>>у человека пакет маркированный одним VLAN ID, попадает на интерфейс  который
>>должен принимать только пакеты маркированные другим VLAN ID. И интерфейс его
>>принимает. А при правильной настройке интерфейс должен отбросить такой пакет. Это
>>чистый l2. В этом смысл вланов.
>
>Судя из настроек 9й порт т.н. транковый порт, поэтому там будут "видны"
>все вланы.

А какое это имеет значение?



"Запретить маршрутизацию между VLANами"
Отправлено ALex_hha , 30-Сен-09 14:39 
>>>у человека пакет маркированный одним VLAN ID, попадает на интерфейс  который
>>>должен принимать только пакеты маркированные другим VLAN ID. И интерфейс его
>>>принимает. А при правильной настройке интерфейс должен отбросить такой пакет. Это
>>>чистый l2. В этом смысл вланов.
>>
>>Судя из настроек 9й порт т.н. транковый порт, поэтому там будут "видны"
>>все вланы.
>
>А какое это имеет значение?

Через маршрутизатор он будет видеть все вланы!!!


"Запретить маршрутизацию между VLANами"
Отправлено Аноним , 30-Сен-09 11:55 
>Подскажите, как запретить

Смортим внимательно конфигурацию и думаем.
>VID: 21        
>VLAN Name       : test1
>VLAN Type       : static
>Member ports    : 2,9

Это порты которые приписаны к ВЛАНу
>Static ports    : 2,9

Это мы статически их прописываем
>Tagged ports    : 9

Вот тут мы присваиваем тег VID
>Untagged ports  : 2

А тут говорим что тег нам ненужен
>

Тут мысли такие же как и выше
>[оверквотинг удален]
>RUNNING MULTICAST  MTU:1500  Metric:1
>          RX packets:0
>errors:0 dropped:0 overruns:0 frame:0
>          TX packets:14
>errors:0 dropped:0 overruns:0 carrier:0
>          коллизии:0 txqueuelen:0
>
>          RX bytes:0
>(0.0 B)  TX bytes:1778 (1.7 KB)
>-----

Ну на сервере прописано правильно.
>если клиент из vlan21 поставит себе маску 255,255,255,0, то он будет иметь
>доступ к шлюзу vlan22.
>Как избавиться от такого ?
>ЗЫ: Я могу, конечно, закрыть все через iptables, но хочется более красивого
>решения
>

Теперь рассуждаем.
Если клиент поменяет маску ему от этого легче не станет. Его маска нам нафиг не нужна. Нас интересует КУДА идет пакет IP DSt ! Поэтому все равно что он там себе пишет. Но это при условии что клиент воткнут в порт 9. Если он воткнут в порт 2 то долампочки все наши рассуждения. Потому что коммутатор на этом порту пакеты НЕТЕГИРУЕТ. Ну нету там VID !!!
Это что касается test1
Что касается test2  то аналогично все происходит.
Следуя логике работы коммутации (уровень 2 OSI) пакеты никогда не встретятся при различных VID. Обмен может произойти только в случае совпадения VID. Но возможен обмен информацией через маршрутизатор. То есть если на сервере включена маршрутизация то , по умолчанию, в таблицу маршрутизации включаются интерфейсы непосредственно подключенные. На сервер интерфейсы VLAN21 и VLAN22 подключены непосредственно - значит между ними возможен обмен информацией !
Теперь Уважаемый клиент пингует из одного VLAN адрес маршрутизатора из другого VLAN и его видит ! То есть получает ответ ! И это правильно ! Потому как эти интерфейсы подключены к одному маршрутизатору ! А что бы это запретить нужно на сервере настроить либо ACL либо iptables или что то иное.
Или я опять что то попутал