Ubuntu 14.04 has bug naming network interfaces. Usually udev takes care of naming network interfaces. /Etc/udev/rules.d identifies network interfaces as "eth0", "eth1" and so on.  But here in 14.04 naming network interaces as "p3p1", "p3p2" etc and some weird names.

To fix it we need pass below argument to kernel so that it would be fixed.

net.ifnames=1 biosdevname=0

edit /etc/defauts/grub and add above argument.

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=1 biosdevname=0"
GRUB_CMDLINE_LINUX=""

Finally update grub and reboot.

sudo update-grub

 If you modified correctly you would see eth0. If issue persists you might need to edit

http:///etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="p3p1"

                                                                   to

http:///etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

gil ...