Jump to content

FreeBSD 8.0 + ARP


Recommended Posts

Привет.

 

Такая вот вводная. Есть небольшая сеть (знакомые, пять десятков хостов, офис), есть ее роутер.

Была семерка, решили обновить до восьмерки.

Админ там любит все контроллировать, кто/куда/откуда, т.е. ай-пи у всех статический и по мак-у лочит на порту и на роутере :-)

Так вот, обнаружилось, что куда-то пропадают arp записи.

 

Т.е. стоит в кроне такая вот штука:

*/10    *       *       *       *       root arp -a -n -d ; arp -n -f /usr/local/etc/ethers

Есть такой файлик:

 

10.10.0.11  00:01:6c:ec:аа:19       # Sergey.Boburiev
10.10.0.12  00:04:61:6f:1e:6c       # Vadim.Pehlev
10.10.0.13  00:1b:b9:b9:1d:2e       # Dmitry.Dubchinsky
...

 

Файлик и строчка в cron НЕ менялись со времени семёрки, формат соответствует требованиям man-а:

-f filename

Cause the file filename to be read and multiple entries to be set

in the ARP tables. Entries in the file should be of the form

 

hostname ether_addr [temp] [blackhole | reject] [pub

[only]]

 

with argument meanings as given above. Leading whitespace and

empty lines are ignored. A `#' character will mark the rest of

the line as a comment.

 

Время от времени permanent записи пропадают (хотя они есть в файле), т.е. или какой-то буфер переполняется, или ХЗ.

sysctl -a | grep arp дает такое:

 

net.inet.ip.same_prefix_carp_only: 0
net.link.ether.inet.log_arp_permanent_modify: 1
net.link.ether.inet.log_arp_movements: 1
net.link.ether.inet.log_arp_wrong_iface: 1

 

Вопрос. Кто виноват и что делать? Куда копать?

Link to post
Share on other sites

Просто в кроне укажите;

 

@reboot arp -f /usr/local/etc/ethers

 

Что бы при загрузки подгружал и всё.

 

А это уберите

 

*/10    *       *       *       *       root arp -a -n -d ; arp -n -f /usr/local/etc/ethers

Link to post
Share on other sites

Просто в кроне укажите;

@reboot arp -f /usr/local/etc/ethers

Не понял немного. Вы предлагаете перегружать сервер каждые 10 минут?

Link to post
Share on other sites

sysctl -w net.link.ether.inet.max_age=<timeout_in_seconds>

По-дефолту у вас стоит 20 минут

Увы, это значение только для новых записей, а не для постоянных (permanent), которые загружаются из файла (как в описанном случае). Постоянные не удаляются вообще.

 

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

Link to post
Share on other sites

sysctl -w net.link.ether.inet.max_age=<timeout_in_seconds>

По-дефолту у вас стоит 20 минут

Увы, это значение только для новых записей, а не для постоянных (permanent), которые загружаются из файла (как в описанном случае). Постоянные не удаляются вообще.

 

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

Странно. Пишется так:

Decrease the ARP cache cleanup interval.

 

Consider static ARP (but also consider the maintenance problems!). This does not scale well to routine use on LANs, but it might be worth its trouble on a small sensitive LAN — a DMZ LAN in your network perimeter, or a small LAN populated by a few sensitive servers and a router port.

Remember that if you change the Ethernet card in one machine, you must then modify and re-run the static ARP script boot script on every host on that LAN!

 

If you want to do this, you will need a script like the following, with IP and MAC addresses changed as needed. For thorough paranoia, define a MAC address for all possible IP addresses on the LAN, even ones not in use. For the unused IP addresses, use a MAC address that you know will not exist on that LAN (maybe that of an Ethernet card on another LAN).

arp -s 10.1.1.1 00:02:E3:05:9F:A3
arp -s 10.1.1.2 00:08:C7:29:E7:31
arp -s 10.1.1.3 00:60:97:B9:3B:B5
... and so on ...

Link to post
Share on other sites

Не могу найти в man-е про то, что перманент записи не удаляются, но когда-то вроде читал.

Но если всё-таки удаляются, все равно там для net.link.ether.inet.max_age стоит дефолт (20 минут), а по крону каждые 10 (!) минут все удаляется и выставляется заново:

 

*/10    *       *       *       *       root arp -a -n -d ; arp -n -f /usr/local/etc/ethers

Link to post
Share on other sites

Не могу найти в man-е про то, что перманент записи не удаляются, но когда-то вроде читал.

Но если всё-таки удаляются, все равно там для net.link.ether.inet.max_age стоит дефолт (20 минут), а по крону каждые 10 (!) минут все удаляется и выставляется заново:

 

*/10    *       *       *       *       root arp -a -n -d ; arp -n -f /usr/local/etc/ethers

ради интереса загнал в permanent [ethernet]

 

настройки net.link.ether.inet.max_age: 1200

настройки net.link.ether.inet.log_arp_permanent_modify: 1

 

уже вот минут 40 в статике висит без проблем

 

8я фря

Link to post
Share on other sites

Перманентные записи не должны удаляться!

проблема описанная Санито действительно существует во фряхе-восьмерке!

кто подскажет решение?

Link to post
Share on other sites

Не могу найти в man-е про то, что перманент записи не удаляются, но когда-то вроде читал.

Но если всё-таки удаляются, все равно там для net.link.ether.inet.max_age стоит дефолт (20 минут), а по крону каждые 10 (!) минут все удаляется и выставляется заново:

 

*/10    *       *       *       *       root arp -a -n -d ; arp -n -f /usr/local/etc/ethers

ради интереса загнал в permanent [ethernet]

 

настройки net.link.ether.inet.max_age: 1200

настройки net.link.ether.inet.log_arp_permanent_modify: 1

 

уже вот минут 40 в статике висит без проблем

 

8я фря

 

а ты попробуй загнать 3000 записей!

Link to post
Share on other sites

Не могу найти в man-е про то, что перманент записи не удаляются, но когда-то вроде читал.

Но если всё-таки удаляются, все равно там для net.link.ether.inet.max_age стоит дефолт (20 минут), а по крону каждые 10 (!) минут все удаляется и выставляется заново:

 

*/10    *       *       *       *       root arp -a -n -d ; arp -n -f /usr/local/etc/ethers

ради интереса загнал в permanent [ethernet]

 

настройки net.link.ether.inet.max_age: 1200

настройки net.link.ether.inet.log_arp_permanent_modify: 1

 

уже вот минут 40 в статике висит без проблем

 

8я фря

 

а ты попробуй загнать 3000 записей!

есть готовый файлик?

или сгенерить самому.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...