А BRIDGE ИЛИ Proxy ARP могут помочь ?
На счёт опции proxy_arp в параметрах ядра цитирую:
Linux Advanced Routing & Traffic Control HOWTO
16.3.2. Реализация
В ранних версиях Linux, для реализации проксирования протокола ARP, вам пришлось бы настраивать ядро. Для того, чтобы сконфигурировать псевдо-мост, вам пришлось бы вручную описать все маршруты по обе стороны моста И создать соответствующие правила. Это требовало достаточно большого объема ручного ввода, что само по себе могло повлечь за собой большое число ошибок.
В Linux 2.4/2.5 (а возможно и в 2.2) все это было заменено установкой флага proxy_arp в файловой системе proc. Теперь процедура настройки псевдо-моста выглядит так:
1.
Назначить IP-адреса интерфейсам с обоих сторон.
2.
Создать маршруты, так чтобы ваша машина знала, какие адреса, по какую сторону находятся.
3.
Включить проксирование ARP для обоих интерфейсов, например командами:
echo 1 > /proc/sys/net/ipv4/conf/ethL/proxy_arp
echo 1 > /proc/sys/net/ipv4/conf/ethR/proxy_arp
где символами L и R обозначены интерфейсы по одну и по другую сторону моста ( Left и Right -- "слева" и "справа").
Кроме того, не забывайте включить флаг ip_forwarding! Для истинного моста установка этого флага не требуется.
И еще одно обстоятельство, на которое необходимо обратить внимание -- не забывайте очистить кэши arp на компьютерах в сети, которые могут содержать устаревшие сведения и которые больше не являются правильными.
На Cisco для этого существует команда clear arp-cache, в Linux -- команда arp -d ip.address. В принципе, вы можете подождать, пока кэши очистятся самостоятельно, за счет истечения срока хранения записей, но это может занять довольно продолжительное время.
Вы можете ускорить этот процесс, используя замечательный инструмент arping, который во многих дистрибутивах является частью пакета iputils. Утилитой arping вы может отослать незапрошенные arp-сообщения, чтобы модифицировать удаленные кэши arp.
Это очень мощный метод, который, к сожалению, может использоваться злоумышленниками для нарушения правильной маршрутизации!
Примечание:
В Linux 2.4, возможно потребуется выполнить команду echo 1>/proc/sys/net/ipv4/ip_nonlocal_bind прежде, чем появится возможность отправлять незапрошенные arp-сообщения!
Вы можете также обнаружить некоторые проблемы с сетью, если имеете привычку к определению маршрутов без сетевых масок. При выполнении выборочной маршрутизации совершенно необходимо, чтобы сетевые маски были установлены должным образом.
Ещё:
13.2. Малоизвестные настройки.
/proc/sys/net/ipv4/conf/DEV/proxy_arp
Включает/выключает проксирование arp-запросов для заданного интерфейса. ARP-прокси позволяет маршрутизатору отвечать на ARP запросы в одну сеть, в то время как запрашиваемый хост находится в другой сети. С помощью этого средства происходит "обман" отправителя, который отправил ARP запрос, после чего он "думает", что маршрутизатор является хостом назначения, тогда как в действительности хост назначения находится по другую сторону маршрутизатора. Маршрутизатор выступает в роли уполномоченного агента хоста назначения, перекладывая пакеты от другого хоста. Значение по-умолчанию -- 0 (выключено). Дополнительную информацию вы найдете в Proxy-ARP mini HOWTO.
Здесь ясно написано, что эта опция включает проксирование ARP запросов.
Ещё встречал включать proxy arp так:
arp -i eth1 -Ds 192.168.1.1 eth1 pub
Но это не работает. По видимому, для старых ядер.
???