旁路由

  • 桥接网卡(wifi似乎不支持) wiki

Bridge网络限制

libvirt服务器必须通过以太网有线网络连接,如果是无线网络,则只能使用 libvirt 路由型网络 或者 libvirt NAT型网络 。

桥接之后,有线网络和br0会共用一个ip, 然后有线在图形界面上会消失;使用虚拟机virtmanager桥接到br0然后使用dhcp就可以获取到宿主机同网段的ip了

networkmanager 使用 nmcli 来控制
# 查看连接和名称
nmcli
# 添加名为br0的网桥
nmcli c add ifname br0 type bridge con-name br0
# 禁用网桥stp功能
nmcli c modify br0 bridge.stp no
# 修改正在使用的本地连接配置
sudo nmcli c modify "有线连接 1" connection.slave-type bridge master br0
# 重启br0和有线连接
nmcli c up br0
nmcli c up "有线连接 1"

nmcli c show br0
# 这里明显能看到br0已经获取ipv4地址了,是192.168.1.25
ip a|grep br0
# 192.168.1.25 已经可以使用了






# 如果是wifi只能实现网桥使用不同段,实现lxc和宿主机通信, 而不能实现局域网同网段通信
# 这里使用macvtap0也行
sudo ip link add link wlp0s20f3 name macvtap0 type macvtap mode bridge
sudo ip link set macvtap0 up
ip addr add 192.168.2.10/24 dev macvtap0


sudo systemctl restart NetworkManager

# 查看连接
nmcli c
# 通过UUID删除连接
nmcli c del 7dd73576-3d76-4579-81f8-5368a454123d
  • 用 libvirt-manager 的 LXC 管理 openwrt, 同样是输入桥接网卡br0

# 下载lxc的文件rootfs.tar.gz,并解压
# https://downloads.immortalwrt.org/releases/21.02.4/targets/x86/64/
immortalwrt-21.02.4-x86-64-rootfs.tar.gz

# 运行libvirt-manager选择解压的目录


# 通常接入2个虚拟网卡eth0/eth1, 第一个WAN(桥接网卡), 第二个LAN(虚拟网络NAT)
# 自带的br-lan是在eth0上的
  • 配置旁路由 LAN 口

# 修改LAN为主路由统一网段, 比如: 192.168.1.100
# 使用 uci set 命令设置
# 外网通信一: 在路由器设置LAN为网桥的同段,WAN设置为dhcp就可以访问外网了

vi /etc/config/network
# 重启
/etc/init.d/network restart

# 配置同网段之后可以内网通信,如果还不能外网通信,使用方法二
# 然后在局域网访问进入openwrt的管理后台,密码koolshare
http://192.168.1.100

# 外网通信二:
修改LAN的[IPv4 网关][使用自定义的 DNS 服务器]为主路由, 这样旁路由就(通过主路由网关)可以上网了

# 获取网卡名称
ip a
# 查看连接状态
ethtool eth0
  • 客户端使用

# 需要经过旁路由的客户端只需要配置网关为旁路由的ip即可, 所有的流量:
客户端(网关)->旁路由(网关)->主路由(nat)->外网