I've recently started using a "telephony over internet" service from a telecom operator.
The company solution is that You connect Your normal phone to an ip phone box, which itself is connected to the internet.
The Ip phone box needs the following to work:
* A DHCP server providing it an ip address, subnet, default gateway, DNS, etc.
* Has to be reached on five specific ports, say 1000-1005.
* Connect to various ports on various internet addresses.
As of today, my configuration is as follows:
---------------------------------------------
* The uni computer is equipped with 2 eth cards.
* One of them to the internet (static, public address), the other to the ip phone box.
* There is a DHCP and a Ip forwarding service running and creating a internal, DHCP distributed network to the phone box (172.16.1.12).
* Forwarding through masquerading enbales the information on port 1000-1005 to reach the phone box.
A graphical approach:
Code:
-------
|Phone|
-------
|
| dhcpd, ip forwarding,
| masquerading 5 ports
-------------- ------------------
|IP Phone box| --- |Eth0:172.16.1.1 |
|172.16.1.12 | | Uni computer |
-------------- |Eth1:public ip | --Internet
------------------
This has worked very well for me, except for that I have to be at the university in order to use the phone.
What someone on this forum (thanks "bignerd") explained to me the other day about remote port forwarding pretty much changed my view about the possibilities in networking. After started using it, I now have new hope about connecting the ip phone box to my home computer and, with help from my uni computer, be able to tunnel the necessary traffic to the ip phone box. This procedure is necessary as my ISP only provides my home computer with a static private ip address - and of course doesn't want to forward ports for me.
My new suggested setup:
----------------------
Code:
-------
|Phone|
-------
|
|
|
--------------
|IP Phone box|
|172.16.1.12 |
--------------
|
|
|
dhcpd, ip forwarding,
masquerading 5 ports
---------------------
|Eth0: 172.16.1.1 |
| Home computer |
|Eth1: 192.168.2.227| --ISP
--------------------- |
|
-------------
|
|
Internet
|
|
-------------------
|Eth0: public ip |
| Uni computer |
|Eth1: not in use |
-------------------
Through remote port forwarding in an ssh tunnel started at the home computer, I could actually forward the five needed ports from the uni computer to the home machine. I only need to set up the tunnel, and then let the masquerading on the home computer forward the ports to the phone box. This requires all the internet communication from the phone box to go through the uni computer.
Since the incoming traffic only is sent on port 1000-1005, that part should
be easy. My issue is how to make all the outgoing traffic from the phone box to go through the uni computer. From the internet, is should look like the phone was sitting behind the uni computer in order for the incoming packets on port 1000-1005 to be sent through the mentioned tunnel.
The question is therefore:
How can I access the internet (various domains and ports) from the home computer so that everything is routed through the uni computer?
I've been considering tunneling local ports through ssh, but there You only dedicate a local port on Your computer to a certain address.
Am I looking for some kind of proxy solution to handle this?
Sorry about the length of this post!
Thanks