Подскажите, как запретить
Делаю все по 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 : 2VID : 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, но хочется более красивого решения
>[оверквотинг удален]
>
> RX bytes:0
>(0.0 B) TX bytes:1778 (1.7 KB)
>-----
>если клиент из vlan21 поставит себе маску 255,255,255,0, то он будет иметь
>доступ к шлюзу vlan22.
>Как избавиться от такого ?
>ЗЫ: Я могу, конечно, закрыть все через iptables, но хочется более красивого
>решения
>Если на сервере разрешена маршрутизация то он увидит и без изменения маски. Непосредственно подключенные интерфейсы !. Маска тут не причем. Для вычисления маршрута используется только IP назначения. А вот на маршрутизаторе нужно применять средства запрещающие или разрешающие ACL или средствами iptables ipfw и т.п.
ну самое просто, что сейчас нашел ето
iptables -t filter -D INPUT --in-interface ! vlan23 -d 10.10.0.9 -j DROP
думал, может еще как можно.
т.е.
>iptables -t filter -D INPUT --in-interface ! vlan21 -d 10.10.0.9 -j DROP
>Подскажите, как запретить
>-----
>если клиент из vlan21 поставит себе маску 255,255,255,0, то он будет иметь
>доступ к шлюзу vlan22.Только в том случае если вместе с маской изменит VLAN ID.
>>Подскажите, как запретить
>>-----
>>если клиент из vlan21 поставит себе маску 255,255,255,0, то он будет иметь
>>доступ к шлюзу vlan22.
>
>Только в том случае если вместе с маской изменит VLAN ID.вот щас на столе стоят 2 длинка 3010 , без всякой смены VID, с порта vid21 идут пинги на шлюз vid22
>>>Подскажите, как запретить
>>>-----
>>>если клиент из vlan21 поставит себе маску 255,255,255,0, то он будет иметь
>>>доступ к шлюзу vlan22.
>>
>>Только в том случае если вместе с маской изменит VLAN ID.
>
>вот щас на столе стоят 2 длинка 3010 , без всякой смены
>VID, с порта vid21 идут пинги на шлюз vid22Вот тут написано что такое вланы http://xgu.ru/wiki/VLAN
Вкратце, тегированый пакет, вне зависимости от его сети и маски не пересекается с сетью тегированой иным вланом.
Если у вас пакеты из одного влана попадают на другой влан - значит вы что-то не так настроили. И пакеты идут либо минуя тегирование, либо вообще идут каким-то иным путем.
>Как избавиться от такого ?
>ЗЫ: Я могу, конечно, закрыть все через iptables, но хочется более красивого
>решения1. использовать разные подсети
2. настроить iptables ибо свитч l2, а не l3.Самое простое - политика по умолчанию DROP и открывать только то, что нужно
>>Как избавиться от такого ?
>>ЗЫ: Я могу, конечно, закрыть все через iptables, но хочется более красивого
>>решения
>
>1. использовать разные подсети
>2. настроить iptables ибо свитч l2, а не l3.802.1Q это тоже l2 а не l3
>>>Как избавиться от такого ?
>>>ЗЫ: Я могу, конечно, закрыть все через iptables, но хочется более красивого
>>>решения
>>
>>1. использовать разные подсети
>>2. настроить iptables ибо свитч l2, а не l3.
>
>802.1Q это тоже l2 а не l3поэтому l3 необходимо реализовать на линухе средствами iptables
>>>>Как избавиться от такого ?
>>>>ЗЫ: Я могу, конечно, закрыть все через iptables, но хочется более красивого
>>>>решения
>>>
>>>1. использовать разные подсети
>>>2. настроить iptables ибо свитч l2, а не l3.
>>
>>802.1Q это тоже l2 а не l3И что? Если свитч не поддерживает l3, то его необходимо реализовать на линухе средствами iptables
>[оверквотинг удален]
>>>>>ЗЫ: Я могу, конечно, закрыть все через iptables, но хочется более красивого
>>>>>решения
>>>>
>>>>1. использовать разные подсети
>>>>2. настроить iptables ибо свитч l2, а не l3.
>>>
>>>802.1Q это тоже l2 а не l3
>
>И что? Если свитч не поддерживает l3, то его необходимо реализовать на
>линухе средствами iptablesа причем тут l3 вообще?
у человека пакет маркированный одним VLAN ID, попадает на интерфейс который должен принимать только пакеты маркированные другим VLAN ID. И интерфейс его принимает. А при правильной настройке интерфейс должен отбросить такой пакет. Это чистый l2. пакеты тегированые разными VLAN ID не пересекаются. В этом смысл вланов.
>у человека пакет маркированный одним VLAN ID, попадает на интерфейс который
>должен принимать только пакеты маркированные другим VLAN ID. И интерфейс его
>принимает. А при правильной настройке интерфейс должен отбросить такой пакет. Это
>чистый l2. В этом смысл вланов.Судя из настроек 9й порт т.н. транковый порт, поэтому там будут "видны" все вланы.
Спорить не буду, но насколько понимаю, просто нужно ограничить доступ между вланами, например, веб сервис, mysql, etc. Если нужно полностью изолировать, то да, l2 вполне хватит
>>у человека пакет маркированный одним VLAN ID, попадает на интерфейс который
>>должен принимать только пакеты маркированные другим VLAN ID. И интерфейс его
>>принимает. А при правильной настройке интерфейс должен отбросить такой пакет. Это
>>чистый l2. В этом смысл вланов.
>
>Судя из настроек 9й порт т.н. транковый порт, поэтому там будут "видны"
>все вланы.А какое это имеет значение?
>>>у человека пакет маркированный одним VLAN ID, попадает на интерфейс который
>>>должен принимать только пакеты маркированные другим VLAN ID. И интерфейс его
>>>принимает. А при правильной настройке интерфейс должен отбросить такой пакет. Это
>>>чистый l2. В этом смысл вланов.
>>
>>Судя из настроек 9й порт т.н. транковый порт, поэтому там будут "видны"
>>все вланы.
>
>А какое это имеет значение?Через маршрутизатор он будет видеть все вланы!!!
>Подскажите, как запретитьСмортим внимательно конфигурацию и думаем.
>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 или что то иное.
Или я опять что то попутал