我正在设计一个系统,其中有一台服务器 PC,上面有两个网卡,运行 Centos 6,还有一个传感器设备,运行一个 Web 服务器。传感器设备直接连接到服务器 PC 的一个网卡。所有这些都在一个盒子里。另一个网卡可从外部使用,并可连接到交换机。
现在,我希望能够从我的 PC(或其他客户端)访问传感器设备 Web 服务器,但我无法访问。我远不是配置此类网络的专家。我想要的是:
当客户端 PC 请求 192.168.1.100:8080 时,服务器 PC 会将其转发到 192.168.0.100:80,然后我就可以在客户端 PC 上看到它了。还有其他关于配置两个网卡、网桥、边界和其他东西的答案,但我认为情况不一样。
如果有必要,我可以对服务器 PC 和传感器设备使用同一个网络,但到目前为止这没有帮助。
附上了系统图表(使用 dropbox,因为我的投票不够,很抱歉)。
https://dl.dropboxusercontent.com/u/50305647/Two%20nics%20diagram.png
提前致谢。
答案1
这很简单。
- 允许在服务器 PC 上转发
- 将 DNAT 规则添加到服务器 PC
对于 CentOS 来说,它将是:
编辑
/etc/sysctl.conf
和更改net.ipv4.ip_forward = 0
然后net.ipv4.ip_forward = 1
sysctl -p
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.0.100:80
还要确保您在FORWARD
表链input
中具有允许规则iptables
。