20210623-Re_GSoC Port Forwarding-1054.html 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <html>
  2. <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  3. <title>Re: GSoC Port Forwarding</title>
  4. <link rel="important stylesheet" href="">
  5. <style>div.headerdisplayname {font-weight:bold;}
  6. </style></head>
  7. <body>
  8. <table border=0 cellspacing=0 cellpadding=0 width="100%" class="header-part1"><tr><td><div class="headerdisplayname" style="display:inline;">Oggetto: </div>Re: GSoC Port Forwarding</td></tr><tr><td><div class="headerdisplayname" style="display:inline;">Mittente: </div>Giulio <giulio@gmx.com></td></tr><tr><td><div class="headerdisplayname" style="display:inline;">Data: </div>23/06/2021, 16:37</td></tr></table><table border=0 cellspacing=0 cellpadding=0 width="100%" class="header-part2"><tr><td><div class="headerdisplayname" style="display:inline;">A: </div>Marek Marczykowski-Górecki &lt;marmarek@invisiblethingslab.com&gt;</td></tr><tr><td><div class="headerdisplayname" style="display:inline;">CC: </div>Frédéric Pierret &lt;frederic.pierret@qubes-os.org&gt;</td></tr></table><br>
  9. <div class="moz-text-flowed" style="font-family: -moz-fixed; font-size: 14px;" lang="x-unicode">Hello,
  10. <br>thank you again for your time and the explanations, as well as the
  11. network graph. I have now a better understanding of the overall design
  12. and I am moving myself trhough the source code in order to think what to
  13. place where.
  14. <br>
  15. <br>So, in order to translate what we discussed in practice and also check
  16. my understanding of the code so far:
  17. <br>
  18. <br>1) In core-admin-client/qubesadmin/firewall.py firewall.py &gt; The code
  19. needs to support the new options for the rule (action=forward
  20. frowardtype=&lt;internal/external&gt; srcports=443-443 srchosts=0.0.0.0/0
  21. <br>2) In core-admin/qubes/firewall.py -&gt; The code needs to support the same
  22. options as the point above
  23. <br>3) In core-admin/qubes/vm/mix/net.py -&gt; The most important logic goes
  24. here. Here there is the need to resolve the full network chain for
  25. external port forwarding. From here it is possible to add the respective
  26. rules to the QubesDB of each netvm in he chain and trigger a reload event.
  27. <br>4) in core-agent-linux/qubesagent/firewall.py -&gt; Here goes the logic for
  28. building the correct syntax for iptables or nft and the actual execution
  29. <br>
  30. <br>Does it makes sense for you?
  31. <br>
  32. <br>Il 22/06/2021 16:04, Marek Marczykowski-Górecki ha scritto:
  33. <br><blockquote type=cite style="color: #007cff;">On Tue, Jun 22, 2021 at 02:28:26PM +0200, Giulio wrote:
  34. <br><blockquote type=cite style="color: #007cff;"><blockquote type=cite style="color: #007cff;"><blockquote type=cite style="color: #007cff;">3) Since the expire= feature seems to be already implemented (and
  35. <br>limited for the expiring full outgoing access) would it be useful to be
  36. <br>implemented in gui and cli for every rule? I would say yes since the
  37. <br>admin and agent code seems to be already there. The same goes for the
  38. <br>"comment=" field.
  39. <br></blockquote>
  40. <br>Per-rule expire may be tricky to handle at the GUI level, I have no idea
  41. <br>how to make the UI for this not very confusing...
  42. <br>But the comment field is definitely useful to use.
  43. <br>
  44. <br></blockquote>
  45. <br>How do you see the same checkbox that actually allows full internet
  46. <br>access with the 5 minutes expiration time, displayed also on the window
  47. <br>for adding a rule?
  48. <br></blockquote>
  49. <br>This may be more relevant to longer times. With times like 5min, just
  50. <br>setting the rules up (if you want more than one of them) may already eat
  51. <br>up significant portion of the expiration time...
  52. <br>
  53. <br></blockquote>
  54. <br>I now totally understand your doubts, and I think the simplest solution
  55. then would be a time/date picker, so if the user is planning anything
  56. specific he can configure all the set of rules to the same expiration
  57. timewithout&nbsp; incurring in the synchronization issues you mentioned.
  58. <br>
  59. <br>Cheers
  60. <br>Giulio
  61. <br></div></body>
  62. </html>
  63. </table></div>