Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

It is stated in VirtualBox manual (chapter 6) that VM network interfaces in "NAT" mode do not support GRE protocol. I'm currently trying to setup a pair of VMs as pptp server and client which would communicate via VM's network interfaces in "INTERNAL NETWORK" mode. I set up modern Linux OSes with pptp software on both machines and made some basic pptp configuration. However, I fail to connect the client to the server - server reports a failure when writing to GRE socket.

I now need a quick proof of principal ability to use the GRE protocol between VirtualBox VMs over a network in "INTERNAL" mode, such as a several-line .c program that would try to open/send/receive/close a GRE protocol connection, or like a specific lightweight tool to diagnose the GRE availability.

Any suggestions?

share|improve this question
Are you able to communicate between the VMs in any other way? (ping, etc) – Majenko Mar 4 '11 at 15:17
Yes, I have a valid connection between VMs. 'Server' successfully gives the DHCP lease to the 'client', pings work. – mbaitoff Mar 4 '11 at 15:20
up vote 1 down vote accepted

GRE and NAT in general don't get on well together. Usually you need some form of PPTP Passthrough technology on the NAT gateway for it to work. VirtualBox doesn't have that.

There is no reason at all why GRE shouldn't work on either bridged or internal network adaptors.

I just created 2 FreeBSD* VMs and linked them with an internal network called "intnet". I gave them both IP's on the range.

I then created a GRE interface on each host and set the tunnelling to work between the two IP's I just allocated.

The GRE interfaces I put on the range (.1 and .2)

I can ping happily between the two GRE interfaces.

(* I chose FreeBSD as it was what I had to hand and it's very easy to set up pure GRE tunnels for testing this kind of thing)

share|improve this answer
Yes, I would have to use "Bridged"-mode interface to emerge pptp traffic from VM's network, but this case is VM-to-VM. Before I commence the pptp client-server parameter debugging I must have a confirmation on GRE is working fine, since "GRE socket failure" report in daemon.log is suspicious. – mbaitoff Mar 4 '11 at 15:29
I would suggest you look at such things as your linux firewall / packet filter, SELinux and PPTP configuration. Also check tcpdump to see if the packets on port 1723 are travelling around fine. – Majenko Mar 4 '11 at 15:35
Proof: – Majenko Mar 4 '11 at 15:40
What is the way to create GRE interfaces in BSD? In Linux it seems nothing but pptp/pptpd. – mbaitoff Mar 4 '11 at 16:13
ifconfig gre0 create – Majenko Mar 4 '11 at 16:14

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.