Jump to content

Recommended Posts

Posted (edited)

Имеется роутер на Centos7
Прописываю:
arp -s 1.2.3.4 04:D1:69:8D:35:FF -i vlan100

В sysctl.conf:
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2

На тестовом устройстве с другим MAC-адресом указываю ip-адрес 1.2.3.4. Получаю доступ к сети. Почему так происходит, я ведь указал статический mac? Почему я с другого мака получаю доступ?

Edited by tranger
Posted

1.2.3.1 - наш роутер
1.2.3.4 - наш IP
05:C9:55:1E:86:FE - мак роутера

 

14:19:16.660585 ARP, Request who-has 1.2.3.4 tell 0.0.0.0, length 46
14:19:16.905173 ARP, Request who-has 1.2.3.1 tell 1.2.3.4, length 46
14:19:16.905198 ARP, Reply 1.2.3.1 is-at 05:C9:55:1E:86:FE (oui Unknown), length 28
14:19:17.658867 ARP, Request who-has 1.2.3.4 tell 0.0.0.0, length 46
14:19:18.657202 ARP, Request who-has 1.2.3.4 tell 0.0.0.0, length 46
14:19:19.655526 ARP, Request who-has 1.2.3.4 tell 1.2.3.4, length 46
14:19:19.808556 ARP, Request who-has 1.2.3.1 tell 1.2.3.4, length 46
14:19:19.808574 ARP, Reply 1.2.3.1 is-at 05:C9:55:1E:86:FE (oui Unknown), length 28
14:19:20.373830 ARP, Request who-has 1.2.3.1 tell 1.2.3.4, length 46
14:19:20.373860 ARP, Reply 1.2.3.1 is-at 05:C9:55:1E:86:FE (oui Unknown), length 28
14:19:22.515048 ARP, Request who-has 1.2.3.1 tell 1.2.3.4, length 46
14:19:22.515063 ARP, Reply 1.2.3.1 is-at 05:C9:55:1E:86:FE (oui Unknown), length 28
14:19:22.560357 ARP, Request who-has 1.2.3.1 tell 1.2.3.4, length 46
14:19:22.560372 ARP, Reply 1.2.3.1 is-at 05:C9:55:1E:86:FE (oui Unknown), length 28
14:19:23.129135 ARP, Request who-has 1.2.3.1 tell 1.2.3.4, length 46
14:19:23.129156 ARP, Reply 1.2.3.1 is-at 05:C9:55:1E:86:FE (oui Unknown), length 28
14:19:23.424724 ARP, Request who-has 1.2.3.1 tell 1.2.3.4, length 46
14:19:23.424744 ARP, Reply 1.2.3.1 is-at 05:C9:55:1E:86:FE (oui Unknown), length 28
14:19:27.209361 ARP, Request who-has 1.2.3.1 tell 1.2.3.4, length 46
14:19:27.209379 ARP, Reply 1.2.3.1 is-at 05:C9:55:1E:86:FE (oui Unknown), length 28


 

Posted (edited)

В таблицу запись становится:
1.2.3.4             ether   04:d1:69:8d:35:ff   CM                    vlan100
Трафик летит точно с указанного IP-адреса.
Как втыкаю кабель в тестовое устройство, tcpdump показывает то что я выше опубликовал, дальше летит трафик во внешку
И ещё когда тестовое устройство втыкаю с прописанным IP-адресом, в arp таблице я не вижу МАКа этого устройства. Арп таблица показывает прописанный руками мак.
Я уже со всеми параметрами игрался arp_ignore, arp_announce, rp_filter - нифига не помогает
Поэтому и написал на форум, может кто-то с подобным встречался.
Точно могу сказать, что год назад всё работало. Но за этот год никаких изменений не делали (кроме обновления пакетов yum update). У сервера аптайм 558 дней. Хрен знает, может ребутнуть его :-) (Ребутнуть смогу только ночью, много абонентов работает...)

Edited by tranger
Posted
4 часа назад, tranger сказал:

На тестовом устройстве с другим MAC-адресом указываю ip-адрес 1.2.3.4. Получаю доступ к сети. Почему так происходит, я ведь указал статический mac? Почему я с другого мака получаю доступ?

Что вы хотите сделать?

 

4 часа назад, tranger сказал:

1.2.3.1 - наш роутер
1.2.3.4 - наш IP
05:C9:55:1E:86:FE - мак роутера

tcpdump -e -n ...

то что у вас - без мак адресов, на половину бесполезно для понимания.

 

2 часа назад, tranger сказал:

rp_filter

Вообще из другой оперы.

Posted
3 часа назад, Ivan_83 сказал:

Что вы хотите сделать?

Хочу чтобы при подмене IP-адреса у абонента не было доступа к сети, так как на роутере был указан статический MAC-адрес

Posted
13 hours ago, tranger said:

В таблицу запись становится:
1.2.3.4             ether   04:d1:69:8d:35:ff   CM                    vlan100
Трафик летит точно с указанного IP-адреса.
Как втыкаю кабель в тестовое устройство, tcpdump показывает то что я выше опубликовал, дальше летит трафик во внешку
И ещё когда тестовое устройство втыкаю с прописанным IP-адресом, в arp таблице я не вижу МАКа этого устройства. Арп таблица показывает прописанный руками мак.
Я уже со всеми параметрами игрался arp_ignore, arp_announce, rp_filter - нифига не помогает
Поэтому и написал на форум, может кто-то с подобным встречался.
Точно могу сказать, что год назад всё работало. Но за этот год никаких изменений не делали (кроме обновления пакетов yum update). У сервера аптайм 558 дней. Хрен знает, может ребутнуть его :-) (Ребутнуть смогу только ночью, много абонентов работает...)

 

Хз, проверил сейчас , как и положено пакетики от клиента без проблем просачиваются наружу , но ответы летят на неправильный мак адрес, и до этого абонента уже не доходят

 

08:52:40.005566 52:54:00:86:48:62 > 8e:12:8e:d5:9c:21, ethertype IPv4 (0x0800), length 98: 172.20.0.3 > 8.8.8.8: ICMP echo request, id 15999, seq 1, length 64
08:52:40.080633 8e:12:8e:d5:9c:21 > 52:54:00:86:48:61, ethertype IPv4 (0x0800), length 98: 8.8.8.8 > 172.20.0.3: ICMP echo reply, id 15999, seq 1, length 64


На клиенте при этом естественно 100% потерь

Posted (edited)
3 часа назад, orlik сказал:

Хз, проверил сейчас , как и положено пакетики от клиента без проблем просачиваются наружу , но ответы летят на неправильный мак адрес, и до этого абонента уже не доходят

 


08:52:40.005566 52:54:00:86:48:62 > 8e:12:8e:d5:9c:21, ethertype IPv4 (0x0800), length 98: 172.20.0.3 > 8.8.8.8: ICMP echo request, id 15999, seq 1, length 64
08:52:40.080633 8e:12:8e:d5:9c:21 > 52:54:00:86:48:61, ethertype IPv4 (0x0800), length 98: 8.8.8.8 > 172.20.0.3: ICMP echo reply, id 15999, seq 1, length 64


На клиенте при этом естественно 100% потерь

На тестовом сервере всё отлично работает, на тестовом устройстве 100% потерь. Не могу понять в чём же дело... Ребут не помог :-)
Вот ещё раз tcpdump:
1.2.3.1 - наш роутер
1.2.3.4 - наш IP
04:D1:69:8D:35:FF - прописанный мак в арп (arp -s 1.2.3.4 04:D1:69:8D:35:FF -i vlan100)
05:C9:55:1E:86:FE - мак роутера
00:24:54:ca:b0:ba - мак тестового устройства

08:27:36.184409 00:24:54:ca:b0:ba > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 1.2.3.1 tell 1.2.3.4, length 46
08:27:36.184422 05:C9:55:1E:86:FE > 00:24:54:ca:b0:ba, ethertype ARP (0x0806), length 42: Reply 1.2.3.1 is-at 05:C9:55:1E:86:FE, length 28
08:27:36.258096 00:24:54:ca:b0:ba > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 1.2.3.4 tell 0.0.0.0, length 46
08:27:37.256555 00:24:54:ca:b0:ba > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 1.2.3.4 tell 0.0.0.0, length 46
08:27:38.255076 00:24:54:ca:b0:ba > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 1.2.3.4 tell 0.0.0.0, length 46
08:27:39.253271 00:24:54:ca:b0:ba > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 1.2.3.4 tell 1.2.3.4, length 46
08:27:39.762783 00:24:54:ca:b0:ba > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 1.2.3.1 tell 1.2.3.4, length 46
08:27:39.762795 05:C9:55:1E:86:FE > 00:24:54:ca:b0:ba, ethertype ARP (0x0806), length 42: Reply 1.2.3.1 is-at 05:C9:55:1E:86:FE, length 28
08:27:40.372230 00:24:54:ca:b0:ba > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 1.2.3.1 tell 1.2.3.4, length 46
08:27:40.372242 05:C9:55:1E:86:FE > 00:24:54:ca:b0:ba, ethertype ARP (0x0806), length 42: Reply 1.2.3.1 is-at 05:C9:55:1E:86:FE, length 28
08:27:42.372671 00:24:54:ca:b0:ba > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 1.2.3.1 tell 1.2.3.4, length 46
08:27:42.372683 05:C9:55:1E:86:FE > 00:24:54:ca:b0:ba, ethertype ARP (0x0806), length 42: Reply 1.2.3.1 is-at 05:C9:55:1E:86:FE, length 28
08:27:42.936064 00:24:54:ca:b0:ba > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 1.2.3.1 tell 1.2.3.4, length 46
08:27:42.936076 05:C9:55:1E:86:FE > 00:24:54:ca:b0:ba, ethertype ARP (0x0806), length 42: Reply 1.2.3.1 is-at 05:C9:55:1E:86:FE, length 28
08:27:43.047876 00:24:54:ca:b0:ba > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 1.2.3.1 tell 1.2.3.4, length 46
08:27:43.047889 05:C9:55:1E:86:FE > 00:24:54:ca:b0:ba, ethertype ARP (0x0806), length 42: Reply 1.2.3.1 is-at 05:C9:55:1E:86:FE, length 28
08:27:36.184409 00:24:54:ca:b0:ba > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 1.2.3.1 tell 1.2.3.4, length 46
08:27:36.184422 05:C9:55:1E:86:FE > 00:24:54:ca:b0:ba, ethertype ARP (0x0806), length 42: Reply 1.2.3.1 is-at 05:C9:55:1E:86:FE, length 28
08:27:36.258096 00:24:54:ca:b0:ba > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 1.2.3.4 tell 0.0.0.0, length 46
08:27:37.256555 00:24:54:ca:b0:ba > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 1.2.3.4 tell 0.0.0.0, length 46
08:27:38.255076 00:24:54:ca:b0:ba > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 1.2.3.4 tell 0.0.0.0, length 46
08:27:39.253271 00:24:54:ca:b0:ba > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 1.2.3.4 tell 1.2.3.4, length 46
08:27:39.762783 00:24:54:ca:b0:ba > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 1.2.3.1 tell 1.2.3.4, length 46
08:27:39.762795 05:C9:55:1E:86:FE > 00:24:54:ca:b0:ba, ethertype ARP (0x0806), length 42: Reply 1.2.3.1 is-at 05:C9:55:1E:86:FE, length 28
08:27:40.372230 00:24:54:ca:b0:ba > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 1.2.3.1 tell 1.2.3.4, length 46
08:27:40.372242 05:C9:55:1E:86:FE > 00:24:54:ca:b0:ba, ethertype ARP (0x0806), length 42: Reply 1.2.3.1 is-at 05:C9:55:1E:86:FE, length 28
08:27:42.372671 00:24:54:ca:b0:ba > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 1.2.3.1 tell 1.2.3.4, length 46
08:27:42.372683 05:C9:55:1E:86:FE > 00:24:54:ca:b0:ba, ethertype ARP (0x0806), length 42: Reply 1.2.3.1 is-at 05:C9:55:1E:86:FE, length 28
08:27:42.936064 00:24:54:ca:b0:ba > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 1.2.3.1 tell 1.2.3.4, length 46
08:27:42.936076 05:C9:55:1E:86:FE > 00:24:54:ca:b0:ba, ethertype ARP (0x0806), length 42: Reply 1.2.3.1 is-at 05:C9:55:1E:86:FE, length 28
08:27:43.047876 00:24:54:ca:b0:ba > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 1.2.3.1 tell 1.2.3.4, length 46
08:27:43.047889 05:C9:55:1E:86:FE > 00:24:54:ca:b0:ba, ethertype ARP (0x0806), length 42: Reply 1.2.3.1 is-at 05:C9:55:1E:86:FE, length 28

 

Edited by tranger
Posted (edited)

Обмен трафика со внешкой происходит так:
 

05:C9:55:1E:86:FE > 04:D1:69:8D:35:FF
 00:24:54:ca:b0:ba > 05:C9:55:1E:86:FE

Роутер шлёт пакет на статический MAC, который я прописал в arp. Каким-то образом пакет долетает до тестового устройства и ответ следует уже от МАКа самого тестового устройства
Почему пакет уходит на 04:D1:69:8D:35:FF, а реально приходит на 00:24:54:ca:b0:ba?

Edited by tranger
Posted

Опишу всё ещё раз:
 

В sysctl.conf пишу:

net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2


sysctl -p
arp -s 1.2.3.4 04:D1:69:8D:35:FF -i vlan100

 

Если я воткну в сеть ноут с маком 00:24:54:ca:b0:ba и пропишу ip 1.2.3.4, я не должен иметь доступ к сети, пока мой мак не будет таким как я прописывал в arp.

Но нифига подобного, на ноуте есть внешка.
Причём в арп таблице мак ноута 00:24:54:ca:b0:ba не появляется.


tcpdump выдаёт такую картину:
05:C9:55:1E:86:FE > 04:D1:69:8D:35:FF
00:24:54:ca:b0:ba > 05:C9:55:1E:86:FE
05:C9:55:1E:86:FE - это роутер
04:D1:69:8D:35:FF - это мак, который я прописал в arp
00:24:54:ca:b0:ba - это ноут
Получается пакет с роутера летит на прописанный МАК, доходит до ноута с другим МАКом, а потом следует ответ с МАКа ноута на МАК роутера.

Posted
11 часов назад, tranger сказал:

Хочу чтобы при подмене IP-адреса у абонента не было доступа к сети, так как на роутере был указан статический MAC-адрес 

Это делается на доступе. Например на длинках это называется

  IP-MAC-Port Binding (IMPB)

 

И вообще не стоит роутер в одной подсети с клиентами ставить. Если это не общажная локалка.

Posted
2 часа назад, BETEPAH сказал:

Это делается на доступе. Например на длинках это называется

  IP-MAC-Port Binding (IMPB)

 

И вообще не стоит роутер в одной подсети с клиентами ставить. Если это не общажная локалка.

Зачем тогда придумали арп таблицу со статическими адресами?

Posted
В 27.02.2020 в 14:48, tranger сказал:

Каким-то непонятным образом начало работать. Отвлёкся по другим делам, через несколько часов решил продолжить, а всё работает...

Может кеш? После прописания нового МАС-а, кеш обнуляли?

Posted
В 26.02.2020 в 23:47, tranger сказал:

Хочу чтобы при подмене IP-адреса у абонента не было доступа к сети, так как на роутере был указан статический MAC-адрес

802.1x + радиус сервер вам в помощь.

Ваша привязка мака к ip просто смешной и неудобный костыль.

 

В 27.02.2020 в 14:34, tranger сказал:

Зачем тогда придумали арп таблицу со статическими адресами?

Затем что бывает нужно иногда работать без ARP, или бывает что по какой то причине появляется ещё один компутер который анонсит тот же IP а подключится нужно очень сильно к одному конкретному.

А ещё есть юзкейсы когда арп кеш заполняется просто адресами из пролетающих мимо IP пакетов, без статических записей и без арп запросов.

 

Что касается ваших развлечений, то если какой то хост получает пакет с не его MAC адресом то не обязательно он его будет отбрасывать. И коммутатор тоже может слать пакеты или во все порты или в тот единственный где ещё есть линк, что в итоге и ломает вашу схему.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.