Remote connection to embedded device in field - authentication

I would like to ask about the way how to establish remote connection to Linux based embedded device in the field.
I have a small linux board I want to place in remote location. It has an internet access through ethernet. Than I have a Linux server with public IP to be able to tunnel connection.
And finally, I want to connect from my PC to this device.
I don't feel yet competent enough to code my own tcp sockets etc. to reroute the connection :) So what would be the easiest way to do that only with available linux tools? And BusyBox toolset on endpoints.
Thank's a lot!

I think that using OpenVPN would be a easy way to tunnel to the device. You can cross compile it and set it up as a client on the embedded device. Then you install it on your Linux box and set it up as a server.
Finally you install it on your work PC and set up as a client there.
It gives you a virtual network where all clients can talk to each other like they would be on a local network.

Related

Connecting a DVR Tuner to a Plex Server in Hyper-V

is there a way to connect a dvr tuner to a Plex Server hosted in Hyper-V?
I have searched but could not find a Question about this topic.
My build is a Win22 Datacenter Server running Plex in Hyper-V. A Hauppauge dualHD is connected to the Win22 Datacenter Server via USB.
Thanks for your help!
Current Answer
I'm updating my answer as I didn't realize it was a tuner and not a DVR box connected to your TV.
From what I'm seeing online, your best bets are:
use Enhanced Session Mode to connect the device over RDP (which only supports some devices)
use a third-party tool such as Donglify (this is from results on Google. Buy at your own digression) to allow USB passthrough
use a Type 2 hypervisor (VirtualBox, VMware) to run your instance of Plex instead
run Plex outside of Hyper-V on the same system with a sandboxed user
run Plex on another device entirely, such as a Raspberry Pi.
I can't help with the first, as it requires some gpedit.msc magic I cannot do, or second as I have never used one.
3rd option will reduce program speeds which may cause slowdown if multiple people stream at once.
4th option is my personal recommendation, as you bypass the need to use a hypervisor entirely and keep on the same device.
5th is only good if you use a USB-based drive and have a decent bit of experience with Linux.
Old Answer
Kept for the sake of archival.
You'll want to use Powershell and the Add-NetNatStaticMapping cmdlet to allow inbound connections to the Hyper-V server. This will need a vNAT adapter set up. See the linked blog post (not mine) if you need help with that, too.
Assuming the vEthernet connection has an internal IP of 192.168.10.2 and a NAT network name of NATSwitch, with Plex on the default port of 32400:
Add-NetNatStaticMapping -ExternalIPAddress "0.0.0.0/24" -ExternalPort 32400 -Protocol TCP -InternalIPAddress "192.168.10.2" -InternalPort 32400 -NatName NATNetwork
You will most likely need to replace the internal IP, port, and NAT name.
After this is set up, you'll need to point your DVR to the IP of the Windows Server box.
Sites referenced:
Plex support page on ports to forward
A GitHub user's blog, specifically a post on port forwarding

Can we use BLPAPI remotely?

The SDKs at https://www.bloomberg.com/professional/support/api-library/ allow you to connect to localhost 8194 to fetch data. Please correct if any of the following is incorrect:
The use of the SDK requires the installation of a Terminal software on the PC where the program using the SDK is being run.
The Terminal software creates an endpoint listening on port 8194 through which the data can be fetched.
Question:
Is it possible for another computer in the local network to run the SDK and connect to the computer that hosts the Terminal service?
Does the Terminal service license support such use wherein the data leaves the PC and gets pulled to a different PC?
Regards
No, it is not technically possible to connect to another PC which is running the Terminal and even if you can get around this it is not allowed by the license. Data downloaded on a PC running the Terminal must stay on that PC.
Bloomberg offers 2 solutions which don't require the Terminal to run and do require authentication: Server API (SAPI) and B-PIPE. To clarify, because you're describing having to run the Terminal on the PC you're necessarily talking about Desktop API.

how to connect to the virtual machine via remote desktop on the screen without enabling remote desktop check option in virtualbox

as stated in my question. I'm trying to have connection to a virtual machine remotely without enabling virtualbox remote desktop screen. using the network host only. but I could not make this connection without having to enable the option on the screen.
according to my research it is possible because applications as Andy or genymotion does this.
if anyone knows the subject. appreciate your help

VirtualBox, Remote Desktop, and VPN

Networking is not a strong skill set of mine and I'm new to VirtualBox..so here we go -
I've got a Windows (XP) VM running on VirtualBox. I am able to use remote desktop to connect to the VM with no problems.
The Problem: I need to connect to another network via VPN on the virtual machine. However, once connected, all local network resources become unavailable. As a result, my remote desktop session is disconnected.
Question: Is there another way to remotely access the VM? Is there some way that VirtualBox can route me to the VM without using the Windows RDC functionality so that I can have an active VPN connection but still control the VM remotely.
Should have done some more research. This feature is already built into VirtualBox. You can log into the VM through the host machine.
All you have to do is turn on remote display in the settings for the VM and choose the port that you want to use (make sure to make appropriate firewall changes). Then you remote to that port on the host machine.
Ex: Host machine has an IP of 192.168.1.200 and you set up port 3395 for the remote display - you would open Remote Desktop Connection and use 192.168.1.200:3395 and it would open the VM.
More detail from the VirtualBox site.
http://www.virtualbox.org/manual/ch07.html

How to use USB over Remote Connection to a Virtual Machine

I'm trying to do mobile application development (BlackBerry, Android) on a virtual machine. My idea is that no matter what desktop I'm on I can open a remote connection to the virtual machine and have my mobile development environment ready. The problem is that I would like to deploy code to the mobile device as if it were physically connected to the virtual machine. Ideally the devices will be plugged in to the client machine that is creating the remote connection.
I'm currently using VMWare workstation to manage my virtual machines, I've done a bit of research to see what the best solution for connecting my usb devices over the network is.
There are a multitude of pricey USB over network solutions that may or may not work for what I'm trying, but I would like to avoid those. I would be interested in a free open source solution where both the usb host and usb client are windows machines. This is close to what I am looking for http://usbip.sourceforge.net/, but you can't host a device from Windows.
It appears that I may be able to do this with a Hyper-V VM and RemoteFX through Microsoft RDC, but I would like this to work on my existing VMWare VM.
The quickest solution I've found is a network usb hub that would allow me to connect the devices over the network, but this would force me to be attached to the hub which is a problem if more people come on my project.
Ideally I'm looking for an existing software solution to my problem. Any suggestions?
Also can anyone confirm this would work in Hyper-V using RemoteFX?
I would consider porting your VM over to VirtualBox from Sun (now Oracle) they have remote USB support out-of-the-box, and are very stable.
I've ported machines the other way (for work) and it's not difficult.