linux 配置bridge,在linux下配置网桥 / how to config ethernet bridge under linux

ip link 配置网桥接口

新建网桥接口:

root@phycore-am335x-1:~# ip link add name br0 type bridge

[ 26.747911] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.

网卡eth0、eth1加入网桥连接

root@phycore-am335x-1:~# ip link set eth0 master br0

[ 61.414369] br0: port 1(eth0) entered blocking state

[ 61.419864] br0: port 1(eth0) entered disabled state

[ 61.449214] device eth0 entered promiscuous mode

[ 61.454233] audit: type=1700 audit(1521473806.430:2): dev=eth0 prom=256 old_prom=0 auid=4294967295 uid=0 gid=0 ses=4294967295

[ 61.489977] audit: type=1300 audit(1521473806.430:2): arch=40000028 syscall=296 per=800000 success=yes exit=40 a0=3 a1=becc26cc a2=0 a3=0 items=0 ppid=213 pid=241 auid=4294967295 uid=0 g)

[ 61.543910] audit: type=1327 audit(1521473806.430:2): proctitle=6970006C696E6B007365740065746830006D617374657200627230

root@phycore-am335x-1:~# ip link set eth1 master br0

[ 67.864523] br0: port 2(eth1) entered blocking state

[ 67.869922] br0: port 2(eth1) entered disabled state

[ 67.875232] net eth1: promiscuity not disabled as the other interface is still in promiscuity mode

[ 67.905360] device eth1 entered promiscuous mode

[ 67.910516] audit: type=1700 audit(1521473812.880:3): dev=eth1 prom=256 old_prom=0 auid=4294967295 uid=0 gid=0 ses=4294967295

[ 67.947374] audit: type=1300 audit(1521473812.880:3): arch=40000028 syscall=296 per=800000 success=yes exit=40 a0=3 a1=bebca6cc a2=0 a3=0 items=0 ppid=213 pid=242 auid=4294967295 uid=0 g)

[ 67.997811] audit: type=1327 audit(1521473812.880:3): proctitle=6970006C696E6B007365740065746831006D617374657200627230

root@phycore-am335x-1:~# bridge link

3: eth0 state UP : mtu 1500 master br0 state disabled priority 32 cost 19

4: eth1 state UP : mtu 1500 master br0 state disabled priority 32 cost 19

网桥接口使能:

root@phycore-am335x-1:~# ip link set br0 up

[ 108.673940] br0: port 2(eth1) entered blocking state

[ 108.679355] br0: port 2(eth1) entered forwarding state

[ 108.685040] br0: port 1(eth0) entered blocking state

[ 108.690358] br0: port 1(eth0) entered forwarding state

查看网口信息,此时br0网桥接口已经连接

root@phycore-am335x-1:~# ip addr

1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default 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: can0: mtu 16 qdisc pfifo_fast state UNKNOWN group default qlen 10

link/can

3: eth0: mtu 1500 qdisc mq master br0 state UP group default qlen 1000

link/ether 90:70:65:6d:b4:19 brd ff:ff:ff:ff:ff:ff

inet 192.168.3.11/24 brd 192.168.3.255 scope global eth0

valid_lft forever preferred_lft forever

inet 192.168.1.115/24 brd 192.168.1.255 scope global eth0

valid_lft forever preferred_lft forever

inet6 fe80::9270:65ff:fe6d:b419/64 scope link

valid_lft forever preferred_lft forever

4: eth1: mtu 1500 qdisc mq master br0 state UP group default qlen 1000

link/ether 90:70:65:6d:b4:1b brd ff:ff:ff:ff:ff:ff

inet 192.168.4.11/24 brd 192.168.4.255 scope global eth1

valid_lft forever preferred_lft forever

inet6 fe80::9270:65ff:fe6d:b41b/64 scope link

valid_lft forever preferred_lft forever

5: sit0@NONE: mtu 1480 qdisc noop state DOWN group default qlen 1

link/sit 0.0.0.0 brd 0.0.0.0

6: br0: mtu 1500 qdisc noqueue state UP group default qlen 1000

link/ether 90:70:65:6d:b4:19 brd ff:ff:ff:ff:ff:ff

inet6 fe80::9270:65ff:fe6d:b419/64 scope link

valid_lft forever preferred_lft forever

如果需要对网桥接口设置ip地址,使用以下命令设置

root@phycore-am335x-1:~# ip addr add dev br0 192.168.5.11/24

systemd服务配置网桥接口

使用上面ip link方式配置网桥接口,开发板重新开机后,相应的网桥配置都会没有了。如果需要网桥接口开机自动配置,需要在systemd-networkd.service中配置。

新建网桥接口:

在/etc/systemd/network目录下新增配置文件br0.netdev, 内容如下

[NetDev]

Name=br0

Kind=bridge

网卡eth0, eth1加入网桥连接:

修改/lib/systemd/network目录下eth0 和eth1的配置文件10-eth0.network、10-eth1.network,在[Network]的配置下增加Bridge配置

[Network]

Bridge=br0

网桥接口连接设置:

在/lib/systemd/network目录下新建网桥接口配置文件20-br0.network, 内容如下:

[match]

Name=br0

[Network]

DHCP=ipv4

经过以上设置后,重启systemd-networkd 服务即可。

root@phycore-am335x-1:~# systemctl restart systemd-networkd

使用这种方法,重新开机上电后,网桥接口配置便会自动连接。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值