0

In my Virtual Machine I have two network interfaces (both bridge mode, I need bridge mode because I want to create a server). One of them is Ethernet (eth0) and the other WiFi (wlan0) - In the guest (CentOS) they are represented as enp0s3 and enp0s8.

I set static IPs for them, but the connection only works when my laptop is connected to an Ethernet cable. When I remove it and the laptop switches to WiFi, I get the problem, even with the interface enp0s8 (which in the VirtualBox config is wlan0)

Host: Ubuntu 14.04 Guest: CentOS

VirtualBox Network Settings:

* Adapter 1: 
  * Mode: Bridge
  * eth0
  * Network Card: Intel PRO/1000 MT Desktop (82540EM)
  * MAC: 080027BAC610
* Adapter 2
  * Mode: Bridge
  * wlan0
  * Network Card: Intel PRO/1000 MT Desktop (82540EM)
  * MAC: 080027F97DAE 

I have run the following commands:

[root@localhost network-scripts]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:ba:c6:10 brd ff:ff:ff:ff:ff:ff
    inet 192.168.15.10/24 brd 192.168.15.255 scope global enp0s3
       valid_lft forever preferred_lft forever
    inet6 fe80::99a9:d4a6:23c4:df9d/64 scope link
       valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:f9:7d:ae brd ff:ff:ff:ff:ff:ff
    inet 192.168.15.24/24 brd 192.168.15.255 scope global enp0s8
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fef9:7dae/64 scope link
       valid_lft forever preferred_lft forever
[root@localhost network-scripts]# tracepath 8.8.8.8
 1?: [LOCALHOST]                                        pmtu 1500
 1:  localhost.localdomain                              3006.372ms !H
     Resume: pmtu 1500

ifcfg-enp0s3 represents the first adapter (eth0)

[root@localhost network-scripts]# cat ifcfg-enp0s3
HWADDR=08:00:27:BA:C6:10
TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.15.10
NETMASK=255.255.255.0
DEFROUTE=yes
PEERDNS=no
DNS1=8.8.8.8
DNS2=8.8.4.4
GATEWAY=192.168.15.1
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=no
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME="enp0s3"
UUID=6136f542-2b00-3fbd-a076-b80757d67316
ONBOOT=yes
AUTOCONNECT_PRIORITY=-999

ifcfg-enp0s8 represents the second adapter (wlan0).

DEVICE=enp0s8
BOOTPRO=static
ONBOOT=yes
HWADDR=08:00:27:F9:7D:AE
IPADDR=192.168.15.24
NETMASK=255.255.255.0
GATEWAY=192.168.15.1

Also we have the command ip r and the result of /etc/resolv.conf

[root@localhost network-scripts]# ip r
default via 192.168.15.1 dev enp0s3  proto static  metric 100
default via 192.168.15.1 dev enp0s8  proto static  metric 101
192.168.15.0/24 dev enp0s3  proto kernel  scope link  src 192.168.15.10  metric 100
192.168.15.0/24 dev enp0s8  proto kernel  scope link  src 192.168.15.24  metric 101
[root@localhost network-scripts]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 8.8.8.8
nameserver 8.8.4.4

How can I make the connection work regardless of whether or not an Ethernet cable is plugged in?

3
  • Please don't post images of text. I typed out the contents, but you may want to check that I made no mistakes in transcription
    – Fox
    Apr 30, 2017 at 4:28
  • @Fox Man, I'm so sorry about that. In fact, I prefer post the text code, but in this particular case, I installed the minimal CentOs in VirtualBox, and I couldn't copy the terminal output. I was afraid to type word by word, and because of this, make mistakes in typing
    – tdmsoares
    Apr 30, 2017 at 5:37
  • 2
    The usual way to connect two interfaces "transparently" to the same network is to create a bridge interface that owns a single IP on the network, and attach the other interfaces to that bridge (see a Debian page on the matter for an example). The exact commands shown on the Debian page won't necessarily transfer, but it gives a general overview. Is there a reason you aren't doing this?
    – Fox
    Apr 30, 2017 at 5:50

1 Answer 1

1

Having two connections on the same network needs to be done carefully (why would the system route to/from the wifi connection if the eth one is on the same network). Try moving the ethernet onto a different network from the wifi.

If you don't control the network and therefor can't change the addresses bring down the eth interface and then try to route:

sudo ip link set eth0 down

1
  • Man, I can't believe it was so simple... I was realizing about bridges in host (ethernet and wifi) and other complex things, and the problem is solved only by disabling the eth0... As a beginner in Networks, it added a step foward in my learning (not use two network connections at same time). The only thing I am thinking, is in certain situations to create a proxy or router, and one network card is for internet and the another to LAN, but I think it needs a bit more of setup, right? BTW, you really saved my day, Thank you!
    – tdmsoares
    Apr 30, 2017 at 5:44

You must log in to answer this question.

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