使用 Linux 计算机将设备连接到互联网

ram*_*n74 4 linux router gateway

我有下一个架构:

建筑学

[设备Eth0]--LAN---[Eth 0 Linux计算机Wth0]--Wifi--[路由器Wifi]

设备Eth0:IP:10.0.0.15,MK:255.255.255.0,GW:10.0.0.2

Linux 计算机 Eth0: IP:10.0.0.2, MK:255.255.255.0,GW: -
Linux 计算机 Wth0: IP192.168.1.10, MK:255.255.255.0, GW:192.168.1.1

路由器无线网络:IP:192.168.1.1/24

我需要设备使用 Linux 计算机(如网关)获得互联网连接。

Linux 计算机使用路由器 Wifi 获取互联网连接,效果很好。并且设备使用以太网线连接到Linux计算机。我可以从计算机对设备执行 ping 操作,并且可以正常工作。但设备无法连接到互联网。

我尝试使用路由规则、iptables...但设备无法连接到互联网。

您知道如何使用 Linux 计算机(如网关)将设备连接到互联网吗?

小智 5

它应该与以下命令一起使用

首先启用ip转发

echo 1 > /proc/sys/net/ipv4/ip_forward
Run Code Online (Sandbox Code Playgroud)

重置 iptables 规则

iptables -F
iptables -t nat -F
Run Code Online (Sandbox Code Playgroud)

允许从本地网络转发

iptables -A FORWARD -i eth0 -o wth0 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

允许回复

iptables -A FORWARD -i wth0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

伪装ip地址

iptables -t nat -A POSTROUTING -o wth0 -j MASQUERADE
Run Code Online (Sandbox Code Playgroud)

之后,您需要将 Linux 计算机的 eth0 IP (10.0.0.2) 配置为设备中的网关,并将 DNS 服务器配置为您的 wifi 路由器或其他公共 dns 服务的 IP(例如 1.1.1.1 或 8.8.8.8) )