收起左侧

有线网卡没有插网线 开启ovs之后通过无线网卡实现上网

2
回复
379
查看
[ 复制链接 ]

1

主题

2

回帖

0

牛值

江湖小虾

2025-12-26 15:34:43 显示全部楼层 阅读模式

飞牛 OS 有线网卡未插网线时,开启 OVS 并通过无线网卡上网的核心方案是:有线网卡建 OVS 网桥(作虚拟机私有网段网关)+ 无线网卡作外网出口 + IP 转发 + NAT 伪装,实现宿主机与虚拟机共享无线外网,适配你笔记本 + AIO 服务器的场景。


一、前提与限制

  1. 关键限制:无线网卡不支持直接加入 OVS 网桥(WiFi AP 通常只允许单个 MAC 地址通信),必须用 NAT 模式转发
  2. 版本要求:飞牛 OS ≥v0.8.43(支持无线网卡设为默认网关)
  3. 硬件准备:笔记本内置无线网卡(已连接 WiFi)+ 有线网卡(未插网线,用于 OVS)

二、完整配置步骤(可直接复制执行)

1. 基础准备与网络确认

bash

运行

# 查看网卡名称(记录无线网卡如wlp2s0、有线网卡如enp2s0)
ip a

# 确保无线网卡已连接WiFi并获取IP
nmcli connection show

# 启用IP转发(永久生效)
echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
sysctl -p

2. 配置有线网卡 OVS 网桥(飞牛 WebUI 操作)

  1. 进入系统设置 > 网络管理
  2. 找到有线网卡(如 enp2s0),点击更多 > 启用 OVS
  3. 添加虚拟网络:添加虚拟网络 > 选择 OVS 网桥 > 命名如 ovs-br0
  4. 重要:不要将无线网卡加入 OVS 网桥

3. 配置 OVS 网桥 IP 与路由(SSH 执行)

bash

运行

# 给OVS网桥配置私有网段网关IP(如192.168.3.1/24)
ip addr add 192.168.3.1/24 dev enp2s0-ovs  # enp2s0-ovs为有线网卡OVS接口
ip link set enp2s0-ovs up

# 验证接口状态
ip a show enp2s0-ovs

4. 配置 NAT 转发规则(核心)

bash

运行

# 清空旧规则(可选)
iptables -t nat -F
iptables -F

# 配置NAT伪装(将OVS网段流量伪装为无线网卡IP)
# 替换wlp2s0为你的无线网卡名,192.168.3.0/24为OVS网段
iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -o wlp2s0 -j MASQUERADE

# 允许转发流量
iptables -A FORWARD -i enp2s0-ovs -o wlp2s0 -j ACCEPT
iptables -A FORWARD -i wlp2s0 -o enp2s0-ovs -m state --state RELATED,ESTABLISHED -j ACCEPT

# 保存iptables规则(重启生效)
apt install iptables-persistent -y
iptables-save > /etc/iptables/rules.v4

5. 设置无线网卡为默认网关(WebUI 操作)

  1. 进入系统设置 > 网络管理
  2. 找到已连接的 WiFi,点击更多 > 编辑
  3. 勾选设置为默认网关,保存
  4. 验证默认路由(无线网卡应为默认):ip route show default

6. 虚拟机网络配置(WebUI 操作)

  1. 进入虚拟机管理 > 选择虚拟机 > 编辑
  2. 添加网卡:添加网卡 > 选择虚拟网络 ovs-br0
  3. 启动虚拟机,配置静态 IP:
    • IP:192.168.3.100(示例)
    • 子网掩码:255.255.255.0
    • 网关:192.168.3.1(OVS 网桥 IP)
    • DNS:与飞牛 OS 无线网卡一致(如 114.114.114.114)

三、一键自动化脚本(快速部署)

bash

运行

#!/bin/bash
# 配置参数(根据实际修改)
WIRELESS_IF="wlp2s0"    # 无线网卡名
WIRED_IF="enp2s0"       # 有线网卡名
OVS_GATEWAY="192.168.3.1/24"  # OVS网关IP
OVS_CIDR="192.168.3.0/24"     # OVS网段

# 启用IP转发
echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
sysctl -p

# 配置OVS网桥IP
ip addr add $OVS_GATEWAY dev ${WIRED_IF}-ovs
ip link set ${WIRED_IF}-ovs up

# 配置NAT规则
iptables -t nat -A POSTROUTING -s $OVS_CIDR -o $WIRELESS_IF -j MASQUERADE
iptables -A FORWARD -i ${WIRED_IF}-ovs -o $WIRELESS_IF -j ACCEPT
iptables -A FORWARD -i $WIRELESS_IF -o ${WIRED_IF}-ovs -m state --state RELATED,ESTABLISHED -j ACCEPT

# 保存规则
apt install -y iptables-persistent
iptables-save > /etc/iptables/rules.v4

echo "配置完成!虚拟机请设置IP:192.168.3.x,网关:192.168.3.1"

四、验证与排障

测试项 命令 / 操作 预期结果
宿主机上网 pingbaidu.com 正常响应
OVS 网桥连通 ping 192.168.3.1 正常响应
虚拟机上网 虚拟机内 pingbaidu.com 正常响应
宿主机→虚拟机 ping 192.168.3.100 正常响应

常见问题处理

  1. 虚拟机无法上网
    • 检查 OVS 网桥 IP 与虚拟机网关是否一致
    • 确认 iptables 规则生效:iptables -t nat -L
    • 验证 IP 转发:sysctl net.ipv4.ip_forward(应返回 1)
  2. 飞牛 OS 自身无法上网
    • 确认无线网卡已设为默认网关:ip route show default
    • 重启网络服务:systemctl restart NetworkManager
  3. 重启后配置失效
    • 检查 iptables-persistent 是否安装
    • 重新执行脚本或保存规则:iptables-save > /etc/iptables/rules.v4

五、优化建议(适配 AIO 服务器)

  1. 性能优化
    • 无线网卡建议支持 5GHz WiFi,提升带宽
    • 若有 SSD,可启用飞牛 OS 缓存加速网络 IO
  2. 多虚拟机隔离
    • 为不同虚拟机创建独立虚拟网络(如 ovs-br1、ovs-br2)
    • 配置不同网段(如 192.168.4.0/24)实现网络隔离
  3. 远程访问
    • 若需外网访问虚拟机服务,配置端口转发:
      bash

      运行

      iptables -t nat -A PREROUTING -i wlp2s0 -p tcp --dport 3389 -j DNAT --to-destination 192.168.3.100:3389
      

总结

此方案通过OVS 网桥 + NAT 转发解决无线网卡无法直接加入 OVS 的限制,实现宿主机与虚拟机共享无线外网,完美适配你笔记本搭建 AIO 服务器的需求。按上述步骤配置后,即可在有线网卡未插网线时,让飞牛 OS 和虚拟机都通过无线网卡正常上网。

收藏
送赞
分享

1

主题

2

回帖

0

牛值

江湖小虾

2025-12-26 15:48:54 楼主 显示全部楼层

我第一遍执行完之后没有网络 又执行了一遍 所以不确定是第一次执行漏了什么 还是生效有延迟

1

主题

2

回帖

0

牛值

江湖小虾

2025-12-26 19:34:35 楼主 显示全部楼层

飞牛重启之后 步骤1的设置会失效 有没有大神能优化一下

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则