嵌入式linux实现NAT端口映射

场景:

  1、嵌入式linux系统内已经在2个网卡,分别为eth0(内网物理网卡,ip地址:192.168.1.4)以及ppp1(VPN客户端通过PPTP协议拨号生成的虚拟网卡,ip地址:192.168.6.176)。

  2、监控摄像头(ip地址:192.168.1.108,端口:37777)与eth0网卡处于同一个网段;监控摄像头客户端软件(ip地址:192.168.6.8)与ppp1网卡处于同一网段。

需求:

  摄像头客户端软件无法跨网段直接访问摄像头,需要嵌入式linux系统做路由实现NAT端口映射,192.168.1.108:37777 <---> 192.168.6.176:10000。

解决方案:

  1、确认嵌入式linux系统内已经安装iptables软件。

  2、打开系统转发功能,命令:echo 1 > /proc/sys/net/ipv4/ip_forward

  3、添加路由表,命令:route add -net 192.168.6.0 netmask 255.255.255.0 gw 192.168.6.1

  4、添加NAT指令:iptables -t nat -A PREROUTING -d 192.168.6.176 -p tcp --dport 10000 -j DNAT --to-destination 192.168.1.108:37777

            iptables -t nat -A POSTROUTING -d 192.168.1.108 -p tcp --dport 37777 -j SNAT --to 192.168.1.4

经过上述步骤,摄像头监控软件访问192.168.6.176:10000即访问192.168.1.108:37777,实际测试图像正常。

posted @ 2017-10-13 21:36  黑色力量  阅读(863)  评论(0编辑  收藏  举报