1/ First, disable NetworkManager. Because, at the moment, NetworkManager and Bridging won't go well together. We'll use classic network scripts. ================================================================== [root@tbox ~]# systemctl disable NetworkManager.service ================================================================== 2/ Start the regular 'network' service. This will turn the service on, for start at next boot. ================================================================== [root@tbox ~]# systemctl enable network.service ================================================================== 3/ This shows my network configuration file for em1 (or 'eth0' previously) and my bridge configuration file (br0) ================================================================== [root@tbox network-scripts]# pwd /etc/sysconfig/network-scripts ================================================================== [root@tbox network-scripts]# cat ifcfg-em1 DEVICE=em1 BOOTPROTO=dhcp TYPE=Ethernet ONBOOT=yes IPV6INIT=no NM_CONTROLLED=no USERCTL=no PEERDNS=yes PEERROUTES=yes BRIDGE=br0 ================================================================== [root@tbox network-scripts]# cat ifcfg-br0 DEVICE=br0 TYPE=Bridge BOOTPROTO=dhcp ONBOOT=yes DELAY=0 [root@tbox network-scripts]# ================================================================== 4/ Restart your 'network' service ================================================================== [root@tbox ~]# systemctl restart network.service ================================================================== 5/ The below will show you 'network' service is *enabled* and 'NetworkManager' service is *disabled* for the next boot. (which is what we want) ================================================================== [root@tbox ~]# systemctl is-enabled network.service network.service is not a native service, redirecting to /sbin/chkconfig. Executing /sbin/chkconfig network --level=5 enabled [root@tbox ~]# ================================================================== [root@tbox ~]# systemctl is-enabled NetworkManager.service disabled [root@tbox ~]# ================================================================== [root@tbox ~]# systemctl | grep -i network.service network.service loaded active running LSB: Bring up/down networking [root@tbox ~]# ================================================================== 6/ Run 'brctl' command which will show bridge info ================================================================== [root@tbox ~]# brctl show bridge name bridge id STP enabled interfaces br0 8000.00219b73e265 no em1 vnet0 virbr0 8000.525400c03396 yes virbr0-nic [root@tbox ~]# ================================================================== Final Result: ------------- Your bridge(br0) will have the IP address , (and your em1 or eth0 interface will lose the IP address - which is expected) (NOTE: I just masked out IP with 'ww.xx.yy.zz') ================================================================== [root@tbox ~]# ifconfig br0 br0 Link encap:Ethernet HWaddr 00:21:9B:73:E2:65 inet addr:ww.xx.yy.zz Bcast:10.65.201.255 Mask:255.255.255.0 inet6 addr: 2620:52:0:41c9:221:9bff:fe73:e265/64 Scope:Global inet6 addr: fe80::44c0:2bff:fe0d:b38c/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:26475163 errors:0 dropped:0 overruns:0 frame:0 TX packets:3031754 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1836168879 (1.7 GiB) TX bytes:304657564 (290.5 MiB) [root@tbox ~]# ================================================================== [root@tbox ~]# ifconfig em1 em1 Link encap:Ethernet HWaddr 00:21:9B:73:E2:65 inet6 addr: fe80::221:9bff:fe73:e265/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:28841542 errors:0 dropped:0 overruns:0 frame:0 TX packets:4659974 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:3999390382 (3.7 GiB) TX bytes:580866999 (553.9 MiB) Interrupt:16 ==================================================================