I have launched a c3.xlarge ubuntu instance in a VPC. This instance supports 4 interfaces. I use ec2 python APIs to create_network_interface and attach_network_interface to add eth1, eth2, and eth3. On the AWS console, the instance is up and running. All 4 network interfaces are shown in the AWS console with the correct subnet ID.

When I ssh into the instance, and use "ifconfig" to show the interfaces, only eth0 is shown. If I use "ifconfig -a", I can see eth0-3, but only eth0 has an IP address assign to it.

Am I missing anything? Thanks in advance....

Edit: From the AWS console EC2 dashboard, I clicked on the instance->Description, scroll down to see the "Network interfaces" portion, it shows all eth0, eth1, eth2, and eth3. If I click on eth1 - eth3, they all show the IP address and status like this: Network Interface eth1 Interface ID eni-119f304f VPC ID vpc-873db7e2 Attachment Owner 17xxxxxxxx79 Attachment Status attached Attachment Time Fri Sep 09 10:58:58 GMT-700 2016 Delete on Terminate false Private IP Address Private DNS Name ip-10-31-2-12.us-west-2.compute.internal

Elastic IP Address

Source/Dest. Check true Description cluster001-demux-peer1 Security Groups cluster001-demux

The private IP addresses are created and assigned to those network interfaces from AWS's point of view.

The /etc/network/interfaces shows the normal things: auto lo iface lo inet loopback

# Source interfaces
# Please check /etc/network/interfaces.d before changing this file
# as interfaces may have been defined in /etc/network/interfaces.d
# NOTE: the primary ethernet device is defined in
# /etc/network/interfaces.d/eth0
# See LP: #1262951
source /etc/network/interfaces.d/*.cfg

2 Answers 2


You're not missing too much. Only eth0 has an IP, so by default ifconfig will show only that one. The other interfaces either need IPs, don't have a configuration in your interfaces file(s), or don't have dhcp services on their layer two broadcast domains.

How about providing the contents of /etc/networks/interfaces so we can see what's supposed to be what? That is, if you don't just see the problem immediately.


I figured it out. I need to add a delay, e.g. time.sleep(1), between python API create_network_interface and attach_network_interface. This was not necessary, but now it seems like AWS infrastructure has changed, I do need to add this delay. It is now working...

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .