我正在使用 Ubuntu 16.04 设置一个视觉系统,其中包含多个 GIGE 视觉相机和两个本地网络。我的电脑上有 6 个 GIGE 端口来尝试整理,但运气不太好。我希望这是我所缺少的相当明显的东西。
将它们列出来:
- enp0s31f6:使用 dhcp 连接到大学网络
- enp1s0:连接到本地仪器 LAN(静态 IP,192.168.175.x 子网)
- enp2s0:连接到 GIGE 相机 (192.168.0.3)
- enp3s0:连接到 GIGE 相机 (192.168.0.4)
- enp4s0:连接到 GIGE 相机 (192.168.0.5)
- enp5s0:连接到 GIGE 相机 (192.168.0.6)
到目前为止,我的接口文件是: # ifup(8) 和 ifdown(8) 使用的接口(5) 文件 auto lo iface lo inet 环回
# Primary interface
auto enp0s31f6
iface enp0s31f6 inet dhcp
# Secondary interface for vehicle comms
auto enp1s0
iface enp1s0 inet static
address 192.168.175.13
netmask 255.255.255.0
gateway 192.168.175.1
up route add -net 192.168.175.0 netmask 255.255.255.0 gw 192.168.175.1
up route del default gw 192.168.175.1
post-up route del -net 192.168.175.0 netmask 255.255.255.0 gw 0.0.0.0
#GIGE Port 1
auto enp2s0
iface enp2s0 inet static
address 192.168.0.2
netmask 255.255.255.0
gateway 192.168.0.1
#post-up route del -net 192.168.0.0 netmask 255.255.255.0 gw 0.0.0.0
#up route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.0.1
mtu 9000
我遇到的问题是路线非常混乱。现在他们是:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 enp2s0
10.64.226.0 0.0.0.0 255.255.254.0 U 0 0 0 enp0s31f6
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 enp2s0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 enp2s0
192.168.175.0 0.0.0.0 255.255.255.0 U 0 0 0 enp1s0
这并不是很有帮助,因为它现在通过 enp2s0 路由所有流量,而 enp2s0 仅连接到相机。我也不确定如何通过接口仅路由单个 IP 地址。
想法?
答案1
您应该通过 DHCP 获得默认网关路由enp0s31f6
,并作为您与外界的连接。 enp0s31f6 的配置看起来不错。
对于其他接口enp1s0
,enp2s0
,enp3s0
,enp4s0
和enp5s0
从其配置中删除所有“网关”线路,否则您将遇到流量将路由到错误接口的情况。
如果所有摄像机的 IP 地址与您的接口位于同一网络上,则您无需添加任何其他路由即可与它们通信。如果摄像机位于其他网络上,那么您需要在可以到达这些网络的相应接口上添加静态路由。
例子:
相机和接口共享同一个LAN:
# GIGE Port 1 auto enp2s0 iface enp2s0 inet static address 192.168.0.2 netmask 255.255.255.0 mtu 9000
摄像机位于可通过 enp2s0 访问的另一个网络(例如:192.168.1.0/24)上,并且该网络的网关是 192.168.0.1:
#GIGE Port 1 auto enp2s0 iface enp2s0 inet static address 192.168.0.2 netmask 255.255.255.0 up ip route add 192.168.1.0/24 via 192.168.0.1 mtu 9000
默认路由应将您与校园和世界其他地方连接起来,但对于您需要通过其他接口到达的任何其他目的地,请使用静态路由。