LINUX.ORG.RU
решено ФорумAdmin

Странности с Vlan


0

4

Есть шлюз. На нем интерфейс в интернет (eth2), интерфейс в сеть (eth1) и пара вланов.

eth1      Link encap:Ethernet  HWaddr 00:a0:c5:b2:30:43
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:7082677 errors:0 dropped:3727 overruns:0 frame:0
          TX packets:10833270 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1380578597 (1.3 GB)  TX bytes:12236855425 (12.2 GB)

eth2      Link encap:Ethernet  HWaddr 00:30:4f:3e:ca:e8
          inet addr:109.XXX.XXX.XXX  Bcast:109.XXX.XXX.XXX  Mask:255.255.255.192
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:9055205 errors:0 dropped:16 overruns:0 frame:0
          TX packets:5550997 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:10418621237 (10.4 GB)  TX bytes:1215560487 (1.2 GB)

eth1.10   Link encap:Ethernet  HWaddr 00:a0:c5:b2:30:43
          inet addr:172.20.0.1  Bcast:172.20.15.255  Mask:255.255.240.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6216578 errors:0 dropped:13 overruns:0 frame:0
          TX packets:9469128 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1187071065 (1.1 GB)  TX bytes:10381902731 (10.3 GB)

eth1.15   Link encap:Ethernet  HWaddr 00:a0:c5:b2:30:43
          inet addr:192.168.5.1  Bcast:192.168.5.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:341120 errors:0 dropped:0 overruns:0 frame:0
          TX packets:601995 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:32255209 (32.2 MB)  TX bytes:790245786 (790.2 MB)

eth1.20   Link encap:Ethernet  HWaddr 00:a0:c5:b2:30:43
          inet addr:172.20.16.1  Bcast:255.255.255.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:18457 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2313 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2901945 (2.9 MB)  TX bytes:188985 (188.9 KB)

eth1.25   Link encap:Ethernet  HWaddr 00:a0:c5:b2:30:43
          inet addr:192.168.25.1  Bcast:192.168.25.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:415287 errors:0 dropped:0 overruns:0 frame:0
          TX packets:759817 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:25773093 (25.7 MB)  TX bytes:1018595961 (1.0 GB)

Forward между интерфейсами запрещен

-A FORWARD -i eth1.15 -o eth1.10 -j DROP
-A FORWARD -i eth1.10 -o eth1.15 -j DROP
-A FORWARD -i eth1.25 -o eth1.10 -j DROP
-A FORWARD -i eth1.10 -o eth1.25 -j DROP
-A FORWARD -i eth1.25 -o eth1.15 -j DROP
-A FORWARD -i eth1.15 -o eth1.25 -j DROP

Все нормально работало. Но недавно заметил что пользователь из eth1.10 может пинговать 192.168.25.1 (eth1.15) и 172.20.16.1 (eth1.20), а 192.168.25.1 как и раньше нет. Раньше такого не было. И сейчас это надо закрыть. Но куда копать пока не знаю. iptables чист. маршруты вроде бы тоже.

default via 109.XXX.XXX.XXX dev eth2  metric 100
172.20.0.0/20 dev eth1.10  proto kernel  scope link  src 172.20.0.1
172.20.16.0/24 dev eth1.20  proto kernel  scope link  src 172.20.16.1
192.168.5.0/24 dev eth1.15  proto kernel  scope link  src 192.168.5.1
192.168.25.0/24 dev eth1.25  proto kernel  scope link  src 192.168.25.1

Подскажите где еще копать.

★★

Ответ на: комментарий от xtraeft

Включен. Это шлюз. Инет раздавать то надо.

as_lan ★★
() автор топика

пользователь из eth1.10 может пинговать 192.168.25.1 (eth1.15) и 172.20.16.1 (eth1.20), а 192.168.25.1 как и раньше нет

кто на ком стоял?

anonymous
()

eth1.xx это всё алиасы. Правила iptables между алиасами не действуют. iptables считает это всё одним интерфейсом.

anonymous
()
Ответ на: комментарий от anonymous
-A FORWARD -i eth1.15 -o eth1.10 -j DROP
-A FORWARD -i eth1.10 -o eth1.15 -j DROP

По вашему эти правила не рабочие? И не запретят пакетам ходить?

as_lan ★★
() автор топика

Можно попробовать посмотреть в # tcpdump -e -nq -i any icmp

anonymous

eth1.xx это всё алиасы

Нет, это vlan'ы. Алиасы это eth1:xx

anonymous
()

про запрет eth1.20 что-то правил не видно

Я бы сделал набор адресов через ipset и поставил бы 1 правило

ipset -N area hash:net
ipset -A area 172.20.0.0/20
ipset -A area 172.20.16.0/24
ipset -A area 192.168.5.0/24
ipset -A area 192.168.25.0/24

iptables -A FORWARD -m set --match-set src,dst area -j DROP

vel ★★★★★
()
Ответ на: комментарий от anonymous

еще раз:

пользователь из eth1.10 может пинговать 192.168.25.1 (eth1.15) и 172.20.16.1 (eth1.20)

это INPUT цепочка, а запрещена только FORWARD

а про это:

192.168.25.1 как и раньше нет

я так и не понял

anonymous
()
Ответ на: комментарий от anonymous

Угу. Ты только моим роутерам об этом не рассказывай.

vel ★★★★★
()
Ответ на: комментарий от vel

Забыл написать. Правила конечно есть

-A FORWARD  -i eth1.20 -o eth1.10 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD  -i eth1.10 -o eth1.20 -j REJECT --reject-with icmp-port-unreachable

as_lan ★★
() автор топика
Ответ на: комментарий от anonymous

Что не понятного. На 192.168.25.1 (eth1.25) пинга нет с моего компа (сижу в 10 влане, eth1.10). А 192.168.5.1 и 172.20.16.1 пинг есть. Хотя они в других вланах.

as_lan ★★
() автор топика
Ответ на: комментарий от as_lan

Что не понятного

плять, ты про один и тот же адрес 192.168.25.1 в одной строке написал две противоположные мысли: то ли пингуется, то ли нет

anonymous
()
Ответ на: комментарий от as_lan

без всего списка правил понять где косяк - трудно.

Если мне лень разбираться по скриптам, то я включаю TRACE на короткое время, на интересующий трафик и смотрю в логах где оно неправильно работает.

vel ★★★★★
()
Ответ на: комментарий от anonymous

кажется понял: ты под первым упоминанием 192.168.25.1 в стартовом сообщении имел ввиду 192.168.5.1? опечатка?

короче, те фильтры, что ты здесь упомянул, закрывают доступ только между хостами сетей в разных vlan'ах, а трафик между любым таким клиентом и шлюзом (любым его локальным адресом) они не запрещают
почему у тебя не пингуется 192.168.25.1 с хоста в eth1.10, я не знаю, вероятно, какая-то другая проблема, мы же не видим здесь ни всей таблицы фильтров, ни ситуации на клиентской машине

anonymous
()
Ответ на: комментарий от vel

Ну вот тогда INPUT цепочка.

:INPUT DROP [1413:77736]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth1 -j ACCEPT
-A INPUT -s 172.20.0.0/20 -i eth1.10 -j ACCEPT
-A INPUT -s 192.168.5.0/24 -i eth1.15 -j ACCEPT
-A INPUT -s 192.168.25.0/24 -i eth1.25 -j ACCEPT
-A INPUT -i eth2 -p tcp -m tcp -m multiport --sports 80,443,5222 -j ACCEPT
:INPUT ACCEPT [17072793:14238150823]
:INPUT ACCEPT [1476:93848]

В eth1.15 разрешено только для 192.168.5.1. В eth1.25 только для 192.168.25.0/24. Но почему я с ip 172.20.0.200 вижу 192.168.5.1

В OUTPUT цепочки ничего нет. В NAT пару правил MASQUERADE

as_lan ★★
() автор топика
Ответ на: комментарий от as_lan

Но почему я с ip 172.20.0.200 вижу 192.168.5.1

Потому что:

-A INPUT -s 172.20.0.0/20 -i eth1.10 -j ACCEPT

Вдогонку вот тебе табличка: https://ru.wikipedia.org/wiki/Файл:Netfilter-diagram-rus.png

edigaryev ★★★★★
()
Последнее исправление: edigaryev (всего исправлений: 1)
Ответ на: комментарий от as_lan

Перепутал второпях

гы-гы, вот так и сеть админишь: что-то зафильтровал, сделал локальную проверку (пинг с 172.20.0.x на 192.168.25.1) — вроде трафик не ходит, и сделал вывод, что правила фильтрации правильные
а в реальности оказалось, что правила на самом деле фильтруют не совсем то, что ты хотел, а единственная проверка сработала просто из-за какого-то друго косяка — так сказать, минус на минус дал плюс

anonymous
()
Ответ на: комментарий от edigaryev
# Generated by iptables-save v1.4.12 on Mon Jul  7 15:45:28 2014
*nat
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 172.20.0.10 -j MASQUERADE
-A POSTROUTING -s 172.20.0.12 -j MASQUERADE
-A POSTROUTING -s 172.20.0.14 -j MASQUERADE
-A POSTROUTING -s 172.20.0.16 -j MASQUERADE
-A POSTROUTING -s 172.20.0.17 -j MASQUERADE
-A POSTROUTING -s 172.20.0.19 -j MASQUERADE
-A POSTROUTING -s 172.20.0.25 -j MASQUERADE
-A POSTROUTING -s 172.20.2.33 -j MASQUERADE
-A POSTROUTING -s 172.20.0.9 -j MASQUERADE
-A POSTROUTING -s 172.20.4.100 -j MASQUERADE
COMMIT
# Completed on Mon Jul  7 15:45:29 2014
# Generated by iptables-save v1.4.12 on Mon Jul  7 15:45:29 2014
*mangle
:FORWARD ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
# Completed on Mon Jul  7 15:45:29 2014
# Generated by iptables-save v1.4.12 on Mon Jul  7 15:45:29 2014
*filter
:FORWARD ACCEPT [0:0]
:INPUT DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth1 -j ACCEPT
-A INPUT -s 172.20.0.0/20 -i eth1.10 -j ACCEPT
-A INPUT -s 192.168.5.0/24 -i eth1.15 -j ACCEPT
-A INPUT -s 192.168.25.0/24 -i eth1.25 -j ACCEPT
-A FORWARD -i eth1.15 -o eth1.10 -j DROP
-A FORWARD -i eth1.10 -o eth1.15 -j DROP
-A FORWARD -i eth1.25 -o eth1.10 -j DROP
-A FORWARD -i eth1.10 -o eth1.25 -j DROP
-A FORWARD -i eth1.15 -o eth1.25 -j DROP
-A FORWARD -i eth1.25 -o eth1.15 -j DROP
-A FORWARD -i eth1.20 -o eth1.10 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i eth1.10 -o eth1.20 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i eth1.20 -o eth1.15 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i eth1.15 -o eth1.20 -j REJECT --reject-with icmp-port-unreachable
-A INPUT   -i eth2 -p tcp -m tcp -m multiport --sports 80,443,5222 -j ACCEPT
COMMIT
# Completed on Mon Jul  7 15:45:29 2014

as_lan ★★
() автор топика
Ответ на: комментарий от as_lan

А вот скажи-ка, как у тебя это правило сдампилось после FORWARD, да еще и с таким замечательным выравниванием в три пробела?

-A INPUT   -i eth2 -p tcp -m tcp -m multiport --sports 80,443,5222 -j ACCEPT
edigaryev ★★★★★
()

хорошо что в современных линуксах теперь:

$ ifconfig
bash: ifconfig: command not found

а-то ведь сколько люди гемороя на ровном месте сами-себе создают через этот ifconfig :-)

user_id_68054 ★★★★★
()
Ответ на: комментарий от edigaryev

То было файл iptables.up.rules, который при запуске применяет правила. Webmin сгенерировал. В iptables-save все тоже самое, только с правильным порядком.

as_lan ★★
() автор топика

Сколько срача то развели. Пакеты, адресованные роутеру - попадают в INPUT, адресованные другим хостам за ним - в FORWARD. А дальше думай сам.

blind_oracle ★★★★★
()
Ответ на: комментарий от as_lan

Что не так?

ды странный подход к делу..

..вместо того чтобы сделать <что-то> прямо (в лоб) — ты делаешь это через обходной путь.

тебе нужен был шлюз — взял бы дистрибутив Linux и прописал бы в него правила (правила для ip-адресов или чего-там надо). но ты решил поставил Webmin..

(этот глучный тупой Webmin)

ладно пусть, Webmin так Webmin, твой выбор..

теперь другая ситуация — тебя попросили прислать iptables-save для того чтобы увидить все твои правила как есть — но и здесь ты решил пойти обходным путём и прислал другой вывод (замаскированный под iptables-save) :-)

вот я и думаю: "а ведь интересная тема!" человек делает всё — через обходные пути — это должно быть весело :-)

user_id_68054 ★★★★★
()
Последнее исправление: user_id_68054 (всего исправлений: 1)
Ответ на: комментарий от user_id_68054

Да пожалуйста. Или вы считаете что самый умный человек тут только вы? неужели прежде чем выложить, я не сравнивал? Вот чистый iptables-save. Покажите теперь разницу.

# Generated by iptables-save v1.4.12 on Mon Jul  7 17:09:48 2014
*filter
:INPUT DROP [2775:156648]
:FORWARD ACCEPT [161956:107158846]
:OUTPUT ACCEPT [139194:95731252]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth1 -j ACCEPT
-A INPUT -s 172.20.0.0/20 -i eth1.10 -j ACCEPT
-A INPUT -s 192.168.5.0/24 -i eth1.15 -j ACCEPT
-A INPUT -s 192.168.25.0/24 -i eth1.25 -j ACCEPT
-A INPUT -i eth2 -p tcp -m tcp -m multiport --sports 80,443,5222 -j ACCEPT
-A FORWARD -i eth1.15 -o eth1.10 -j DROP
-A FORWARD -i eth1.10 -o eth1.15 -j DROP
-A FORWARD -i eth1.25 -o eth1.10 -j DROP
-A FORWARD -i eth1.10 -o eth1.25 -j DROP
-A FORWARD -i eth1.15 -o eth1.25 -j DROP
-A FORWARD -i eth1.25 -o eth1.15 -j DROP
-A FORWARD -i eth1.20 -o eth1.10 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i eth1.10 -o eth1.20 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i eth1.20 -o eth1.15 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i eth1.15 -o eth1.20 -j REJECT --reject-with icmp-port-unreachable
COMMIT
# Completed on Mon Jul  7 17:09:48 2014
# Generated by iptables-save v1.4.12 on Mon Jul  7 17:09:48 2014
*mangle
:PREROUTING ACCEPT [4625898:3178760243]
:INPUT ACCEPT [2327250:1683996621]
:FORWARD ACCEPT [2262282:1488387806]
:OUTPUT ACCEPT [2179336:1496749587]
:POSTROUTING ACCEPT [4440255:2985099726]
COMMIT
# Completed on Mon Jul  7 17:09:48 2014
# Generated by iptables-save v1.4.12 on Mon Jul  7 17:09:48 2014
*nat
:PREROUTING ACCEPT [29792:2779792]
:INPUT ACCEPT [8464:500735]
:OUTPUT ACCEPT [14436:1063638]
:POSTROUTING ACCEPT [16067:1160124]
-A POSTROUTING -s 172.20.0.10 -j MASQUERADE
-A POSTROUTING -s 172.20.0.12 -j MASQUERADE
-A POSTROUTING -s 172.20.0.14 -j MASQUERADE
-A POSTROUTING -s 172.20.0.16 -j MASQUERADE
-A POSTROUTING -s 172.20.0.17 -j MASQUERADE
-A POSTROUTING -s 172.20.0.19 -j MASQUERADE
-A POSTROUTING -s 172.20.0.25 -j MASQUERADE
-A POSTROUTING -s 172.20.2.33 -j MASQUERADE
-A POSTROUTING -s 172.20.0.9 -j MASQUERADE
-A POSTROUTING -s 172.20.4.100 -j MASQUERADE
COMMIT
# Completed on Mon Jul  7 17:09:48 2014

Столько лишних разговоров. Кому то вебмин не нравится (к слову если у вас он работает не так, не факт что у всех он такой. Я за 3 года с ним пока проблем не испытывал). Фиг с ним. Разобрались допустим почему в 192.168.5 есть пинг. Почему его нет до 192.168.25. Какая разница откуда и как я показал правила iptables если их вдоль и поперек рассмотрели и не нашли ничего.

as_lan ★★
() автор топика
Ответ на: комментарий от as_lan

Вот чистый iptables-save. Покажите теперь разницу.

А может быть ты OUTPUT в обоих местах обрезал и нас траллишь, кто тебя знает?

Пингуй 192.168.25.1 и смотри на счетчики при помощи iptables -vnL. Так ты поймешь какое правило «съедает» пакеты.

edigaryev ★★★★★
()
Ответ на: комментарий от as_lan

Почему его нет до 192.168.25

может ли быть проблема на стороне этого твоего 192.168.25 ?

user_id_68054 ★★★★★
()
Последнее исправление: user_id_68054 (всего исправлений: 1)
Ответ на: комментарий от as_lan

У местного сообщества неприязнь к Webmin ?

Неприязнь к W..n - явление массовое и обоснованное.

anonymous
()
Ответ на: комментарий от anonymous

Если не секрет то почему. Может я что-то упустил. Просто у меня с ним пока все нормально.

as_lan ★★
() автор топика

нах такие сложности то? -A FORWARD -i !eth2 -j DROP и тоже самое тока -o !eth2 -j DROP, ато так они у вас в геометрической прогрессии расти будут, чем больше вланов тем больше правил.

anonymous
()
Ответ на: комментарий от as_lan

Гуевые утилиты, как для линухов и прочих юниксов, так и для цысок, обычно генерируют настолько нечитаемые конфиги, что когда пытаешься в них что-либо исправит, то хочется убить предыдущего админа.

Сталкивался много раз принимая в эксплуатацию работающее оборудование (при покупке нашей компанией какой-нибудь говноконторки - сплошь и рядом). Обычно все сношу и настраиваю с нуля.

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

Не знаю как в других утилитах, в вебмине если в правильном порядке добавлять правила, то и в конфиге они в читаемом порядке. По крайней мере я быстро ориентируюсь. И да, я не все через вебмин делаю, только однообразную и муторную работу. Тонкие настройки только в ручную.

as_lan ★★
() автор топика
Ответ на: комментарий от user_id_68054

В нормальных он есть, и никуда не девается. А еще просто, в некоторых дистрибутивах /sbin/ просто не добавлен в path.

anonymous_sama ★★★★★
()
Ответ на: комментарий от anonymous_sama

а /sbin — это не тот ли самый каталог который теперь в новых линуксах [по велению святого Поттеринга] является символьной ссылкой на usr/bin ? :-)

user_id_68054 ★★★★★
()
Ответ на: комментарий от user_id_68054

Ехал трололо через трололо.
Да я тут вчера чуть подумал, и решил что ТС'у вообще нужен private macvlan.

anonymous_sama ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.