How to enable two network interfaces both for internet in ubuntu12.04
Your networking setup seems fine to me.
SSH
In order to "access" a server over both IP addresses you've set up you need to make sure that SSH is accepting connections on both and is "bound" to both IP addresses.
If SSH is listening on all the IP addresses that are present on your system then you should see it bound to the special IP 0.0.0.0
. This means any/all interfaces that are present on the system that have an IP associated with it.
Example
$ sudo netstat -tapn | grep :22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3540/sshd
tcp6 0 0 :::22 :::* LISTEN 3540/sshd
Debugging further
When attempting to SSH to this host you could use the command telnet
to debug if this host is accepting connections on port 22 (SSH's TCP/IP port) on both IP addresses to confirm that it's accepting connections. You could be getting tripped up by a firewall rule (such as by iptables
).
To confirm just do these to commands from another host:
$ telnet 10.10.101.105 22
-and-
$ telnet 10.10.101.205 22
When these work you'll see output like this:
Trying 10.10.101.105...
Connected to 10.10.101.105.
Escape character is '^]'.
SSH-2.0-OpenSSH_6.2
NOTE: Use Control+] to break out of this.
Related videos on Youtube
user2886717
Updated on September 18, 2022Comments
-
user2886717 over 1 year
My physical server A has two interfaces: eth0 and eth1. I intend to enable the two network interfaces both for internet in ubuntu12.04. I configure the /etc/network/interfaces as below:
auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 10.10.101.105 gateway 10.10.101.254 netmask 255.255.255.0 auto eth1 iface eth1 inet static address 10.10.101.205 gateway 10.10.101.254 netmask 255.255.255.0
And the output of ifconfig is shown below:
eth0 Link encap:Ethernet HWaddr e0:db:55:25:ed:10 inet addr:10.10.101.105 Bcast:10.10.101.255 Mask:255.255.255.0 inet6 addr: fe80::e2db:55ff:fe25:ed10/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1148531 errors:0 dropped:0 overruns:0 frame:0 TX packets:554215 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1636019748 (1.6 GB) TX bytes:40068201 (40.0 MB) Interrupt:35 eth1 Link encap:Ethernet HWaddr e0:db:55:25:ed:11 inet addr:10.10.101.205 Bcast:10.10.101.255 Mask:255.255.255.0 inet6 addr: fe80::e2db:55ff:fe25:ed11/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:56699 errors:0 dropped:0 overruns:0 frame:0 TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:4077879 (4.0 MB) TX bytes:492 (492.0 B) Interrupt:38 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:124891 errors:0 dropped:0 overruns:0 frame:0 TX packets:124891 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1484482588 (1.4 GB) TX bytes:1484482588 (1.4 GB)
So, I think both the 2 network interfaces are up. However, I find I can access my physical server A from host B only via eth0(10.10.101.105), and fail to access it via eth1(10.10.101.205).
When I use route -n to check the router table in my server, it shows:
vli05@vli05:~$ route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.10.101.254 0.0.0.0 UG 100 0 0 eth0 10.10.101.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 10.10.101.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
What am I doing wrong?
PS: The host B I am using ping command is in the same subnet of the physical host A I mentioned above. I just want to use ping to access the physical host A both via eth0(10.10.101.105) and eth1(10.10.101.205).
Besides, the Output of
$ sudo netstat -tapn | grep :22
is shown below:tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1180/sshd tcp 0 0 10.10.101.105:22 10.10.18.35:57651 ESTABLISHED 13235/sshd: zjuvlis tcp6 0 0 :::22 :::* LISTEN
In this case, I am using host with IP 10.10.18.35 to ssh 10.10.101.105. But I fail to ssh 10.10.101.205(the corresponding IP of eth1)
What's more, when I debug using telnet,
root@CO:/home/dujun/work_git/Ruby_reference/trace_ruby_code# telnet 10.10.101.205 22 Trying 10.10.101.205... Connected to 10.10.101.205. Escape character is '^]'. SSH-2.0-OpenSSH_5.8
The result is same as
telent 10.10.101.105 22
-
Admin about 10 yearsBy "access", do you mean ssh? http? ping? What net is the host you're trying to connect from on?
-
Admin about 10 years@Mark access means ping. The host I am using is in the same subnet of the remote host.
-
Admin about 10 yearsI think you cannot use two interfaces to access one destination at the same time in the same system. But it would be really interesting to specify an interface to reach a given destination. I faced the same issue when i tried to connect to LAN using ETH0 interface and the WEB using a WWAN interface in the same time without enabling/desabling. May be it's what you looking for also.
-
Admin about 10 yearsI am sorry for my confusing wording. I intend to access HOST A from B. A has two network interfaces. I find only one netwrok interface work. I want another network interface work too(I want to ping the corresponding IP address). I re-edited my questions.
-
Admin about 10 years@Slyx - you can def. set this up to permit access, but it needs to be setup right 8-)
-
Admin about 10 years@slm I got all the necessary rights since I'am the system owner 8-). May be I have to post a question for this issue, if this one doesn't match my need.
-
-
slm about 10 years@user2886717 - please explain your issue now? How are you not able to connect?
-
user2886717 about 10 yearsMy question is that: can you give me an example on how to configure 2 network interfaces in a ubuntu host? I want both 2 network interfaces work, both can access Internet and I can access host from outside via these 2 network interfaces.
-
slm about 10 years@user2886717 - when you say acess internet, you mean from the system over either NIC out to the internet right? Because inbound (ssh) seems to be working.
-
user2886717 about 10 yearsyeah, you are right.
-
slm about 10 years@user2886717 - what do you expect the outbound traffic to do? The routing rules dictate which interface to use when a packet is being routed. So if you've designated the subnet of NIC #1 (10.10.101.254) as your default gateway (
UG
inroute
output) then any packets that don't match the other rules, goes out over that NIC only. If you want to use both of them you'll need to do something more complicated.