我们有一个解决scheme,其中一些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表中消失之前变得不可用。 在通常的日志文件中没有任何理由。 系统日志configuration:
*.info;auth.none /var/adm/messages
任何关于这个问题可能的build议,感激地收到所有的帮助。 Solaris 10,x86是OS。
我的第一个build议是将脚本改为“永久酒吧”而不是“永久”。
所以从这个
#!/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 filename ”。 从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的详细程度,并查看发生了什么。
从这个更改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)照顾它。
如果有问题的系统configuration了虚拟IP和/或端口绑定,那么还需要一些其他的补丁。