<div dir="ltr"><div class="gmail_extra">Actually I was wrong on masquerading. I've set it up the other way to masquerade packets from tinc3 to the internet via tinc1/tinc2.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Subnet = <a href="http://172.31.0.0/16" rel="noreferrer" target="_blank">172.31.0.0/16</a> is there for both tinc1 and tinc2 as well as route for tinc3. I can reach any private instance from tinc3.<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">> the return packet from tinc3 should end up back at tinc1, not tinc2.</div><div class="gmail_extra">I suspect tinc doesn't reply to the same node, but uses generic rules to resolve destination.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Anyway since masquerading is off the table then any route should work fine. Let me run a few more tcpdumps.</div><div class="gmail_extra"><br></div><div class="gmail_extra"><div class="gmail_quote">On Fri, Sep 16, 2016 at 4:15 PM, Guus Sliepen <span dir="ltr"><<a href="mailto:guus@tinc-vpn.org" target="_blank">guus@tinc-vpn.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-">On Fri, Sep 16, 2016 at 02:35:01PM +0300, Stanislav Krasnoyarov wrote:<br>
<br>
> Tinc 1 ip: 172.22.0.101, 21.0.0.1<br>
> Tinc 2 ip: 172.22.0.102, 21.0.0.2<br>
><br>
</span><span class="gmail-">> I've setup a VPC route table to route all requests to 21.0.0/24 to tinc 1<br>
> and had configured tinc nodes to use masquerading. It works perfectly when<br>
> a traffic flows like this:<br>
><br>
> source -> tinc1 -> tinc3 -> tinc1 -> source<br>
><br>
> But if tinc3 replies to a different node there is a problem since there's<br>
> no masquerading record for that request<br>
><br>
> source -> tinc1 -> tinc3 -> tinc2 -> xx<br>
<br>
</span>How would this happen? If tinc1 masquerades the source address to<br>
21.0.0.1, then the return packet from tinc3 should end up back at tinc1,<br>
not tinc2.<br>
<br>
In your scenario, you might not need masquerading: just add Subnet =<br>
<a href="http://172.31.0.0/16" rel="noreferrer" target="_blank">172.31.0.0/16</a> to hosts/tinc1 and hosts/tinc2, and the following line to<br>
the tinc-up file of the tinc daemon on the LAN:<br>
<br>
ip route add <a href="http://172.31.0.0/16" rel="noreferrer" target="_blank">172.31.0.0/16</a> dev $INTERFACE<br>
<br>
This should allow traffic between your EC2 instances and 21.0.0.11<br>
without any masquerading. It then also doesn't matter what route the<br>
(return) packets use.<br>
<span class="gmail-HOEnZb"><font color="#888888"><br>
--<br>
Met vriendelijke groet / with kind regards,<br>
     Guus Sliepen <<a href="mailto:guus@tinc-vpn.org">guus@tinc-vpn.org</a>><br>
</font></span><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></div><div hspace="streak-pt-mark" style="max-height:1px"><img style="width:0px;max-height:0px;overflow:hidden" src="https://mailfoogae.appspot.com/t?sender=ac3RhbmlzbGF2LmtyYXNub3lhcm92QGdtYWlsLmNvbQ%3D%3D&type=zerocontent&guid=12c4cbde-78df-44e9-98ce-b682ebedb4ce"><font color="#ffffff" size="1">ᐧ</font></div>