<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body>
<div dir="auto">
<div><br>
<div class="gmail_extra"><br>
<div class="gmail_quote">18 &#1103;&#1085;&#1074;. 2017 &#1075;. 4:31 AM &#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1077;&#1083;&#1100; Andrey Vagin &lt;avagin@virtuozzo.com&gt; &#1085;&#1072;&#1087;&#1080;&#1089;&#1072;&#1083;:<br type="attribution">
<blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><font size="2"><span style="font-size:10pt"></span></font>
<div>On Tue, Jan 17, 2017 at 12:08:18PM -0800, Stanislav Kinsburskiy wrote:<br>
&gt; <br>
&gt; <br>
&gt; 17 &#1103;&#1085;&#1074;. 2017 &#1075;. 9:05 PM &#1087;&#1086;&#1083;&#1100;&#1079;&#1086;&#1074;&#1072;&#1090;&#1077;&#1083;&#1100; Andrey Vagin &lt;avagin@virtuozzo.com&gt;<br>
&gt; &#1085;&#1072;&#1087;&#1080;&#1089;&#1072;&#1083;:<br>
&gt; <br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; On Mon, Jan 16, 2017 at 07:04:50PM &#43;0300, Stanislav Kinsburskiy wrote:<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; The intention of commit 61b8fc264f55e15dea90350834a50d551d33bffa was to<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; drop<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; local traffic only.<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; But there was a side effect: iptables rules were blocking all the traffic<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; including external communication.<br>
<br>
The intention of my commit wat to block all traffic to not think how to<br>
block it externally...<br>
</div>
</div>
</blockquote>
</div>
</div>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">Well, I see.</div>
<div dir="auto">Sad, that commit message explains it differently.</div>
<div dir="auto"><br>
</div>
<div dir="auto">
<div class="gmail_extra">
<div class="gmail_quote">
<blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<div><br>
<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; While it's not a big problem by itself, it significantly complicates<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; external<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; communication when needed (say, in case of NFS files), because forces one<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; to<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; unmask NFS routes within container.<br>
<br>
How are you going to block all external traffic except nfs?<br>
</div>
</div>
</blockquote>
</div>
</div>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">Simply block all the external traffic. Then unmask routes for NFS ports by server IP. One by one.</div>
<div dir="auto"><br>
</div>
<div dir="auto">
<div class="gmail_extra">
<div class="gmail_quote">
<blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<div><br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; Let's get rid of this side effect by limiting rules to loopback<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; interface.<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; External traffic blocking is controlled outside containers anyway.<br>
&gt; <br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; * Does it controlled for venet?<br>
&gt; <br>
&gt; <br>
&gt; Sorry, I don't understand the question.<br>
<br>
How do we block traffic which go via venet?<br>
</div>
</div>
</blockquote>
</div>
</div>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">This one is considered as external, and has to be blocked elsewhere.</div>
<div dir="auto"><br>
</div>
<div dir="auto">
<div class="gmail_extra">
<div class="gmail_quote">
<blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<div>&gt; <br>
&gt; <br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; * Both ends of a local tcp connection can be bond to an ip address<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (which is set to any interface). I am not sure that this hack will<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; work for this case.<br>
&gt; <br>
&gt; <br>
&gt; Well, I was assured, that even it this case traffic is considered as local, and<br>
&gt; transfered via loopback.<br>
<br>
Yes, you are right, I've checked. But this patch will break Docker,<br>
because it doesn't block traffic externally.<br>
</div>
</div>
</blockquote>
</div>
</div>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">But it should, isn't it?</div>
<div dir="auto"><br>
</div>
<div dir="auto">
<div class="gmail_extra">
<div class="gmail_quote">
<blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<div><br>
&gt; <br>
&gt; <br>
&gt; <br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; Signed-off-by: Stanislav Kinsburskiy &lt;skinsbursky@virtuozzo.com&gt;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; ---<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp; criu/net.c |&nbsp;&nbsp;&nbsp; 8 &#43;&#43;&#43;&#43;----<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp; 1 file changed, 4 insertions(&#43;), 4 deletions(-)<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; diff --git a/criu/net.c b/criu/net.c<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; index 080c617..d75c9fa 100644<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; --- a/criu/net.c<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; &#43;&#43;&#43; b/criu/net.c<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; @@ -1547,8 &#43;1547,8 @@ static int network_lock_internal()<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp; {<!-- --><br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char conf[] =&nbsp;&nbsp; &quot;*filter\n&quot;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;:CRIU - [0:0]\n&quot;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;-I INPUT -j CRIU\n&quot;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;-I OUTPUT -j CRIU\n&quot;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; &#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;-I INPUT -i lo -j CRIU\n&quot;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; &#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;-I OUTPUT -o lo -j CRIU\n&quot;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;-A CRIU -j DROP\n&quot;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;COMMIT\n&quot;;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int ret = 0, nsret;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; @@ -1571,8 &#43;1571,8 @@ static int network_unlock_internal()<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp; {<!-- --><br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char conf[] =&nbsp;&nbsp; &quot;*filter\n&quot;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;:CRIU - [0:0]\n&quot;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;-D INPUT -j CRIU\n&quot;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;-D OUTPUT -j CRIU\n&quot;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; &#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;-D INPUT -i lo -j CRIU\n&quot;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; &#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;-D OUTPUT -o lo -j CRIU\n&quot;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;-X CRIU\n&quot;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;COMMIT\n&quot;;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int ret = 0, nsret;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>
&gt; <br>
&gt; <br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</body>
</html>