generalized port/IP rewriting #623

Open
cgull opened this Issue Jun 8, 2015 · 2 comments

Comments

Projects
None yet
2 participants
@cgull
Member

cgull commented Jun 8, 2015

I count 10 issues and pull requests relating to handling port and/or IP address rewriting and unblocking.

These are almost invariably about IPv4 NAT modifying or blocking IP/port tuples at one end or the other. I could be a wag and shout "IPv6, already!", but I've already been doing that for 5 years, and we still haven't gotten past IPv4.

The problem that I see is that most of these issues/PRs address some narrow part of the problem specific to the reporter's network, and thus aren't broadly useful enough for inclusion into Mosh. I'd like to suggest that we come up with some more-general scheme for managing this issue.

My thoughts on this are ill-formed so far, but I have two ideas that I want to float:

  1. I think maybe we can abstract the needed capabilities into three four parts:
  • Specifying/modifying desired port/address
  • Actually binding to a remote port/address and obtaining network resources/connectivity (#469 has an interesting idea here)
  • Reporting/modifying the port/address actually selected
  • Closing/releasing the network resources
  1. I think adding scripting or command-execution hooks for some or all of these actions would go a long way towards a general solution.

All of this applies to both mosh-client and mosh-server.

@cgull

This comment has been minimized.

Show comment
Hide comment
@cgull

cgull Jun 26, 2015

Member

I went over our issues and PRs to find things related to this issue.
Issues that are covered by this general concept:
#48, #469, #494, #537, #602
And PRs:
#287, #417, #497, #530, #572
The problems of port multiplexing and roaming between multiple server addresses touch on this as well.

Member

cgull commented Jun 26, 2015

I went over our issues and PRs to find things related to this issue.
Issues that are covered by this general concept:
#48, #469, #494, #537, #602
And PRs:
#287, #417, #497, #530, #572
The problems of port multiplexing and roaming between multiple server addresses touch on this as well.

@BrianRossmajer

This comment has been minimized.

Show comment
Hide comment
@BrianRossmajer

BrianRossmajer Aug 19, 2015

An observation: when I wrote the change for #572, I certainly felt that there were other similar PRs solving it differently, and it seemed to reduce to the lack of a server-side config file. The client-side config piggybacks on .ssh/config, but not completely. And my change was a small step to having server-side config within the ssh constraints as well.

An observation: when I wrote the change for #572, I certainly felt that there were other similar PRs solving it differently, and it seemed to reduce to the lack of a server-side config file. The client-side config piggybacks on .ssh/config, but not completely. And my change was a small step to having server-side config within the ssh constraints as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment