tranger Posted February 26, 2020 Posted February 26, 2020 (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 February 26, 2020 by tranger Вставить ник Quote
tranger Posted February 26, 2020 Author Posted February 26, 2020 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 Вставить ник Quote
VolanD666 Posted February 26, 2020 Posted February 26, 2020 Ну у вас что происходит? В таблицу эта запись становится или что? Вы смотрели трафик, который с тестового устройства идет? Он точно с этого ИПа летит? Вставить ник Quote
tranger Posted February 26, 2020 Author Posted February 26, 2020 (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 February 26, 2020 by tranger Вставить ник Quote
Ivan_83 Posted February 26, 2020 Posted February 26, 2020 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 Вообще из другой оперы. Вставить ник Quote
tranger Posted February 26, 2020 Author Posted February 26, 2020 3 часа назад, Ivan_83 сказал: Что вы хотите сделать? Хочу чтобы при подмене IP-адреса у абонента не было доступа к сети, так как на роутере был указан статический MAC-адрес Вставить ник Quote
orlik Posted February 27, 2020 Posted February 27, 2020 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% потерь Вставить ник Quote
tranger Posted February 27, 2020 Author Posted February 27, 2020 (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 - наш IP04: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 February 27, 2020 by tranger Вставить ник Quote
tranger Posted February 27, 2020 Author Posted February 27, 2020 (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 February 27, 2020 by tranger Вставить ник Quote
tranger Posted February 27, 2020 Author Posted February 27, 2020 Опишу всё ещё раз: В 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 - это ноут Получается пакет с роутера летит на прописанный МАК, доходит до ноута с другим МАКом, а потом следует ответ с МАКа ноута на МАК роутера. Вставить ник Quote
BETEPAH Posted February 27, 2020 Posted February 27, 2020 11 часов назад, tranger сказал: Хочу чтобы при подмене IP-адреса у абонента не было доступа к сети, так как на роутере был указан статический MAC-адрес Это делается на доступе. Например на длинках это называется IP-MAC-Port Binding (IMPB) И вообще не стоит роутер в одной подсети с клиентами ставить. Если это не общажная локалка. Вставить ник Quote
tranger Posted February 27, 2020 Author Posted February 27, 2020 2 часа назад, BETEPAH сказал: Это делается на доступе. Например на длинках это называется IP-MAC-Port Binding (IMPB) И вообще не стоит роутер в одной подсети с клиентами ставить. Если это не общажная локалка. Зачем тогда придумали арп таблицу со статическими адресами? Вставить ник Quote
tranger Posted February 27, 2020 Author Posted February 27, 2020 Каким-то непонятным образом начало работать. Отвлёкся по другим делам, через несколько часов решил продолжить, а всё работает... Вставить ник Quote
AlKov Posted February 28, 2020 Posted February 28, 2020 В 27.02.2020 в 14:48, tranger сказал: Каким-то непонятным образом начало работать. Отвлёкся по другим делам, через несколько часов решил продолжить, а всё работает... Может кеш? После прописания нового МАС-а, кеш обнуляли? Вставить ник Quote
Ivan_83 Posted February 28, 2020 Posted February 28, 2020 В 26.02.2020 в 23:47, tranger сказал: Хочу чтобы при подмене IP-адреса у абонента не было доступа к сети, так как на роутере был указан статический MAC-адрес 802.1x + радиус сервер вам в помощь. Ваша привязка мака к ip просто смешной и неудобный костыль. В 27.02.2020 в 14:34, tranger сказал: Зачем тогда придумали арп таблицу со статическими адресами? Затем что бывает нужно иногда работать без ARP, или бывает что по какой то причине появляется ещё один компутер который анонсит тот же IP а подключится нужно очень сильно к одному конкретному. А ещё есть юзкейсы когда арп кеш заполняется просто адресами из пролетающих мимо IP пакетов, без статических записей и без арп запросов. Что касается ваших развлечений, то если какой то хост получает пакет с не его MAC адресом то не обязательно он его будет отбрасывать. И коммутатор тоже может слать пакеты или во все порты или в тот единственный где ещё есть линк, что в итоге и ломает вашу схему. Вставить ник Quote
UglyAdmin Posted February 29, 2020 Posted February 29, 2020 7 часов назад, Ivan_83 сказал: 802.1x + радиус сервер вам в помощь. Тоже костыльно и геморройно. "Вилан на юзера" лучше. Вставить ник Quote
Ivan_83 Posted March 1, 2020 Posted March 1, 2020 Лучше, но тут похоже синдром вахтёра, с вланом будет не так интересно :) Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.