<div dir="ltr"><div>Can you specify which version of tinc you're using? There are vast differences in the way LocalDiscovery works between 1.0 and 1.1. The former uses broadcast, the latter unicast to explicitly advertised local addresses.<br><br></div><div>You say that tinc_test_1's eth0 interface is configured with 10.240.0.4, and tinc_test_2's eth0 interface is configured with 10.240.0.5. How are the public addresses (104.154.59.151 and 104.197.132.141) configured? Are they simply forwarded by some other router somewhere? Or are they configured on some other network interface on the machine?<br></div><div><br></div>If you're using tinc 1.1, please provide the output of "tinc dump edges" while your network is up.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On 14 February 2017 at 16:21, James Hartig <span dir="ltr"><<a href="mailto:james@levenlabs.com" target="_blank">james@levenlabs.com</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"><div style="font-size:12.8px">We are testing tinc inside Google Compute within a single region and an external region. Two boxes are created as follows:</div><div style="font-size:12.8px">/etc/tinc/test/tinc_test_1</div><div style="font-size:12.8px"><div>Subnet = <a href="http://10.240.0.0/16" target="_blank">10.240.0.0/16</a></div><div>Subnet = <a href="http://10.240.0.4/32" target="_blank">10.240.0.4/32</a></div><div>Address = 104.154.59.151</div></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">/etc/tinc/test/tinc_test_2<br></div><div><div style="font-size:12.8px">Subnet = <a href="http://10.240.0.0/16" target="_blank">10.240.0.0/16</a></div><div style="font-size:12.8px">Subnet = <a href="http://10.240.0.5/32" target="_blank">10.240.0.5/32</a></div><div style="font-size:12.8px">Address = 104.197.132.141</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">/etc/tinc/test/tinc.conf</div><div><div><span style="font-size:12.8px">Name = $HOST</span></div><div><span style="font-size:12.8px">AddressFamily = ipv4</span></div><div><span style="font-size:12.8px">Interface = tun0</span></div><div><span style="font-size:12.8px">LocalDiscovery = yes</span></div></div></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">Those 2 boxes are in the same subnet and have addresses of 10.240.0.4 and 10.240.0.5, respectively, on their eth0 interface. Port 655 on tcp and udp is open to the world. The tinc_test_2 box has a ConnectTo of tinc_test_1. When tinc_test_2 is started, it prints out:</div><div style="font-size:12.8px"><div>  UDP address of tinc_test_1 set to 104.154.59.151 port 655</div><div>  UDP address of tinc_test_1 set to 10.240.0.4 port 655</div><div>  UDP address of tinc_test_1 set to 104.154.59.151 port 655</div><div>  UDP address of tinc_test_1 set to 10.240.0.4 port 655</div></div><div style="font-size:12.8px">repeatedly for a minute or so before finally settling on 10.240.0.4.</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">Is there a reason it's flip flopping? Is that expected? Am I doing something wrong?</div><div style="font-size:12.8px"><br></div><span style="font-size:12.8px">Additionally, we have multiple Google Compute regions with their own subnets and external DCs with their own subnets and we'd like to install tinc on all servers but keep inner-Google traffic to the internal IPs and not over external IPs since it's an order of magnitude cheaper. My first thinking is a hub and spoke model. We have 2 boxes in each subnet that have port 655 open to the world, and all the other servers have 655 open to internal ips only. With LocalDiscovery (as well as IndirectData = yes on "non-public" servers) this works work pretty well, as far as I can tell. But it wouldn't solve the inner-Google traffic between subnets since Google Subnet0 would talk over public to Google Subnet1. What's the best way of doing something like this? I was thinking maybe 2 instances of tinc on the "public" boxes, but Google servers only have a single interface, eth0, that has the internal IP, so I couldn't listen on the external and internal IPs separately.</span><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">Thanks!</div><div class="m_6048274712794020518gmail_signature"><div dir="ltr"><table style="font-family:"times new roman";background-image:none;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial;background-color:initial;border:0px;margin:0px;padding:0px" cellspacing="0" cellpadding="0" border="0"><tbody><tr><td cellspacing="0" cellpadding="0" width="10"><br></td></tr><tr><td cellspacing="0" cellpadding="0" width="36" valign="top" height="36"><br></td><td cellspacing="0" cellpadding="0" width="10"><br></td><td cellspacing="0" cellpadding="0" valign="top"><br></td></tr></tbody></table></div></div>
</div>
<br>______________________________<wbr>_________________<br>
tinc mailing list<br>
<a href="mailto:tinc@tinc-vpn.org">tinc@tinc-vpn.org</a><br>
<a href="https://www.tinc-vpn.org/cgi-bin/mailman/listinfo/tinc" rel="noreferrer" target="_blank">https://www.tinc-vpn.org/cgi-<wbr>bin/mailman/listinfo/tinc</a><br>
<br></blockquote></div><br></div>