收起左侧

双网卡飞牛虚拟机使用无线网卡联网

7
回复
660
查看
[ 复制链接 ]

2

主题

8

回帖

0

牛值

江湖小虾

2025-10-21 13:10:00 显示全部楼层 阅读模式

0.首先要相信飞牛主机能联网那虚拟机就肯定能联网。

环境:飞牛主机具备有线无线双网卡,使用无线网络连接WI-FI进行管理使用。

我的环境,飞牛主机有一个无线网卡和一个有线网卡,无线网卡用于连接WI-FI正常管理访问使用(因为我房间没有网口网线),有线网卡没有插网线(偶尔插网线上传备份笔电的文件数据,无线网有点慢没有直连千兆快)

由于无线网卡不支持OVS,此处利用IP转发和NAT功能,使虚拟机借助无线网卡进行联网。

有线网卡名字是enp3s0f0,无线网卡名字是wlp2s0

1.有线网卡配置IP地址,并开启OVS
10.10.10.10/16

2.安装虚拟机
略(虚拟机虚拟网卡会连接到OVS网桥)

3.给虚拟机配置一个与OVS网卡同网段的私有IP地址

10.10.10.100/16,网关为OVS接口的IP,就是有线网卡配置的IP,即10.10.10.10

4.配置NAT将来自OVS网桥的虚拟机流量伪装成主机无线网卡的IP地址,使其通过无线网卡访问外网

添加NAT规则:
iptables -t nat -A POSTROUTING -s 10.10.0.0/16 -o wlp2s0 -j MASQUERADE

添加FORWARD规则
iptables -A FORWARD -i enp3s0f0-ovs -o wlp2s0 -j ACCEPT
iptables -A FORWARD -i wlp2s0 -o enp3s0f0-ovs -m state --state RELATED,ESTABLISHED -j ACCEPT

5.自定义一个systemd服务(load-iptables.service),专门负责在飞牛启动时使用iptables-restore命令加载这个文件中的规则。
ssh到飞牛,sudo -i
mkdir /etc/iptables/ ; iptables-save > /etc/iptables/rules.v4
cat /etc/systemd/system/load-iptables.service
#-----------------------------------
[Unit]
Description=Load iptables rules from /etc/iptables/rules.v4
After=network.target

[Service]
Type=oneshot
ExecStart=/usr/sbin/iptables-restore --noflush /etc/iptables/rules.v4
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
#-----------------------------------
启动服务
systemctl daemon-reload ;systemctl enable --now load-iptables.service
重启飞牛后虚拟机可以正常访问互联网。

我自己是安装了一个win10专业版,里面安装easytier,当云电脑玩儿

估计也有朋友和我一样是双网卡使用无线网来使用飞牛的,希望以上方案对未解决问题的朋友有所帮助。图就不放了,没多复杂。

Enjoy!tongue

无线网卡无法开启OVS导致虚拟机无法联网,请问有解决办法吗?
https://club.fnnas.com/forum.php?mod=viewthread&tid=30341

收藏
送赞
分享

3

主题

32

回帖

0

牛值

江湖小虾

2025-10-29 17:45:20 显示全部楼层

image.png

image.png

image.png

image.png

前面都没有问题,执行到这一步出错了cat /etc/systemd/system/load-iptables.service

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我直接easytier访问的windows虚拟机,你这情况可以参考下面: 环境:有线网卡名字是enp3s0f0,无线网卡名字是wlp2s0。使用无线网络连接WI-FI进行管理使用。 1.有线网卡配置IP地址,并开启OVS,10.10.10.10/16 2.安装  详情 回复
2025-10-29 20:27

2

主题

8

回帖

0

牛值

江湖小虾

2025-10-29 20:27:28 楼主 显示全部楼层
楂达x 发表于 2025-10-29 17:45
前面都没有问题,执行到这一步出错了cat /etc/systemd/system/load-iptables.service
...

我直接easytier访问的windows虚拟机,你这情况可以参考下面:
环境:有线网卡名字是enp3s0f0,无线网卡名字是wlp2s0。使用无线网络连接WI-FI进行管理使用。
1.有线网卡配置IP地址,并开启OVS,10.10.10.10/16
2.安装虚拟机
3.给虚拟机配置一个与OVS网卡同网段的私有IP地址,10.10.10.100/16,网关为OVS接口的IP,就是有线网卡配置的IP,即10.10.10.10
4.添加NAT规则,将无线网卡IP的33890端口转发到虚拟机10.10.10.100的3389端口。(如果路由器支持添加静态路由就加一条静态路由就解决了,就不需要这样…)
iptables -t nat -A POSTROUTING -s 10.10.0.0/16 -o wlp2s0 -j MASQUERADE
iptables -t nat -A PREROUTING -i wlp2s0 -p tcp --dport 33890 -j DNAT --to-destination 10.10.10.100:3389
5.添加FORWARD规则
iptables -A FORWARD -i enp3s0f0-ovs -o wlp2s0 -j ACCEPT
iptables -A FORWARD -i wlp2s0 -o enp3s0f0-ovs -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
6.自定义一个systemd服务
ssh到飞牛,sudo -i
mkdir /etc/iptables/ ; iptables-save > /etc/iptables/rules.v4
完整复制下面这一段粘贴到终端
cat << EOF > /etc/systemd/system/load-iptables.service
[Unit]
Description=Load iptables rules from /etc/iptables/rules.v4
After=network.target
[Service]
Type=oneshot
ExecStart=/usr/sbin/iptables-restore --noflush /etc/iptables/rules.v4
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
EOF
7.启动服务
systemctl daemon-reload ; systemctl enable --now load-iptables.service ; systemctl restart load-iptables.service
8. 防止ovs网卡IP地址丢失
cat << EOF > /etc/systemd/network/50-ovs-bridge-internal.network
[Match]
Name=enp3s0f0-ovs
[Network]
Address=10.10.10.10/16
EOF
9.启动服务
systemctl enable --now systemd-networkd
10.重启飞牛。
11.局域网Windows win+r mstsc 无线网卡IP:33890

(看看缺少什么,过程中遇到问题可以复制以上文字给豆包或者什么大模型,都会给解答的很详细,比如说vim nano怎么使用什么的)

(ง •_•)ง you can do it

3

主题

32

回帖

0

牛值

江湖小虾

2025-10-30 14:34:21 显示全部楼层

算了,搞不定,太麻烦了。等官方支持无线网卡的OVS功能吧!

3

主题

32

回帖

0

牛值

江湖小虾

2025-10-30 15:03:55 显示全部楼层

暂时加了一台无线路由器通过无线桥接转有线连接到有线网卡上使用了,可以和其它无线局域网在同一网段。另外,问一下,之前加的服务和防火墙网段的规则要不要删除?如何删除?

systemctl disable --now systemd-networkd rm /etc/systemd/network/50-ovs-bridge-internal.network rm /etc/iptables/rules.v4 systemctl disable --now load-iptables.service rm /etc/systemd/system/load  详情 回复
2025-10-30 20:15

2

主题

8

回帖

0

牛值

江湖小虾

2025-10-30 20:14:29 楼主 显示全部楼层

systemctl disable --now systemd-networkd

rm /etc/systemd/network/50-ovs-bridge-internal.network

rm /etc/iptables/rules.v4

systemctl disable --now load-iptables.service

rm /etc/systemd/system/load-iptables.service

systemctl daemon-reload

2

主题

8

回帖

0

牛值

江湖小虾

2025-10-30 20:15:02 楼主 显示全部楼层
楂达x 发表于 2025-10-30 15:03
暂时加了一台无线路由器通过无线桥接转有线连接到有线网卡上使用了,可以和其它无线局域网在同一网段。另外 ...


systemctl disable --now systemd-networkd

rm /etc/systemd/network/50-ovs-bridge-internal.network

rm /etc/iptables/rules.v4

systemctl disable --now load-iptables.service

rm /etc/systemd/system/load-iptables.service

systemctl daemon-reload
谢谢指点!  详情 回复
2025-10-31 10:20

3

主题

32

回帖

0

牛值

江湖小虾

2025-10-31 10:20:32 显示全部楼层
uinanlucky 发表于 2025-10-30 20:15
systemctl disable --now systemd-networkd

rm /etc/systemd/network/50-ovs-bridge-internal.network

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

本版积分规则