Ubuntu 16.04 系统下网桥(br0,br1)配置教程
August 18, 2017
本文将会讲述如何在Ubuntu 16.04 LTS 系统下基于现有的以太网接口配置Linux网桥. 当我们在创建虚拟化环境(比如说LXC,KVM,Xen等)的时候,都需要配置网桥,让宿主机里的虚拟机通过配好的网桥接口和外部通信。
Table of Contents
1# 安装bridge-utils
执行下面的apt-get 命令:
$ sudo apt-get install bridge-utils
命令输出如下:
正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 下列软件包是自动安装的并且现在不需要了: gyp javascript-common libjs-inherits libjs-jquery libjs-node-uuid libjs-underscore libnvpair1linux libssl-dev libssl-doc libuutil1linux libuv1-dev libzfs2linux libzpool2linux python-pkg-resources zfs-doc zlib1g-dev 使用'apt autoremove'来卸载它(它们)。 下列【新】软件包将被安装: bridge-utils 升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 5 个软件包未被升级。 需要下载 28.6 kB 的归档。 解压缩后会消耗 102 kB 的额外空间。 获取:1 http://archive.ubuntu.com/ubuntu xenial/main amd64 bridge-utils amd64 1.5-9ubuntu1 [28.6 kB] 已下载 28.6 kB,耗时 0秒 (39.9 kB/s) 正在选中未选择的软件包 bridge-utils。 (正在读取数据库 ... 系统当前共安装有 67725 个文件和目录。) 正准备解包 .../bridge-utils_1.5-9ubuntu1_amd64.deb ... 正在解包 bridge-utils (1.5-9ubuntu1) ... 正在处理用于 man-db (2.7.5-1) 的触发器 ... 正在设置 bridge-utils (1.5-9ubuntu1) ...
2# 编辑网络配置文件增加网桥接口
首先有备份现有的网络接口配置文件/etc/network/interface, 执行命令:
$ cp /etc/network/interface /etc/network/interface.bak
编辑/etc/network/interface文件:
Vi /etc/network/interface
删除或注释掉跟eth0 相关的行,参照下面的配置:
auto br0 iface br0 inet static address 192.168.1.58 network 255.255.255.248 netmask 255.255.255.0 gateway 192.168.1.1 bridge_ports eth0 bridge_stp off bridge_fd 0 bridge_maxwait 0
保存退出。
如果是通过DHCP获取ip地址,则可以参照下面的配置:
auto br0 iface br0 inet dhcp bridge_ports eth0 bridge_stp off bridge_fd 0 bridge_maxwait 0
3# 重启网络服务
执行下面命令:
$ sudo /etc/init.d/network restart
或
$ sudo systemctl restart network
如果需要临时创建网桥也可以使用brctl 命令,通过该命令创建的网桥,会在系统重启后消失。
查看brctl命令的选项:
$ brctl
root@ubuntutest:~# brctl Usage: brctl [commands] commands: addbr <bridge> add bridge delbr <bridge> delete bridge addif <bridge> <device> add interface to bridge delif <bridge> <device> delete interface from bridge hairpin <bridge> <port> {on|off} turn hairpin on/off setageing <bridge> <time> set ageing time setbridgeprio <bridge> <prio> set bridge priority setfd <bridge> <time> set bridge forward delay sethello <bridge> <time> set hello time setmaxage <bridge> <time> set max message age setpathcost <bridge> <port> <cost> set path cost setportprio <bridge> <port> <prio> set port priority show [ <bridge> ] show a list of bridges showmacs <bridge> show a list of mac addrs showstp <bridge> show bridge stp info stp <bridge> {on|off} turn stp on/off
查看网桥状态
$ sudo brctl show
更多阅读:
1. Ubuntu 16.4 系统基于bond(bond0)接口的网桥(br0)配置教程
搞定!