栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

树莓派自启动配置端口映射及启动jar

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

树莓派自启动配置端口映射及启动jar

树莓派自启动配置端口映射及启动jar 背景

项目需要用树莓派代理摄像头,使外部只能通过树莓派才能访问摄像头。树莓派4B有两张网卡,一张有线一张无线,打算使用有线网卡连接摄像头。由于rtsp流树莓派不知道怎样转发,所以使用iptables实现端口映射来代理。

过程
  1. 摄像头配置静态IP。宇视摄像头有EZTools这个软件可以修改配置,可以去官网下载。

    下载 (uniview.com)

  2. 树莓派有线网卡配置静态IP,这个IP要为摄像头的网关(不然收不到响应,可能与这个摄像头有些关系,我测试端口映射到其他程序,这个IP在同一个网络下就行)

    sudo vim /etc/dhcpcd.conf
    

    然后重启

  3. 开启网络转发

    sudo vim /etc/sysctl.conf #将net.ipv4.ip_forward=0更改为net.ipv4.ip_forward=1
    sysctl -p  #使数据转发功能生效
    
  4. 配置开机自启动及端口映射、启动jar

    sudo apt install iptables #记得安装iptables
    sudo vim /etc/rc.local
    

    在exit0前,添加如下内容。

    sudo iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 554 -j DNAT --to-destination 192.168.1.2:554 #将从网卡wlan0进入且目标端口为554的包转发到192.168.1.2:554(摄像头rtsp)
    sudo iptables -t nat -A POSTROUTING -d 192.168.1.2 -p tcp --dport 554 -j MASQUERADE  #将源IP为192.168.1.2:554的包的源地址进行伪装
    cd /home/pi #jar包所在路径
    java -jar device-0.0.1-SNAPSHOT.jar
    

启动后截图

wireshark抓包,可见摄像头ip(192.168.100.2)已改为树莓派wlan0IP(192.168.0.103)

RTSP流截图

一些可能用到的命令

sudo systemctl status rc-local	#查看系统启动项状态
sudo iptables -t nat -nvL --line-number #查看nat表
sudo iptables -t nat -D POSTROUTING 1	#删除序号为1的POSTROUTING下规则
sudo iptables -t nat -D PREROUTING 1	#删除序号为1的PREROUTING下规则
参考资料

iptables实现端口映射(本地和远程端口映射) - dzqabc - 博客园 (cnblogs.com)

/etc/profile, rc.local等文件的执行顺序_chao09_01的博客-CSDN博客_/etc/profile rc.local

Linux系统数据包转发_沈万三gz的博客-CSDN博客_linux数据包转发原理

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1039542.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号