Страница 1 из 1
Ethernet, какие пакеты бегают
Добавлено: 2008-11-18 0:28:40
maradona
Такой вопрос: насколько мне известно на канальном уровне (тоесть в одном сегменте сети Ethernet) обмен кадрами происходит по mac адресам, тоесть насколько я представляю всю кухню - при любом трафике (не важно какой протокол) в одном сегменте сети по любому идет обмен кадрами по мак адресам, поэтому такой вопрос: имеем pipe в IPFW на if_bridge
Код: Выделить всё
00300 0 0 pipe 7 ip from any to any MAC 00:0c:42:1c:09:bd 00:17:31:a9:e9:9b
00400 0 0 pipe 7 ip from any to any MAC 00:17:31:a9:e9:9b 00:0c:42:1c:09:bd
сеть такая: 00:0c:42:1c:09:bd ------------if_bridge---------------00:17:31:a9:e9:9b
пингуем с одного мака второй через мост:
Код: Выделить всё
(23:18:47 </>) 0 # ipfw show
00100 18 1530 allow ip from any to any via lo0
00200 10 600 pipe 7 ip from any to any MAC 00:0c:42:1c:09:bd 00:17:31:a9:e9:9b
00300 10 600 pipe 7 ip from any to any MAC 00:17:31:a9:e9:9b 00:0c:42:1c:09:bd
видим кадры идут через pipe, теперь добавляем правило сверху pipe
Код: Выделить всё
$cmd add allow icmp from 192.168.1.2 to 192.168.1.1 keep-state
и смотрим:
Код: Выделить всё
(23:22:57 </>) 0 # ipfw show
00100 16 1474 allow ip from any to any via lo0
00200 16 960 allow icmp from 192.168.1.2 to 192.168.1.1 keep-state
00300 0 0 pipe 7 ip from any to any MAC 00:0c:42:1c:09:bd 00:17:31:a9:e9:9b
00400 0 0 pipe 7 ip from any to any MAC 00:17:31:a9:e9:9b 00:0c:42:1c:09:bd
видим что все попало в наше правило и ушло из фаера, обясните этот момент - почему в даном случае нет никаких кадров между мак адресами - они же должны быть, что я понимаю не правильно??
Re: Ethernet, какие пакеты бегают
Добавлено: 2008-11-18 0:57:04
hizel
медитируем над картинкой из man ipfw
Код: Выделить всё
^ to upper layers V
| |
+----------->-----------+
^ V
[ip(6)_input] [ip(6)_output] net.inet.ip.fw.enable=1
| |
^ V
[ether_demux] [ether_output_frame] net.link.ether.ipfw=1
| |
+-->--[bdg_forward]-->--+ net.link.ether.bridge_ipfw=1
^ V
| to devices |
правило
Код: Выделить всё
allow icmp from 192.168.1.2 to 192.168.1.1 keep-state
также соответствует
Код: Выделить всё
allow icmp from 192.168.1.2 to 192.168.1.1 mac any any keep-state
Re: Ethernet, какие пакеты бегают
Добавлено: 2008-11-18 9:24:31
maradona
Не совсем понятно, я имел виду что правило
Код: Выделить всё
allow icmp from 192.168.1.2 to 192.168.1.1 keep-state
это 3 уровень
а pipe для второго уровня
Код: Выделить всё
00200 10 600 pipe 7 ip from any to any MAC 00:0c:42:1c:09:bd 00:17:31:a9:e9:9b
0300 10 600 pipe 7 ip from any to any MAC 00:17:31:a9:e9:9b 00:0c:42:1c:09:bd
не понятно где кадры layer2? или в Ethernet это одно и тоже?
Re: Ethernet, какие пакеты бегают
Добавлено: 2008-11-18 9:33:27
zingel
Ethernet - технология передачи
L2 - уровень, на котором эта технология работает
Re: Ethernet, какие пакеты бегают
Добавлено: 2008-11-18 12:23:20
maradona
zingel писал(а):Ethernet - технология передачи
L2 - уровень, на котором эта технология работает
тоесть прочитав тут:
http://ru.wikipedia.org/wiki/Ethernet#. ... 0.B8.D1.8F
ключевую фразу:" Часто используется непосредственно протоколом интернет."
делаем вывод что пакеты icmp не попали в pipe, потому-что в пределах этой сети 192.168.1.0/24 обмен между двумя компами происходит не кадрами: "Ethernet Version 2 или Ethernet-кадр II, ещё называемый DIX" а пакетами протокола IP, я правильно понял?
Re: Ethernet, какие пакеты бегают
Добавлено: 2008-11-18 12:40:02
hizel
нет просто у вас эти пакеты акцептяца и вылетают из фаервола до пайпов

а layer2 внутри одной подсети никто не отменял

Re: Ethernet, какие пакеты бегают
Добавлено: 2008-11-18 12:45:32
maradona
hizel писал(а):нет просто у вас эти пакеты акцептяца и вылетают из фаервола до пайпов

а layer2 внутри одной подсети никто не отменял

ну так это и хочу понять, я вижу что уходит из фаера, вопрос где-же кадры канального уровня? они же должны быть..
Re: Ethernet, какие пакеты бегают
Добавлено: 2008-11-18 12:54:18
hizel
Код: Выделить всё
ipfw disable one_pass
ipfw add allow ip from any to any via lo0
ipfw add pipe 7 ip from any to any MAC 00:0c:42:1c:09:bd 00:17:31:a9:e9:9b
ipfw add pipe 7 ip from any to any MAC 00:17:31:a9:e9:9b 00:0c:42:1c:09:bd
ipfw add allow icmp from 192.168.1.2 to 192.168.1.1 keep-state
Re: Ethernet, какие пакеты бегают
Добавлено: 2008-11-18 15:14:51
maradona
Код: Выделить всё
а layer2 внутри одной подсети никто не отменял
да действительно так и есть, только keep-state нада убрать а то всеравно з фаера бежит:
Код: Выделить всё
(14:09:07 </>) 0 # ipfw show
00100 20 1586 allow ip from any to any via lo0
00300 29 1740 pipe 7 ip from any to any MAC 00:0c:42:1c:09:bd 00:17:31:a9:e9:9b
00400 29 1740 pipe 7 ip from any to any MAC 00:17:31:a9:e9:9b 00:0c:42:1c:09:bd
00500 29 1740 allow icmp from 192.168.1.2 to 192.168.1.1
00600 29 1740 allow icmp from 192.168.1.1 to 192.168.1.2
теперь видно трафик 3 и 2 уровня, чуть разобрался спс, просто trafshow меня в заблуждение ввел, именно этот трафик что в правилах 2 уровень trafshow не показывает.
Re: Ethernet, какие пакеты бегают
Добавлено: 2008-11-18 16:20:54
hizel
trafshow тупо не показывает, да и зачем
пользуйтесь
да и вобще по поводу layer2 в man-е внятный пример есть
Код: Выделить всё
# packets from ether_demux or bdg_forward
ipfw add 10 skipto 1000 all from any to any layer2 in
# packets from ip_input
ipfw add 10 skipto 2000 all from any to any not layer2 in
# packets from ip_output
ipfw add 10 skipto 3000 all from any to any not layer2 out
# packets from ether_output_frame
ipfw add 10 skipto 4000 all from any to any layer2 out
по нему в частности видно, что в самом печальном случае пакет проходит по правилам фаервола 4(четыре) раза в одну сторону
Re: Ethernet, какие пакеты бегают
Добавлено: 2008-11-18 17:56:05
maradona
спс, млин както раньше этот ключик не видел..., хотя trafshow layer2 тоже показывает, по крайней мере на мосту пакеты PPPoE
Re: Ethernet, какие пакеты бегают
Добавлено: 2008-11-18 17:57:25
hizel
мыслицо когда trafshow не видит пипишнегов, он показывает маки, в общем то логично