使用命令行共享与以太网的 WLAN 连接

使用命令行共享与以太网的 WLAN 连接

我有一个 wlan1 连接,我想与 LAN 上的其他计算机共享(通过以太网 - eth0)。由于这在某种程度上是一个临时解决方案,因此我希望完成此操作通过脚本,这样我就不会触及主机的网络配置文件(即,如果我愿意,我将在每次重新启动后运行此脚本)。

问题是我无法桥接 wlan1 和 eth0

sudo brctl addif br0 eth0 wlan1

我看到一个人需要启用4地址:

 iw dev wlan1 set 4addr on

事实上,我可以将 wlan1 添加到网桥,但是......我失去了 wifi 连接!我看到这也是一个常见问题:( 在2,解决方案说要这样做

iw dev wlan0 interface add wds.wlan0 type managed 4addr on
ip link set dev wds.wlan0 addr $ADDR
ip link set dev wds.wlan0 up

其中 $ADDR 是“路由器中配置的 WDS 设备地址”。我不明白那是什么?我的 wlan1 网卡的 MAC 地址?那么我应该如何创建我的桥梁呢?以下内容不起作用:

sudo brctl addbr br0
sudo brctl addif br0 eth0 wds.wlan0

或者这里,他们建议安装ebtables。但是该页面没有解释我应该如何创建桥梁,而且他们修改了/etc/network/interfaces我不想做的事情……

所以,有人可以帮我正确地创建那座桥吗?

到目前为止,我的wifi脚本是:

 #!/bin/bash
 # this is for wlan1 - wifi connection
 pkill dhclient
 pkill wpa_supplicant
 ip link set dev wlan1 down
 ip addr flush dev wlan1
 iwconfig wlan1 essid "mywifi"
 iwconfig wlan1 frag 2432
 iwconfig wlan1 rts 2432
 ip link set dev wlan1 up   
 iwconfig wlan1 rate 1M
 dhclient -v wlan1

 # this is my IP address on my LAN
 ifconfig eth0 192.168.0.8 netmask 255.255.255.0

我正在运行 Linux Mint 17.1 主机。我已经安装了bridge-utils

答案1

是否可以绕过桥接部分并使用iptables它?

如果是这样,您可以设置源 NAT 来伪装从 wlan 接口流出的流量。

首先需要启用IP转发:

echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward

接下来,您需要伪装流出的流量:

sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE

让 LAN 连接的主机使用 192.168.0.8 作为默认网关,并让您的计算机使用 wlan0 接口连接的网关作为默认网关。

相关内容