Ubuntu 作为路由器

Ubuntu 作为路由器

我正在做一个使用带触摸屏的计算机的项目。这台计算机有 2 个以太网端口。

由于许可问题,我们需要使用 Ubuntu。HMI 程序我们用 Java 创建的程序通过其中一个以太网端口与 PLC 进行通信。但是当我们想要连接到 PLC 时,我们需要一个路由器来处理所有互联网通信。 通常我们有

我的问题是,我们可以忽略路由器,使用这 2 个以太网端口从 HMI 和 PC 连接到 plc 吗?我尝试过桥接,但这个解决方案似乎不能解决我的问题。

PLC 没有从 Ubuntu 上的 DHCP 服务器接收 IP,它需要 10.0.0.9。PC 和 HMI 的 IP 可以自动或手动设置。我所需要的只是连接到 plc。

我想要的是

使用交换机时的网络设置:

  besca@BescaRoast:~$ ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever

2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:30:18:0a:45:74 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.5/8 brd 10.255.255.255 scope global noprefixroute enp3s0
       valid_lft forever preferred_lft forever
    inet6 fe80::8f2b:7673:ee94:283e/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

3: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:30:18:0a:45:75 brd ff:ff:ff:ff:ff:ff

4: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 80:c5:f2:ba:21:c5 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.22/24 brd 192.168.1.255 scope global dynamic noprefixroute wlp2s0
       valid_lft 85761sec preferred_lft 85761sec
    inet6 fe80::1d3:9f97:ba6c:23dd/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

答案1

每台主机、计算机、服务器都可以充当路由器的角色。大多数家用路由器上都有 Linux。要将任何 Linux 主机“转变”为路由器,只需使用 sysctl 命令在内核上启用 IP 转发标志即可。

sysctl net.ipv4.ip_forward=1

sysctl net.ipv6.conf.all.forwarding=1

之后您可以在另外两台 PC 中设置默认网关,并将“Linux 路由器”设置为默认网关。

相关内容