<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://www.fedora.md/w/index.php?action=history&amp;feed=atom&amp;title=%D0%9F%D1%81%D0%B5%D0%B2%D0%B4%D0%BE-%D0%BC%D0%BE%D1%81%D1%82_%D1%81_Proxy_ARP</id>
	<title>Псевдо-мост с Proxy ARP - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://www.fedora.md/w/index.php?action=history&amp;feed=atom&amp;title=%D0%9F%D1%81%D0%B5%D0%B2%D0%B4%D0%BE-%D0%BC%D0%BE%D1%81%D1%82_%D1%81_Proxy_ARP"/>
	<link rel="alternate" type="text/html" href="https://www.fedora.md/w/index.php?title=%D0%9F%D1%81%D0%B5%D0%B2%D0%B4%D0%BE-%D0%BC%D0%BE%D1%81%D1%82_%D1%81_Proxy_ARP&amp;action=history"/>
	<updated>2026-04-30T13:46:16Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.34.3</generator>
	<entry>
		<id>https://www.fedora.md/w/index.php?title=%D0%9F%D1%81%D0%B5%D0%B2%D0%B4%D0%BE-%D0%BC%D0%BE%D1%81%D1%82_%D1%81_Proxy_ARP&amp;diff=173&amp;oldid=prev</id>
		<title>OlegA: Новая: {{Суперпользователь}}  == Что такое МОСТ? == Мосты (bridges) -- это специальные устройства, которые могут быть ...</title>
		<link rel="alternate" type="text/html" href="https://www.fedora.md/w/index.php?title=%D0%9F%D1%81%D0%B5%D0%B2%D0%B4%D0%BE-%D0%BC%D0%BE%D1%81%D1%82_%D1%81_Proxy_ARP&amp;diff=173&amp;oldid=prev"/>
		<updated>2008-06-17T09:39:22Z</updated>

		<summary type="html">&lt;p&gt;Новая: {{Суперпользователь}}  == Что такое МОСТ? == Мосты (bridges) -- это специальные устройства, которые могут быть ...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Суперпользователь}}&lt;br /&gt;
&lt;br /&gt;
== Что такое МОСТ? ==&lt;br /&gt;
Мосты (bridges) -- это специальные устройства, которые могут быть установлены в сети и не требуют предварительной настройки. Сетевой коммутатор (swtch) -- это особый вид многопортового моста. Мост -- это чаще всего двухпортовый коммутатор (switch). На базе Linux может быть построен многопортовый (несколько интерфейсов) мост, по сути -- настоящий коммутатор (switch).&lt;br /&gt;
&lt;br /&gt;
Мосты часто применяются для объединения фрагментированных стационарных сетей. Поскольку мост -- это устройство 2-го уровня (Канальный уровень по классификации OCI), который лежит ниже сетевого уровня, где &amp;quot;заправляют&amp;quot; протоколы IP, то ни серверы, ни маршрутизаторы даже не подозревают о его существовании. Это означает, что вы можете блокировать или изменять некоторые пакеты, а так же формировать трафик по своему усмотрению.&lt;br /&gt;
&lt;br /&gt;
Еще одно замечательное свойство моста -- в случае выхода из строя, мост может быть заменен отрезком кабеля или сетевым концентратором (hub -- хабом).&lt;br /&gt;
&lt;br /&gt;
Одна из отрицательных сторон -- мост может стать причиной большой неразберихи. traceroute его не &amp;quot;видит&amp;quot; и не сможет указать в каком месте теряются пакеты. Так что ничего удивительного, если какая-нибудь организация считает правильным &amp;quot;ничего не менять&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
== Псевдо-мосты с проксированием ARP ==&lt;br /&gt;
По-умолчанию, обычный мост просто передает пакеты с одного интерфейса на другой в неизменном виде. Он рассматривает только аппаратный адрес пакета, чтобы определить -- в каком направлении нужно передать пакет. Это означает, что Linux может переправлять любой вид трафика, даже тот, который ему не известен, если пакеты имеют аппаратный адрес.&lt;br /&gt;
&lt;br /&gt;
Псевдо-мост работает несколько иначе и скорее больше походит на скрытый маршрутизатор, чем на мост, но подобно мосту имеет некоторое влияние на архитектуру сети.&lt;br /&gt;
&lt;br /&gt;
Правда это не совсем мост, поскольку пакеты в действительности проходят через ядро и могут быть отфильтрованы, изменены, перенаправлены или направлены по другому маршруту.&lt;br /&gt;
&lt;br /&gt;
Настоящий мост в принципе тоже может делать это, но для этого требуется специальное программное обеспечение, например: Ethernet Frame Diverter.&lt;br /&gt;
&lt;br /&gt;
Еще одно преимущество псевдо-моста состоит в том, что он не может передавать пакеты протоколов, которые &amp;quot;не понимает&amp;quot; -- что предохраняет сеть от заполнения всяким &amp;quot;мусором&amp;quot;. В случае, если вам необходимо переправлять такие пакеты (например, пакеты SAP или Netbeui), то устанавливайте настоящий мост. &lt;br /&gt;
&lt;br /&gt;
== ARP и проксирование ARP ==&lt;br /&gt;
Когда некий узел сети желает установить связь с другим узлом, находящимся в том же физическом сегменте сети, то он отсылает пакет ARP-запроса, который, в переводе на человеческий язык, может звучать примерно так: &amp;quot;У кого установлен адрес 10.0.0.1? Сообщите по адресу 10.0.0.7&amp;quot;. В ответ на запрос, 10.0.0.1 ответит коротким пакетом &amp;quot;Я здесь! Мой аппаратный адрес xx:xx:xx:xx:xx:xx&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Когда 10.0.0.7 получит ответ, он запомнит аппаратный адрес хоста 10.0.0.1 и будет хранить его в кэше некоторое время.&lt;br /&gt;
&lt;br /&gt;
При настройке моста мы можем указать ему на необходимость отвечать на ARP-запросы. Это вынудит узлы сети передавать ARP-запросы мосту, который затем обработает их и передаст на соответствующий интерфейс.&lt;br /&gt;
&lt;br /&gt;
Таким образом, всякий раз, когда компьютер по одну сторону моста запрашивает аппаратный адрес компьютера, находящегося по другую сторону, то на запрос отвечает мост, как бы говоря &amp;quot;передавай все через меня&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Вследствие чего весь трафик попадет на мост и будет передан в нужном направлении. &lt;br /&gt;
&lt;br /&gt;
== Реализация ==&lt;br /&gt;
&lt;br /&gt;
В Linux 2.4/2.5 (а возможно и в 2.2) все это было заменено установкой флага proxy_arp в файловой системе proc. Теперь процедура настройки псевдо-моста выглядит так:&lt;br /&gt;
1. Назначить IP-адреса интерфейсам с обоих сторон.&lt;br /&gt;
&lt;br /&gt;
2. Создать маршруты, так чтобы ваша машина знала, какие адреса, по какую сторону находятся.&lt;br /&gt;
&lt;br /&gt;
3. Включить проксирование ARP для обоих интерфейсов, например командами:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/ethL/proxy_arp&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/conf/ethR/proxy_arp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где символами L и R обозначены интерфейсы по одну и по другую сторону моста ( Left и Right -- &amp;quot;слева&amp;quot; и &amp;quot;справа&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Кроме того, не забывайте включить флаг ip_forwarding! Для истинного моста установка этого флага не требуется.&lt;br /&gt;
&lt;br /&gt;
И еще одно обстоятельство, на которое необходимо обратить внимание -- не забывайте очистить кэши arp на компьютерах в сети, которые могут содержать устаревшие сведения и которые больше не являются правильными.&lt;br /&gt;
&lt;br /&gt;
На Cisco для этого существует команда clear arp-cache, в Linux -- команда arp -d ip.address. В принципе, вы можете подождать, пока кэши очистятся самостоятельно, за счет истечения срока хранения записей, но это может занять довольно продолжительное время.&lt;br /&gt;
&lt;br /&gt;
Вы можете ускорить этот процесс, используя замечательный инструмент arping, который во многих дистрибутивах является частью пакета iputils. Утилитой arping вы может отослать незапрошенные arp-сообщения, чтобы модифицировать удаленные кэши arp.&lt;br /&gt;
&lt;br /&gt;
== Пример ==&lt;br /&gt;
Пусть:&lt;br /&gt;
&amp;lt;code&amp;gt;x.x.x.96/28&amp;lt;/code&amp;gt; - выделенная подсеть, которую нужно распределить по машинам в локальной сети.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;x.x.x.97&amp;lt;/code&amp;gt; - IP внешнего шлюза.&lt;br /&gt;
&lt;br /&gt;
Требуется поставить между шлюзом и сетью фаервол, &lt;br /&gt;
с одним адресом на двух интерфейсах &amp;lt;code&amp;gt;x.x.x.98&amp;lt;/code&amp;gt;, транслируя ARP трафик используя &amp;quot;Proxy ARP&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;x.x.x.99 ... x.x.x.110) --- (eth1, x.x.x.98 | eth0, x.x.x.98) --- (x.x.x.97)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Удаляем маршруты созданные по умолчанию.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ip route del x.x.x.96/28 dev eth0&lt;br /&gt;
# ip route del x.x.x.96/28 dev eth1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пакеты для x.x.x.97 пускаем через eth0, а для x.x.x.96/28 через eth1&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# ip route add x.x.x.97 dev eth0&lt;br /&gt;
# ip route add x.x.x.96/28 dev eth1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Включаем Proxy ARP&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# echo 1 &amp;gt; /proc/sys/net/ipv4/conf/eth0/proxy_arp&lt;br /&gt;
# echo 1 &amp;gt; /proc/sys/net/ipv4/conf/eth1/proxy_arp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Источники:&lt;br /&gt;
* http://gazette.linux.ru.net/rus/articles/lartc/x2879.html&lt;br /&gt;
&lt;br /&gt;
[[Category:Установка и настройка]]&lt;br /&gt;
[[Category:Настройка системы]]&lt;/div&gt;</summary>
		<author><name>OlegA</name></author>
		
	</entry>
</feed>