博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何在 Ubuntu 上搭建网桥
阅读量:6349 次
发布时间:2019-06-22

本文共 1907 字,大约阅读时间需要 6 分钟。

顾名思义,网桥的作用是通过物理接口连接内部和外部网络。对于虚拟端口或者 LXC/KVM/Xen/容器来说,这非常有用。网桥虚拟端口看起来是网络上的一个常规设备。在这个教程中,我将会介绍如何在 Ubuntu 服务器上通过 bridge-utils (brctl) 命令行来配置 Linux 网桥。

网桥化的网络示例

图 01: Kvm/Xen/LXC 容器网桥示例 (br0)

图 01: Kvm/Xen/LXC 容器网桥示例 (br0)

在这个例子中,eth0 和 eth1 是物理网络接口。eth0 连接着局域网,eth1 连接着上游路由器和互联网。

安装 bridge-utils

使用  安装 bridge-utils:

 
  1. $ sudo apt-get install bridge-utils

或者

 
  1. $ sudo apt install bridge-utils

样例输出:

图 02: Ubuntu 安装 bridge-utils 包

图 02: Ubuntu 安装 bridge-utils 包

在 Ubuntu 服务器上创建网桥

使用你熟悉的文本编辑器修改 /etc/network/interfaces ,例如 vi 或者 nano :

 
  1. $ sudo cp /etc/network/interfaces /etc/network/interfaces.bakup-1-july-2016
  2. $ sudo vi /etc/network/interfaces

接下来设置 eth1 并且将它映射到 br1 ,输入如下(删除或者注释所有 eth1 相关配置):

 
  1. ### br1 使用静态公网 IP 地址,并以 ISP 的路由器作为网关
  2. auto br1
  3. iface br1 inet static
  4. address 208.43.222.51
  5. network 255.255.255.248
  6. netmask 255.255.255.0
  7. broadcast 208.43.222.55
  8. gateway 208.43.222.49
  9. bridge_ports eth1
  10. bridge_stp off
  11. bridge_fd 0
  12. bridge_maxwait 0

接下来设置 eth0 并将它映射到 br0,输入如下(删除或者注释所有 eth0 相关配置):

 
  1. auto br0
  2. iface br0 inet static
  3. address 10.18.44.26
  4. netmask 255.255.255.192
  5. broadcast 10.18.44.63
  6. dns-nameservers 10.0.80.11 10.0.80.12
  7. # set static route for LAN
  8. post-up route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.18.44.1
  9. post-up route add -net 161.26.0.0 netmask 255.255.0.0 gw 10.18.44.1
  10. bridge_ports eth0
  11. bridge_stp off
  12. bridge_fd 0
  13. bridge_maxwait 0

关于 br0 和 DHCP 的一点说明

如果使用 DHCP ,配置选项是这样的:

 
  1. auto br0
  2. iface br0 inet dhcp
  3. bridge_ports eth0
  4. bridge_stp off
  5. bridge_fd 0
  6. bridge_maxwait 0

保存并且关闭文件。

重启服务器或者网络服务

你需要重启服务器或者输入下列命令来重启网络服务(在 SSH 登录的会话中这可能不管用):

 
  1. $ sudo systemctl restart networking

如果你证使用 Ubuntu 14.04 LTS 或者更老的没有 systemd 的系统,输入:

 
  1. $ sudo /etc/init.d/restart networking

验证网络配置成功

使用 ping/ip 命令来验证 LAN 和 WAN 网络接口运行正常:

 
  1. ### 查看 br0 和 br1
  2. ip a show
  3. ### 查看路由信息
  4. ip r
  5. ### ping 外部站点
  6. ping -c 2 cyberciti.biz
  7. ### ping 局域网服务器
  8. ping -c 2 10.0.80.12

样例输出:

图 03: 验证网桥的以太网连接

图 03: 验证网桥的以太网连接

现在,你就可以配置 br0 和 br1 来让 XEN/KVM/LXC 容器访问因特网或者私有局域网了。再也没有必要去设置特定路由或者 iptables 的 SNAT 规则了。

原文发布时间为:2016-07-22

本文来自云栖社区合作伙伴“Linux中国”

转载地址:http://ghtla.baihongyu.com/

你可能感兴趣的文章
about porting
查看>>
MySQL事务及ACID特性
查看>>
Hadoop_31_MapReduce参数优化
查看>>
linux运维常见英文报错中文翻译(菜鸟必知)
查看>>
[原][osgEarth]添加自由飞行漫游器
查看>>
代码审查 Code Review
查看>>
fastjson如何指定字段不序列化
查看>>
[日常] Go语言圣经--示例: 并发的Echo服务
查看>>
BZOJ1969: [Ahoi2005]LANE 航线规划(LCT)
查看>>
linux内存管理之malloc、vmalloc、kmalloc的区别
查看>>
GreenDao 数据库升级 连接多个DB文件 或者指定不同的model&dao目录
查看>>
M1卡破解(自从学校升级系统之后,还准备在研究下)【转】
查看>>
vue 访问子组件示例 或者子元素
查看>>
linux内核--自旋锁的理解
查看>>
银行卡的三个磁道
查看>>
OpenSSL 提取 pfx 数字证书公钥与私钥
查看>>
Keepalived详解(四):通过vrrp_script实现对集群资源的监控【转】
查看>>
CollapsingToolbarLayoutDemo【可折叠式标题栏,顺便带有CardView卡片式布局】
查看>>
CentOS7.4安装配置mysql5.7 TAR免安装版
查看>>
解决IE二级链接无法打开故障
查看>>