无法通过路由器 ping 两台机器

无法通过路由器 ping 两台机器

在我连接到 Internet 的接入点上,机器 1(192.168.43.12)和机器 2(192.168.43.153)通过其无线网卡连接。通过交换机,机器 2(192.168.0.1)还连接到机器 3(192.168.0.101)。

机器 2 配置为与机器 3 共享 Internet 连接:

sudo iptables -A FORWARD -o wlp3s0 -i eno1 -s 192.168.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t nat -F POSTROUTING
sudo iptables -t nat -A POSTROUTING -o wlp3s0 -j MASQUERADE
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
sudo /etc/init.d/dnsmasq start

在机器 3 上,traceroute返回:

traceroute to google.com (216.58.198.206), 30 hops max, 60 byte packets
 1  sc500 (192.168.0.1)  0.529 ms  0.432 ms  0.373 ms
 2  * * *
 3  10.28.0.1 (10.28.0.1)  35.665 ms  36.062 ms  36.006 ms
 4  * * *
 5  194.149.164.94 (194.149.164.94)  35.965 ms  35.909 ms  31.021 ms
 6  72.14.221.62 (72.14.221.62)  35.607 ms  33.460 ms  33.599 ms
 7  108.170.244.161 (108.170.244.161)  33.702 ms  19.679 ms  17.077 ms
 8  108.170.234.51 (108.170.234.51)  18.306 ms  27.571 ms  28.029 ms
 9  par10s27-in-f206.1e100.net (216.58.198.206)  27.975 ms  29.825 ms  27.862 ms

但是,从机器 1 上,我无法 ping 192.168.0.X 上的任何人。我不明白为什么以及如何实现。

答案1

您已将计算机 2 配置为对 192.168.0.0/24 网络上的任何人执行网络地址转换 (NAT)。换句话说,您已指示计算机 2 对其他所有人假装实际上没有 192.168.0.0/24 网络,但所有内容都来自计算机 2。(这就是“共享互联网连接”的作用)。这种假装的反面是,当然,192.168.0.0/24 上的任何人都无法通过计算机 2 从外部访问。

正确的设置应该是

(1) 只有一个网段 (192.168.43.0/24),即在 machine2 上使用网桥。但将 WLAN 站点桥接到 LAN 很困难(请参阅其他近期问题)。

(2)配置您的主路由器(192.168.43.0/24 上的网关)对您的 ISP 进行更大范围的 NAT(例如,192.168.42.0/23),像以前一样在 WLAN 上管理 192.168.43.0/24,配置没有 NAT 的机器 2 仅在 192.168.42.0/24 和 192.168.43.0/24 之间转发和路由数据包,并在需要的地方设置静态路由。

(3)保持一切原样,接受您无法通过 IP 访问 192.168.0.0/24,但为您想要在 192.168.0.0/24 上访问的几个重要服务设置端口转发。

相关内容