Столкнулся с необходимостью реализовать arp proxy.
Что есть: freebsd 7.3.
Схема реализованная так:
Код: Выделить всё
ifconfig vlan1 195.108.106.129/32 create vlan 1 vlandev rl0
ifconfig vlan2 195.108.106.129/32 create vlan 2 vlandev rl0
route add -net 195.108.106.153/32 -cloning -iface vlan1
route add -net 195.108.106.154/32 -cloning -iface vlan2
arp -an
195.108.106.154 00:00:00:00:00:01
195.108.106.153 00:00:00:00:00:02
195.108.106.129 00:00:00:00:00:03
ip адрес 195.108.106.153 не пингует 195.108.106.154.
При включении опции
Код: Выделить всё
net.link.ether.inet.proxyall=1
Т.е. arp proxy в принципе работает.
Читаю мануал раз:
Код: Выделить всё
Proxy ARP is a feature whereby the local host will respond to requests
for addresses other than itself, with its own address. Normally, proxy
ARP in FreeBSD is set up on a host-by-host basis using the arp(8) util-
ity, by adding an entry for each host inside a given subnet for which
proxying of ARP requests is desired. However, the ``proxy all'' feature
causes the local host to act as a proxy for all hosts reachable through
some other network interface, different from the one the request came in
from. It may be enabled by setting the sysctl(8) MIB variable
net.link.ether.inet.proxyall to 1.
Код: Выделить всё
If the word pub is given,
the entry will be ``published''; i.e., this system will act as an
ARP server, responding to requests for hostname even though the
host address is not its own. In this case the ether_addr can be
given as auto in which case the interfaces on this host will be
examined, and if one of them is found to occupy the same subnet,
its Ethernet address will be used. If the only keyword is also
specified, this will create a ``published (proxy only)'' entry.
This type of entry is created automatically if arp detects that a
routing table entry for hostname already exists.
мне выдается ошибка: set: proxy entry exist for non 802 device
возникает три вопроса.
1) в чем вообще смысл опции pub?
2) правильно ли я понял мануал, что мне нужно адрес 195.108.106.153 и 195.108.106.154 "опубликовать" с мак адресом шлюза?
3) как все-таки решить данную проблему, не прибегая к sysctl net.link.ether.inet.proxyall=1 ?