<div dir="ltr">I didn't see this since ALE stuff started going to SPAM (that is being resolved). I had to settle for putting everything on a single bond interface and forgetting about a service interface. I had to get the systems operational.</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Oct 11, 2017 at 4:47 PM, Ed Cashin <span dir="ltr"><<a href="mailto:ecashin@noserose.net" target="_blank">ecashin@noserose.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">One thing to bear in mind is that with many Linux systems in a default configuration, ARP replies will mention an inaccessible IP address.<div><br></div><div>E.g., host A on networks 1 and 2 has interfaces A1 and A2.  Host B is only on network 2.  Say A1 has IP 10.1.1.1 with MAC address aa:bb:cc:dd:ee:ff.</div><div><br></div><div>Now do "arping -I B2 10.1.1.1" on B.  Even though that's the IP for A1, which B cannot get to directly, A responds with an ARP reply that says aa:bb:cc:dd:ee:ff has IP 10.1.1.1.</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Wed, Oct 11, 2017 at 4:06 PM, James Sumners <span dir="ltr"><<a href="mailto:james.sumners@gmail.com" target="_blank">james.sumners@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr">I lied. I'm not having fun.<div><br></div><div>I have a system with three NICs: eth0, eth1, eth2. This system is to be a "load balancer," or, more accurately, a reverse proxy for many end points. My desire is to make eth0 a "maintenance" NIC and bond eth1 & eth2 into the primary service interface, bond0. I have three subnets in play: <a href="http://10.0.1.0/24" target="_blank">10.0.1.0/24</a>, <a href="http://10.0.2.0/24" target="_blank">10.0.2.0/24</a>, and <a href="http://10.0.3.0/24" target="_blank">10.0.3.0/24</a>. Pretend that 10.0.2/24 and 10.0.3/24 are public, Internet accessible, subnets and 10.0.1/24 is private. The proxy will serve end points on all three of these subnets.</div><div><br></div><div>Okay, so let's setup the interfaces:</div><div><br></div><div>```</div><div>$ echo -e "1 service\n2 bond" >> /etc/iproute2/rt_tables</div><div><br></div><div>$ ip link set eth0 up</div><div>$ ip addr add <a href="http://10.0.1.2/24" target="_blank">10.0.1.2/24</a> dev eth0</div><div>$ ip rule add iif eth0 prio 0 table service</div><div>$ ip route add to <a href="http://0.0.0.0/0" target="_blank">0.0.0.0/0</a> via 10.0.1.1 dev eth0 prio 10000 table main</div><div>$ ip route add default via 10.0.1.1 dev eth0 table service</div><div>$ ip route flush cache</div><div><br></div><div>$ ip link add dev bond0 address 00:00:00:aa:bb:cc type bond</div><div>$ echo balance-alb > /sys/class/net/bond0/bonding/m<wbr>ode</div><div>$ echo 100 > /sys/class/net/bond0/bonding/m<wbr>iimon</div><div>$ ip link set eth1 master bond0</div><div>$ ip link set eth2 master bond0</div><div>$ ip link set bond0 up</div><div>$ ip addr add <a href="http://10.0.2.2/24" target="_blank">10.0.2.2/24</a> dev bond0 # see note 1 below</div><div>$ ip rule add iif bond0 prio 0 table bond</div><div>$ ip route add default via 10.0.2.1 dev bond0 table bond</div><div>$ ip route flush cache</div><div>```</div><div><br></div><div>Cool. Now let's add an end point:</div><div><br></div><div>```</div><div>$ ip addr add <a href="http://10.0.3.15/32" target="_blank">10.0.3.15/32</a> dev bond0</div><div>```</div><div><br></div><div>So, what's the problem? The switches see 10.0.3.15 as being associated with eth0. Thus, things don't work correctly. I can use tcpdump to monitor the traffic on bond0, ping 10.0.3.15 and see the traffic come in, but the pinger never gets a pong.</div><div><br></div><div>At this point I'm probably just going to say to hell with the maintenance interface and have all traffic on the bond and routed with the main table. But I figured I'd see if anyone has any guesses about why this configuration isn't working. To the best of my knowledge, the following should be true:</div><div><br></div><div>1. Traffic originating on the system will be routed through 10.0.1.1 via the eth0 interface as per the "main" routing table.</div><div>2. Traffic originating remotely via 10.0.1.2 will route through 10.0.1.1 via the eth0 interface as per the "service" routing table.</div><div>3. Traffic originating remotely via 10.0.2.2 or 10.0.3.15 will route through 10.0.2.1 via the bond0 interface as per the "bond" routing table.</div><div><br></div><div>Note 1: this is actually a pair of systems configured for failover with Ucarp as provided by <a href="https://github.com/jsumners/ucarp-rhel7" target="_blank">https://github.com/jsumners<wbr>/ucarp-rhel7</a> . Ucarp needs a "master IP" to tie the VIPs to.</div><span class="m_-1743225160138336521HOEnZb"><font color="#888888"><div><div><br></div>-- <br><div class="m_-1743225160138336521m_65894516846348411gmail_signature">James Sumners<br><a href="http://james.sumners.info/" target="_blank">http://james.sumners.info/</a> (technical profile)<br><a href="http://jrfom.com/" target="_blank">http://jrfom.com/</a> (personal site)<br><a href="http://haplo.bandcamp.com/" target="_blank">http://haplo.bandcamp.com/</a> (music)</div>
</div></font></span></div>
<br></div></div>______________________________<wbr>_________________<br>
Ale mailing list<br>
<a href="mailto:Ale@ale.org" target="_blank">Ale@ale.org</a><br>
<a href="http://mail.ale.org/mailman/listinfo/ale" rel="noreferrer" target="_blank">http://mail.ale.org/mailman/li<wbr>stinfo/ale</a><br>
See JOBS, ANNOUNCE and SCHOOLS lists at<br>
<a href="http://mail.ale.org/mailman/listinfo" rel="noreferrer" target="_blank">http://mail.ale.org/mailman/li<wbr>stinfo</a><br>
<br></blockquote></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><div><br></div>-- <br><div class="m_-1743225160138336521gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">  Ed Cashin <<a href="mailto:ecashin@noserose.net" target="_blank">ecashin@noserose.net</a>></div></div>
</font></span></div>
<br>______________________________<wbr>_________________<br>
Ale mailing list<br>
<a href="mailto:Ale@ale.org">Ale@ale.org</a><br>
<a href="http://mail.ale.org/mailman/listinfo/ale" rel="noreferrer" target="_blank">http://mail.ale.org/mailman/<wbr>listinfo/ale</a><br>
See JOBS, ANNOUNCE and SCHOOLS lists at<br>
<a href="http://mail.ale.org/mailman/listinfo" rel="noreferrer" target="_blank">http://mail.ale.org/mailman/<wbr>listinfo</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">James Sumners<br><a href="http://james.sumners.info/" target="_blank">http://james.sumners.info/</a> (technical profile)<br><a href="http://jrfom.com/" target="_blank">http://jrfom.com/</a> (personal site)<br><a href="http://haplo.bandcamp.com/" target="_blank">http://haplo.bandcamp.com/</a> (music)</div>
</div>