У нас есть решение, в котором несколько серверов Solaris находятся в частной VLAN, и в этой VLAN нет прокси-серверов arp, поэтому для доступа к соседним серверам мы должны добавить статические записи arp. Каждый другой сервер в подсети, находящейся в этом частном vlan, должен иметь MAC-адрес шлюза.
например
#!/sbin/sh
ARP=/usr/sbin/arp
${ARP} -s 10.1.2.1 00:10:20:30:40:50 permanent
${ARP} -s 10.1.2.2 00:10:20:30:40:50 permanent
${ARP} -s 10.1.2.3 00:10:20:30:40:50 permanent
${ARP} -s 10.1.2.4 00:10:20:30:40:50 permanent
${ARP} -s 10.1.2.5 00:10:20:30:40:50 permanent
Предоставление нам записей arp:
arp -an
Net to Media Table: IPv4
Device IP Address Mask Flags Phys Addr
------ -------------------- --------------- -------- ---------------
oce1 10.1.2.1 255.255.255.255 SA 00:10:20:30:40:50
oce1 10.1.2.2 255.255.255.255 SA 00:10:20:30:40:50
oce1 10.1.2.3 255.255.255.255 SA 00:10:20:30:40:50
oce1 10.1.2.4 255.255.255.255 SA 00:10:20:30:40:50
oce1 10.1.2.5 255.255.255.255 SA 00:10:20:30:40:50
Проблема, с которой мы сталкиваемся, заключается в том, что по какой-то причине очень скоро записи будут отмечать «U», а затем станут невозможными перед исчезновением из таблицы ARP. В обычных файлах журнала причин не видно. Системный журнал настроен:
*.info;auth.none /var/adm/messages
Любые предложения относительно того, в чем может быть проблема, с благодарностью принимаются. Solaris 10, x86 - это ОС.
Моя первая рекомендация - изменить сценарий на «постоянный паб», а не просто на «постоянный».
Итак, из этого;
#!/sbin/sh
ARP=/usr/sbin/arp
${ARP} -s 10.1.2.1 00:10:20:30:40:50 permanent
${ARP} -s 10.1.2.2 00:10:20:30:40:50 permanent
${ARP} -s 10.1.2.3 00:10:20:30:40:50 permanent
${ARP} -s 10.1.2.4 00:10:20:30:40:50 permanent
${ARP} -s 10.1.2.5 00:10:20:30:40:50 permanent
К этому;
#!/sbin/sh
ARP=/usr/sbin/arp
${ARP} -s 10.1.2.1 00:10:20:30:40:50 permanent pub
${ARP} -s 10.1.2.2 00:10:20:30:40:50 permanent pub
${ARP} -s 10.1.2.3 00:10:20:30:40:50 permanent pub
${ARP} -s 10.1.2.4 00:10:20:30:40:50 permanent pub
${ARP} -s 10.1.2.5 00:10:20:30:40:50 permanent pub
или просто измените скрипт на использование "arp -f имя файла"как и предполагалось. Из справочной страницы Solaris 10 arp;
OPTIONS ...
-f Read the file named filename and set multiple entries
in the ARP tables. Entries in the file should be of
the form:
hostname MACaddress [temp] [pub] [trail] [permanent]
See the -s option for argument definitions.
Во-вторых, временно увеличьте уровень детализации системного журнала, изменив syslog.conf
настройки и просмотрите, что происходит.
+ Изменить syslog.conf
из этого;
*.info;auth.none /var/adm/messages
к этому;
*.info;auth.none;*.debug /var/adm/messages
Затем обновите службу системного журнала; svcadm -v refresh svc:/system/system-log:default
ProTIP: Если вы видите это в журналах;
ar_entry_query: Could not find the ace for source address #.#.#.#"
Тогда это означает, что arp удаляет записи для ваших физических интерфейсов. Примерно месяц назад я столкнулся с той же проблемой на нескольких серверах с ... проблемными интерфейсами, и патч ядра (120012-14) позаботился об этом.
Если в рассматриваемой системе настроены виртуальные IP-адреса и / или привязка портов, то потребуется еще несколько исправлений.