AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1115187
Accepted
MikeSchem
MikeSchem
Asked: 2022-11-09 18:08:50 +0800 CST2022-11-09 18:08:50 +0800 CST 2022-11-09 18:08:50 +0800 CST

如何连接到具有不可更改静态 IP 且没有网关的 PLC

  • 772

概括

我有一个 PLC,它有一个无法更改的静态 IP 和一个无法设置的网关。我需要能够在我的公司网络上通过 TCP 与 PLC 通信。似乎是 NAT 的一个很好的候选人......

设想

我在 PLC 前面添加了一个 TC-Link ER605 路由器,其网络与 PLC 的网络 (192.168.1.1/24) 匹配,并且我已将 WAN 配置为我网络上的子网 (10.15.70.19/ 24)。我创建了如下所示的 NAT 规则(虚拟服务器)。

在此处输入图像描述

当我尝试从 WAN 端(10.15.70.19:502)连接到 PLC 时,超时。

当我插入 LAN 端时,我可以打开到 192.168.1.88:502 的连接没问题。

潜在问题

我认为问题在于数据包可以到达 PLC,但 PLC 没有网关,也不知道将数据包发回哪里。我已经通过用笔记本电脑代替 PLC 并运行 Wireshark 来确认这一点。我不确定这里还有什么可以尝试的。

任何帮助或洞察我的假设将不胜感激。

routing nat
  • 2 2 个回答
  • 34 Views

2 个回答

  • Voted
  1. joeqwerty
    2022-11-09T20:32:31+08:002022-11-09T20:32:31+08:00

    为 PLC 使用的同一网络在计算机上网络适配器的 TCP/IPv4 协议的高级 TCP/IP 设置中添加一个额外的 IP 地址。这要求您的网络适配器配置有静态 IP 地址......如果不是,则临时为您的网络适配器分配一个静态 IP 地址。

    这不需要 PLC 具有默认网关。

    例如,如果 PLC 的 IP 地址是 192.168.1.1/24,那么将 192.168.1.2/24 分配为网络适配器上的附加 IP 地址。这将允许您的计算机直接与 PLC 通信。这不会中断您的“主要”网络上的网络通信。

    • 1
  2. Best Answer
    A. Trevelyan
    2022-11-09T21:12:38+08:002022-11-09T21:12:38+08:00

    我最初误解了这一点,但这里的问题是虚拟服务器是用于 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。

    使 LAN 端口在 10.15.70.0/24 网络上,WAN 端口在 192.168.1.0/24 上,并在您的机器上创建一条路由 192.168.1.0/24 via 10.15.70.<router interface >

    路由器上的其他设置几乎都是默认设置,在这种情况下,路由器会看到:

    10.15.70.100 --> 192.168.1.88
    

    将其更改为

    192.168.1.<router address> --> 192.168.1.88
    

    并一起发送。

    然后,当 PLC 想要响应时,它可以响应 192.168.1.x 的路由器,这完全有能力做到。

    • 1

相关问题

  • 无法通过 Ubuntu VPN 访问外部网络

  • 将路由永久添加到 Solaris 10

  • Quagga 套件中的 ./configure --disable-zebra 代表什么?

  • 使用特定接口进行出站连接(Ubuntu 9.04)

  • Linux TC/策略路由工具

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve