0

I've a virtual NIC of type NAT on my Ubuntu 20.04 virtual machine which connects it to the internet via host. For some processing, I need to route all incoming and outgoing packets via a program I've to write. For example, assume that I've to drop some packets and don't let them go out of the VM.

For this, I created a dummy interface with the following:

modprobe dummy
ip link add tun0 type dummy
ifconfig tun0 up

For all traffics not to go directly through the NIC, I added:

ip route add default dev tun0

Now everything is ok. For example when I

ping 4.2.2.4

, I see that the ping is not answered when my program is not running and is answered properly when it's running. The program works like a bridge between enp0s3 and tun0 for now. The whole traffic is routing through my program. Just a problem exists, name resolution. That's when I

ping google.com

, the name can't be resolved. The route table now is as follows:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 tun0
0.0.0.0         10.0.2.2        0.0.0.0         UG    20100  0        0 enp0s3
10.0.2.0        0.0.0.0         255.255.255.0   U     100    0        0 enp0s3
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 enp0s3

Of couse if I

sudo route del default

, the name resolution takes place via the NAT adapter through the host properly. Please let me know what's wrong with the name resolution in this situation.

hamidi
  • 1,611
  • 1
  • 15
  • 28
  • Please note that Stack Overflow is for programming questions and not linux or networking issues. Please review [What topics can I ask here?](https://stackoverflow.com/help/on-topic) for more details. Question may be appropriate for [Server Fault](http://serverfault.com) or [Unix & Linux](http://unix.stackexchange.com) but do check their help before posting. – kaylum Mar 20 '21 at 06:41
  • Thanks for the information. How can I move this topic to server fault? – hamidi Mar 21 '21 at 06:50

0 Answers0