Home 0P3N Blog WORKAROUND - Traceroute Not Working On Ubuntu VM
Ready to Start Your Career?
Create Free Account
authors profile image
January 1, 2016

WORKAROUND - Traceroute Not Working On Ubuntu VM

January 1, 2016
authors profile image
January 1, 2016
Watching the Linux+ video on networking taught by @gregwstuart. During the 'traceroute' demo, neither the example in the video, nor my real-life VM following along would work correctly. Did some digging and apparently the explanation is that during the traceroute, ICMP packets are sent back to your machine and are captured by the host OS (windows in my case) BUT, unlike other packets, are NOT forwarded to the GUEST OS in VMWare using NAT. So inside the Ubuntu VM, traceroute appears to not work. In reality it's an issue with Host/Guest Network Address Translation (sharing IP address with host). Here's a link to a guy that was mapping out the problem. But even he doesn't have a solution: https://communities.vmware.com/servlet/JiveServlet/download/1219174-21155/Traceroute%20problems%20on%20Guest%20OS%20of%20VMware.pdf WORKAROUND: In your VM settings, change the network connection from NAT to Bridged. Then traceroute will work since the VM will act like its own separate machine on the network and have a separate IP address from the host OS on your machine (but on the same network). Watching the Linux+ video on networking. During the 'traceroute' demo, neither the example in the video, nor my real-life VM following along would work correctly. Did some digging and apparently the explanation is that during the traceroute, ICMP packets are sent back to your machine and are captured by the host OS (windows in my case) BUT, unlike other packets, are NOT forwarded to the GUEST OS in VMWare bridged through NAT. So inside the Ubuntu VM, traceroute appears to not work. In reality it's an issue with Host/Guest NAT bridging (sharing internet with the VM). Here's a link to a guy that was mapping out the problem. But even he doesn't have a solution: https://communities.vmware.com/servlet/JiveServlet/download/1219174-21155/Traceroute%20problems%20on%20Guest%20OS%20of%20VMware.pdf have you tried other hypervisors? Watching the Linux+ video on networking. During the 'traceroute' demo, neither the example in the video, nor my real-life VM following along would work correctly. Did some digging and apparently the explanation is that during the traceroute, ICMP packets are sent back to your machine and are captured by the host OS (windows in my case) BUT, unlike other packets, are NOT forwarded to the GUEST OS in VMWare using NAT. So inside the Ubuntu VM, traceroute appears to not work. In reality it's an issue with Host/Guest Network Address Translation (sharing IP address with host). Here's a link to a guy that was mapping out the problem. But even he doesn't have a solution: https://communities.vmware.com/servlet/JiveServlet/download/1219174-21155/Traceroute%20problems%20on%20Guest%20OS%20of%20VMware.pdf WORKAROUND: In your VM settings, change the network connection from NAT to Bridged. Then traceroute will work since the VM will act like its own separate machine on the network and have a separate IP address from the host OS on your machine (but on the same network). @Koert - No, but I did change the VM network connection settings from NAT to bridged and everything worked fine. (adjusted my original post for future readers) Watching the Linux+ video on networking taught by @gregwstuart. During the 'traceroute' demo, neither the example in the video, nor my real-life VM following along would work correctly. Did some digging and apparently the explanation is that during the traceroute, ICMP packets are sent back to your machine and are captured by the host OS (windows in my case) BUT, unlike other packets, are NOT forwarded to the GUEST OS in VMWare using NAT. So inside the Ubuntu VM, traceroute appears to not work. In reality it's an issue with Host/Guest Network Address Translation (sharing IP address with host). Here's a link to a guy that was mapping out the problem. But even he doesn't have a solution: https://communities.vmware.com/servlet/JiveServlet/download/1219174-21155/Traceroute%20problems%20on%20Guest%20OS%20of%20VMware.pdf WORKAROUND: In your VM settings, change the network connection from NAT to Bridged. Then traceroute will work since the VM will act like its own separate machine on the network and have a separate IP address from the host OS on your machine (but on the same network). Same thing applies to other Hypervisors - ICMP packets will not traverse NAT, but use the bridged network connection and your VM is "on" the local network. And VMWare, Xenserver, Virtualbox all use the same terminology.
Schedule Demo

Build your Cybersecurity or IT Career

Accelerate in your role, earn new certifications, and develop cutting-edge skills using the fastest growing catalog in the industry