我有一个具有静态IP的PLC,我不能改变它,还有一个不能设置的网关。我需要能够在我的公司网络上通过TCP与PLC对话。似乎是纳特的好候选人..。
我在PLC前面添加了一个TC链路ER605路由器,它的网络与PLC的网络相匹配(192.168.1.1/24),我已经将广域网配置成我网络上的子网(10.15.70.19/24)。我创建了一个NAT规则(虚拟服务器),如下所示。

当我尝试从广域网(10.15.70.19:502)连接到PLC时,就会超时。
当我插入LAN端时,我可以打开一个连接到192.168.1.88:502,没问题。
我认为问题是数据包可以到达PLC,但是PLC没有网关,也不知道在哪里将数据包发回。我已经证实了这一点,用笔记本代替PLC,运行Wireshark。我不知道这里还有什么值得尝试的。
任何帮助或洞察我的假设将不胜感激。
发布于 2022-11-09 05:12:38
我最初误解了这一点,但这里的问题是,虚拟服务器是用于DNAT的,而您真正需要的似乎是SNAT。
按照现在的设置,假设您的机器是10.15.70.100。
当机器的流量在10.15.70.19:502击中路由器时,路由器会看到一个数据包从
10.15.70.100 --> 10.15.70.19:502更改为
10.15.70.100 --> 192.168.1.88:502然后把它送上它的快乐之路。
当PLC接收到它时,它将尝试响应10.15.70.100,但是由于它没有默认网关,所以不能这样做。
如果这个PLC和你的PC连接在同一个网络上,那么就像@joeqwerty说的那样,你只需在192.168.1.0/24号使用一个二级IP地址,一切都会好起来的。
如果你想用路由器和NAT这样做,那么你所要做的就是逆转路由器端口,并在你的PC上添加一条路由来使用路由器到达PLC。
使局域网端口位于10.15.70.0/24网络上,广域网端口位于192.168.1.0/24上,并在您的计算机上通过10.15.70.创建一条路由,名为192.168.1.0/24
如果路由器上的其他设置几乎是默认的,那么在这种情况下,路由器会看到:
10.15.70.100 --> 192.168.1.88把它改成
192.168.1.<router address> --> 192.168.1.88然后把它送过去。
然后,当PLC想要响应时,它可以在192.168.1.x响应路由器,这将是它完全能够做到的。
发布于 2022-11-09 04:32:31
在您的计算机上的网络适配器的TCP/IP 4协议的高级TCP/ ip设置中添加一个额外的IP地址,用于PLC正在使用的同一网络。这要求您的网络适配器配置一个静态ip地址.如果不是,则暂时将静态ip地址分配给网络适配器。
这并不要求PLC有默认网关。
例如,如果PLC ip地址为192.168.1.1/24,则在网络适配器上分配192.168.1.2/24作为附加ip地址。这将允许您的计算机直接与PLC通信。这不会中断您的“主”网络上的网络通信。
https://serverfault.com/questions/1115187
复制相似问题