On 2015-06-06 16:28, Eugene Berdnikov wrote: > On Sat, Jun 06, 2015 at 09:29:43PM +0300, Artem Chuprina wrote: >> Кроме того. У меня в свое время был, гм, опыт. Были сервера в офисе. >> Было два провайдера, основной и резервный. Адреса, правда, разные >> (failover средствами DNS), но существенно не это. Существенно то, что >> входящий TCP на резервный канал работал на ура, а вот UDP не везло, >> потому что ответ на TCP идет с того же интерфейса, поскольку сеанс, а > Нет, в tcp никакой привязки коннекции к интерфейсу нет, поэтому такое > соединение должно было бы рваться, если бы не была обеспечена маршрутизация > пакетов с определёнными src_ip через своего провайдера. В линуксе это > достигается с помощью ip rules. > > <skip>
Мне кажется, что дискуссия зашла не туда. протоколам верхнего уровня все равно как идет фрейм, если только он нормально доставлен. ни IP ни TCP/UDP не имеют никакого представления об интерфейсе, кроме его IP характеристик. ниже разъяснение, TL/DR: в layer2 сети load balancing будет работать только если его настроить, иначе будет работать только один из интерфейсов (в нашем случае оба конца подключены к одному и тому же сегменту), блокируя второй механизмами STP. все ответы на ARP запросы были отосланы от MAC адреса br0, и никогда от реального выходного интерфейса. end of TL/DR само разъяснение: #brctl show bridge name bridge id STP enabled interfaces br0 8000.002427fe3fc8 no eth0 eth2 # ip link | grep -A1 -E "eth0|eth2" 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc sfq master br0 state UP mode DEFAULT group default qlen 1000 link/ether aa:00:04:00:0a:04 brd ff:ff:ff:ff:ff:ff -- 5: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether 00:24:27:fe:3f:c8 brd ff:ff:ff:ff:ff:ff # ip link show dev br0 4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default link/ether 00:24:27:fe:3f:c8 brd ff:ff:ff:ff:ff:ff Отмечаем, что бридж имееет MAC адрес интерфейса, который в дауне на соседней машине, откуда я зашел на этот сервер: $ arp 192.168.1.1 ? (192.168.1.1) at 0:24:27:fe:3f:c8 on en0 ifscope [ethernet] (адрес бриджа) # brctl delif br0 eth2(удаляем даун интерфейс) # ip link show dev br0 4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default link/ether aa:00:04:00:0a:04 brd ff:ff:ff:ff:ff:ff мак адрес бриджа сменился на адрес от eth0 то же самое на клиенте $ arp 192.168.1.1 ? (192.168.1.1) at aa:0:4:0:a:4 on en0 ifscope [ethernet] все это время я подключен к серверу и изменения мак адреса ловились очень быстро, моя SSH сессия работала все это время. Надеюсь помог. С уважением Тимур
smime.p7s
Description: S/MIME Cryptographic Signature