如何将所有流量从 wlan0 路由到 eth0 并使给 wlan0 的 ip 作为网关?

如何将所有流量从 wlan0 路由到 eth0 并使给 wlan0 的 ip 作为网关?

我有两台笔记本电脑都使用 wifi 连接在同一 LAN 上。在一台笔记本电脑中,我有工作互联网连接,我使用以太网与笔记本电脑 2 共享该连接,因为我想在同一 LAN 上创建一个新网关,以便通过我的网关连接到 LAN 的客户端可以访问互联网。

通过以太网进行互联网共享在笔记本电脑 2 上运行,以太网接口和 IP 配置如下

eth0
Connection mode - Shared to other Computers
IP - 192.168.137.2
Subnet -24
Gateway - 192.168.137.1
DNS - 8.8.8.8 ,4.4.4.4

同一台计算机上无线接口 wlan0 的 ip 配置如下(该接口将充当网关)

wlan0
Connection mode - Manual
IP - 192.168.144.111
Subnet -24
Gateway - EMPTY
DNS - EMPTY

连接在同一网络上的客户端的 ip 配置为

interface - eth0/wlan0
Connection mode - Manual
IP - 192.168.144.X
Subnet -24
Gateway - 192.168.144.111
DNS - 8.8.8.8 ,4.4.4.4

我在我的 Linux 电脑中启用了 ip_forwarding,但连接到同一子网的客户端无法连接到互联网。

答案1

您需要启用ip_forwarding

echo 1 >/proc/sys/net/ipv4/ip_forward

设置默认路由eth0

ip route add default via 192.168.137.1

然后告诉wlan0LAN 上的客户端用作192.168.144.111其网关。如果您控制dhcp服务器,请更改配置中的网关dhcp

NAT如果您希望客户端192.168.144.0/24连接到互联网,您可能还需要进行设置:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

相关内容