我有下一个架构:
[设备Eth0]--局域网---[Eth 0Linux 计算机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 计算机将设备连接到互联网吗?
答案1
它应该与以下命令一起工作
首先启用 ip 转发
echo 1 > /proc/sys/net/ipv4/ip_forward
重置 iptables 规则
iptables -F
iptables -t nat -F
允许从本地网络转发
iptables -A FORWARD -i eth0 -o wth0 -j ACCEPT
允许回复
iptables -A FORWARD -i wth0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
伪装 IP 地址
iptables -t nat -A POSTROUTING -o wth0 -j MASQUERADE
之后,您需要将 Linux 计算机的 eth0 IP(10.0.0.2)配置为设备中的网关,并将 DNS 服务器配置为您的 wifi 路由器的 IP 或其他公共 DNS 服务(例如 1.1.1.1 或 8.8.8.8)