How to enable two network interfaces both for internet in ubuntu12.04

27,905

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.

Share:
27,905

Related videos on Youtube

user2886717
Author by

user2886717

Updated on September 18, 2022

Comments

  • user2886717
    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
      Admin about 10 years
      By "access", do you mean ssh? http? ping? What net is the host you're trying to connect from on?
    • Admin
      Admin about 10 years
      @Mark access means ping. The host I am using is in the same subnet of the remote host.
    • Admin
      Admin about 10 years
      I 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
      Admin about 10 years
      I 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
      Admin about 10 years
      @Slyx - you can def. set this up to permit access, but it needs to be setup right 8-)
    • Admin
      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
    slm about 10 years
    @user2886717 - please explain your issue now? How are you not able to connect?
  • user2886717
    user2886717 about 10 years
    My 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
    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
    user2886717 about 10 years
    yeah, you are right.
  • slm
    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 in route 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.