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...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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