嵌入式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,实际测试图像正常。
嵌入式linux实现NAT端口映射的更多相关文章
- 网站开发进阶(三)Windows NAT端口映射
Windows NAT端口映射 由于有需求进行端口映射,又不想装乱七八糟的软件,Windows本身自带的路由远程访问配置太麻烦,还要两块网卡,坑爹啊. 其实Windows本身命令行支持配置端口映射,条 ...
- 什么是NAT端口映射?
背景:我们访问百度的时候输入www.baidu.com出现的网站首页.发生了什么事情?百度它有服务器,IP地址是公网的,有自己的域名,所以你可以正常访问到百度(实际上访问的是IP地址+服务端口).如果 ...
- VirtualBox设置NAT端口映射
原文地址 :http://www.2cto.com/os/201209/153863.html VirtualBox设置NAT端口映射 好吧,我知道这个问题有很多人都讲过,但是,你们不觉得VB ...
- Juniper srx 550建立NAT端口映射
一.Juniper srx 550建立NAT端口映射 公司Juniper srx 550路由器,因为很少去设置,所以怕到时设置时步骤又给忘记了,这里做个备注,以便日后查 NAT配置界面介绍: Rule ...
- 80端口被屏蔽解决方法,80端口穿透之NAT端口映射技术
介绍一种NAT端口映射技术应用,达到80端口穿透目的,解决80端口被屏蔽的问题,也是80端口被屏蔽解决方法中经常用到的. 80端口穿透类似80端口转发,因为80端口被屏蔽,在数据层面来说是不能直接访问 ...
- VMware NAT端口映射外网访问虚拟机linux
本文目的: 一. SSH连接 二. 访问HTTP VMware Workstation提供了两种虚拟机上网方式,一种bridge,一种NAT,bridge可以获得公网地址,而NAT只能是内网地址了. ...
- VMware NAT端口映射 外网可以访问内网虚拟机
我想尝试的是利用本机的ip+port来访问虚拟机上的web服务器,因为这样的话,我就能够将我的web服务器部署成为一个能让外网访问的服务器了,首先说下我的环境: 主机:系统win7,ip地址172.1 ...
- linux将80端口映射到指定端口命令
1.添加一个端口映射 将80端口映射到8088端口命令如下: iptables -t nat -I PREROUTING -p tcp --dport 80-j REDIRECT --to-port ...
- NAT ------ 为什么手动设置NAT端口映射(转发)不成功,导致访问不了局域网服务器
手动设置端口映射成功的条件是路由器WAN口接的是外网IP,而不是网络提供商的路由器NAT之后的IP.假如有个外网的客户端,连的服务器IP一定要是外网IP(假设IP_A),如果自己的路由器WAN口接的是 ...
随机推荐
- 一个伟大的发现,装X一下。笔记本win7系统64位机器执行unity 时,屏幕模糊解决的方法
笔者笔记本win7系统64位机器执行unity 时.往往切换时unity界面屏幕模糊,后来发现此时须要下载DirectXRuntimes201006x64,安装就可以.
- Android 线程 Looper.prepare()、Looper.loop() 使用
优化项目过程中发现了一个非常Low的问题,整理一下.备忘: 说问题之前先看下HandlerThread的定义 一个封装了looper的线程: Looper用于封装了android线程中的消息循环. ...
- 使用html5 FileReader获取图片,并异步上传到server(不使用iframe)
使用html5 FileReader获取图片,并异步上传到server(不使用iframe) 原理: 1.使用FileReader 读取图片的base64编码 2.使用ajax.把图片的base64编 ...
- poj--3187--Backward Digit Sums(dfs)
Backward Digit Sums Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5667 Accepted: 32 ...
- js中 if不判断解决方式
$(function() { $("#number").blur(function() { var number = $('#number').val(); var num = $ ...
- Oracle创建用户教程
计算机-->管理-->应用程序与服务-->(OracleOraDb11g_home1TNSListener 和 OracleServiceORCL 服务)->启动服务 打开Or ...
- python 关于文件操作的一些理解
在用python进行数据处理编程中,往往涉及到文件IO口读写,IO口的读写性能会极大的影响程序的运行时间.在进行文件写入时,一般会存在两种情况.第一种是数据到来马上进行数据写入,即来一条写一条,第二种 ...
- 自学Python六 爬虫基础必不可少的正则
要想做爬虫,不可避免的要用到正则表达式,如果是简单的字符串处理,类似于split,substring等等就足够了,可是涉及到比较复杂的匹配,当然是正则的天下,不过正则好像好烦人的样子,那么如何做呢,熟 ...
- 5.26 Quartz任务调度图解2
- Multipart/form-data POST文件上传
简单的HTTP POST 大家通过HTTP向服务器发送POST请求提交数据,都是通过form表单提交的,代码如下: <form method="post"action=&qu ...