Proxmox配置无线桥接(代理ARP桥)

起因是家里人要看电视,我就把电信几年前送我的一个IPTV机顶盒给装上去了,结果发现这B垃圾盒子里面明明有无线功能但就是不让你用,送的那根网线又不够长。。

差一根能用的网线,所以我就把原本插到Proxmox的网线给这个IPTV盒子用了。现在我的Proxmox就没网了,咋办呢。。

这Proxmox内开了几个小鸡,跑了PLEX平时拿来看小姐姐,还跑了个udp2raw+tinyfecvpn用来搭梯子玩冒险岛,还有一堆乱七八糟的东西都在里面,所以还是得整好才行。。

突然想到家里还有一个之前买的USB无线网卡,所以我首先就想到能不能让小鸡的网络直接桥到这个无线网卡上面,配置之后发现这根本就行不通,原因可以参考下面这个讨论:

https://serverfault.com/questions/152363/bridging-wlan0-to-eth0

目前有几个解决办法:

1.硬件支持WDS,很明显我这个USB无线网卡不支持,放弃。

2.NAT,配置之后发现这根本不符合我的需求,放弃。

3.ProxyARP,最简单方便的方法。

这里记录一下关于Proxmox ProxyARP的配置,理论上这个配置在Debian10上也是可用的。

安装需要用到的软件包:

apt -y update
apt -y install wpasupplicant parprouted

启用ipv4转发:

nano /etc/sysctl.conf

加入下面的配置:

net.ipv4.ip_forward = 1

使其生效:

sysctl -p

proxmox默认不重命名网卡接口,这样会导致usb无线网卡插上去后wpasupplicant识别不到。

正常情况下应该显示wlan0这类接口名,没有重命名的话会显示wlx后面是以mac地址结尾的接口名。

要使用wlan0这类接口名需要更改grub配置文件:

nano /etc/default/grub

在GRUB_CMDLINE_LINUX_DEFAULT内添加如下配置:

GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0 biosdevname=0"

更新grub配置:

update-grub

接下来编辑interfaces:

nano /etc/network/interfaces

看到我的默认配置是:

iface enp2s0 inet manual
auto vmbr0
iface vmbr0 inet static
address 192.168.0.6
netmask 255.255.255.0
gateway 192.168.0.1
bridge_ports enp2s0
bridge_stp off
bridge_fd 0

这里需要把enp2s0接口的名字改为eth0:

iface eth0 inet manual
auto vmbr0
iface vmbr0 inet static
address 192.168.0.6
netmask 255.255.255.0
gateway 192.168.0.1
bridge_ports eth0
bridge_stp off
bridge_fd 0

必须要这样改动,刚才配置的net.ifnames=0 biosdevname=0不单单只是重命名usb无线网卡接口的名字,有线接口的名字也会一起重命名。

如果你的原始接口名不是enp2s0,按照此规则就可以换算出来:enpXsX = ethX

做完改动之后重启:

reboot

重启上来之后,确认你的机器网络是否正常,如正常可以继续下一步操作。

配置wifi连接:

wpa_passphrase ssid password > /etc/wpa_supplicant/wpa_supplicant-wlan0.conf

启动wpa_supplicant:

systemctl start wpa_supplicant@wlan0.service
systemctl enable wpa_supplicant@wlan0.service

再次编辑interfaces:

nano /etc/network/interfaces

改为如下配置:

iface eth0 inet manual
auto vmbr0
iface vmbr0 inet static
address 192.168.0.6
netmask 255.255.255.0
bridge_ports none
auto wlan0
iface wlan0 inet static
address 192.168.0.6
netmask 255.255.255.0
gateway 192.168.0.1
post-up /usr/sbin/parprouted vmbr0 wlan0
post-down /usr/bin/killall /usr/sbin/parprouted

再次重启:

reboot

现在的网络就和之前用有线桥接时是一模一样的了。小鸡配置不需要做任何改动,还是和之前一样保持默认桥接到vmbr0就行:

最后不得不说一下这个电信送的盒子是真坑爹,无线不能用也就算了,最气人的是盒子上面那两个USB接口也是个摆设,插进去的U盘能读到数据但没地方浏览或者播放,我也是佛了。。

参考文献:

https://wiki.debian.org/BridgeNetworkConnectionsProxyArp

全部为采集文章,文中的 联系方式 均不是 本人 的!

发表评论