lala.im:Proxmox配置无线桥接(代理ARP桥)

運維技術·VPN代理·lala.im · 2021-03-11 · 131 人浏览

原文地址:https://lala.im/7757.html,請支持原作者!該處僅作轉載。

起因是家里人要看电视,我就把电信几年前送我的一个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 [email protected]
systemctl enable [email protected]

再次编辑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

運維技術 VPN代理 lala.im
Theme Jasmine by Kent Liao