我想访问不同子网上的服务器。
这是我的网络拓扑:
Internet
|
|
ADSL
x.x.x.x (external)
D-link DSL-2730E (Router1)---------------------+
255.255.255.0 |
192.168.1.1 (internal) |
DHCP active |
| |
| |
| |
LAN-to-WAN |
192.168.1.2 (external, static) 192.168.1.100 (DHCP)
Linksys WAG120N (Router2) PC1 Windows 10
255.255.255.0
192.168.2.1 (internal)
DHCP active
|
|
192.168.2.2 (static)
Ubuntu Server 16.04 with node server listening on Port 3344
附加信息:
- 路由器 1 通过 LAN 到 WAN 连接到路由器 2
- 两个路由器均启用了 NAT,并禁用动态路由
- Router2 SPI 防火墙保护已关闭,匿名 WAN 请求已解除阻止
- 路由器1端口转发到192.168.1.2 WAN端口3344,LAN端口3344 TCP
- 路由器2端口转发到192.168.2.2 WAN端口3344,LAN端口3344 TCP
- 我可以从我的 PC1 ping 通 Router2 192.168.2.1
- 当我从 PC1 ping 服务器 192.168.2.2 时,出现“请求超时”
- 我已经在 Router1 上设置了静态路由,目的地为 192.168.2.0,子网掩码为 255.255.255.0,下一跳地址为 192.168.1.2,只有一个可用接口,即 a1 接口,度量为 1。
- 端口转发正在工作,当流量来自互联网时,服务器正在响应,即当我在 PC1 上的浏览器中输入 Router1 外部 IP 地址和转发端口 xxxx:3344 时,我会在浏览器中收到响应。奇怪的是,当我在 PC1 上的浏览器中输入 Router2 外部 IP 地址 192.168.1.2:3344 或 Router2 内部 IP 地址 192.168.2.1:3344(通过静态路由)时,我希望 Router2 将流量转发到我的[电子邮件保护]:3344,它们都不起作用,在 Google Chrome 上它会显示“无法访问此网站”。
- 您可能会问,为什么我没有在 Router2 上使用 LAN 端口,而是使用 WAN 端口。我的目标是完全阻止 192.168.2.0/24 子网的互联网访问,并允许 192.168.1.0/24 子网的互联网访问。将有大约 12 个 Android 客户端设备连接到 192.168.2.0/24 子网中的服务器,这些设备除了服务器之外不允许访问互联网。
- 我想要使用单独子网的另一个原因是,通过单个路由器过滤子网中的整个 IP 范围(服务器除外),可以更轻松地管理互联网访问过滤器。
以下是我从 PC1 获得的 tracert 结果:
Tracing route to 192.168.2.1 over a maximum of 30 hops
1 <1 ms 1 ms 1 ms 192.168.1.1
2 3 ms 4 ms 2 ms 192.168.2.1
Trace complete.
Tracing route to 192.168.2.2 over a maximum of 30 hops
1 <1 ms 1 ms 2 ms 192.168.1.1
2 * * 2 ms 192.168.1.2
3 * * * Request timed out.
4 * * * Request timed out.
5 * * * Request timed out.
6 * * * Request timed out.
7 * * * Request timed out.
8 * * * Request timed out.
9 * * * Request timed out.
10 * * * Request timed out.
11 * * * Request timed out.
12 * * * Request timed out.
13 * * * Request timed out.
14 * * * Request timed out.
15 * * * Request timed out.
16 * * * Request timed out.
17 * * * Request timed out.
18 * * * Request timed out.
19 * * * Request timed out.
20 * * * Request timed out.
21 * * * Request timed out.
22 * * * Request timed out.
23 * * * Request timed out.
24 * * * Request timed out.
25 * * * Request timed out.
26 * * * Request timed out.
27 * * * Request timed out.
28 * * * Request timed out.
29 * * * Request timed out.
30 * * * Request timed out.
Trace complete.
在我看来,这似乎不是路由器问题,问题出在哪里?Ubuntu 还是 node/express 服务器?提前致谢。
编辑:
- 更换了路由器
- 在 Router2 上禁用 NAT 和端口转发
- 路由器 1 端口转发到 192.168.2.2 WAN 端口 3344,LAN 端口 3344 TCP,我仍然可以从我的公共 IP:3344 访问服务器,但无法从我的路由器 1 IP:3344 访问服务器
答案1
删除双重 NAT。这会造成混乱并破坏设备。尤其是对于不是为这种用例设计的消费级设备。
在互联网边缘添加支持 VLAN 和多个子网的路由器和防火墙。使用防火墙保护您的受限子网,使其不包含互联网。根据需要在受限子网中添加 DHCP 服务和无线 AP。