Continuing from last week, we now have two OpenBSD gateways

which are able to talk to each other. In this final instalment, we will use the

team feature of VMware to group each Gateway with a Windows XP machine, and then

try to initiate a call from one network to the other.

I am assuming that you have already installed your Windows

XP machines and have given them IP addresses 10.2.1.2 and 10.1.1.2 with the

gateway/DNS addresses as 10.2.1.1 and 10.1.1.1 respectively.

In VMware, start the new team wizard File > New >

Team…


Add the Virtual Machines as above, then move on and create three LAN segments:

Now configure the Virtual Machines to connect to those LAN
segments as follows:

Finish the wizard and we will now look at a more interesting

feature. Open the team Settings and continue to the LAN Segments tab. We

can see our three LAN segments earlier defined: LAN1 is our ‘Internet’ segment,

so we can rename it. We can also have this segment emulate a 1.5-Mb leased line

with 1% packet loss (now you are seeing that this can be a great tool for

testing and emulating various network conditions). The other two segments can

be renamed Internal LAN1 and 2 or left as they are.

The group can now be started. This is where you will notice

a slowdown if your host machine does not have a good helping of RAM. Our setup

here is using 384 MB of RAM (64×2 + 128×2); you will have probably noticed in

the preferences that you don’t need to have this all in physical RAM. You can

have some swapped to disk; however, this is very slow. I would recommend

placing all of this in physical RAM.

The first thing to do once all machines are up is to ping

the opposite counterpart. From Windows XP A ping Windows XP B and

vice versa. This should work without problems (turn off the Windows firewall;

the BSD gateway provides the firewall), but if you do have trouble, check the

firewall rules in /etc/pf.conf on

each gateway.

The nmproxy configuration file is /etc/nmproxy.conf. Configuration

is not difficult–we simply need to specify the local network, and map the

default forward rule (full details here).

I used two USB Webcams–one connected to each XP machine. Connecting

the camera to your VM is simple: Give the desired machine focus, then plug the

USB camera into your host. VMware should conne ct automatically to the USB

device and bridge it to the VM. If not, you can go to VM > Removable


Devices > USB Devices > (your webcam)
to connect it manually.

Within Windows XP we now need to start Netmeeting. Most

people don’t realise that this is still installed by default, as there are no

links created. Type conf.exe in your Run dialogue and

there it is!

Once this is running we can try to initiate a call from one

machine to the other. Type the IP address of the second machine in your call

box and hit the telephone button. The counterpart Netmeeting instance on the

second machine should ring!!!

This is where things become a little disappointing; the

second machine did receive the call, however, when pickup was selected, the

call did not connect. The first machine didn’t even recognise that the call was

accepted. I checked all of the settings in both pf.conf and nmproxy.conf

with no obvious errors. I then also use the pflog device and tcpdump

to see if any connections were being blocked by the firewall, but unfortunately

this was not the case. It seems that nmproxy collects the connections but does

not then initiate the audio/video streams. I emailed the author who was not

helpful in the slightest. After posting questions on a few popular networking

forums, it seemed that nobody had successfully managed to get this working.

After that I decided that it’s not worth wasting more time trying to flog a

dead donkey, so I’m looking at alternative gatekeeper solutions.

I hope this series of posts has been useful to people. We

haven’t found a great H.323 video proxy, but we have gone over basic

installation and configuration of OpenBSD as well as introducing the use of

VMware to speed up testing and troubleshooting. In total, the practical

implementation of this test environment took me about 3-4 hours. This would

have been a little less if I had used a pre-prepared generic install of OpenBSD

to start from (as I did with the XP workstation VMs). I personally think this

is much more sensible than trying out untested code in a live environment; it’s

also much faster than building a physical test environment due to the cloning

feature.

If any readers manage to get nmproxy running, or have done

so in the past, please let me know!