Phytec中国的wiki
support@phytec.cn
热线:0755-61802110-803
本wiki 参考https://wiki.archlinux.org/index.php/Network_bridge
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 : <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state disabled priority 32 cost 19 4: eth1 state UP : <BROADCAST,MULTICAST,UP,LOWER_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: <LOOPBACK,UP,LOWER_UP> 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: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UNKNOWN group default qlen 10 link/can 3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1 link/sit 0.0.0.0 brd 0.0.0.0 6: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> 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
使用这种方法,重新开机上电后,网桥接口配置便会自动连接。
Overview
Content Tools
Activity
Tasks