| 2022-09-13
说到端口映射,我们首先想到的是通过Windows系统对对象进行内网穿透,以让Windows可以在本地磁盘中看到映射的目标,而在linux环境下进行端口映射shell则需要使用iptables命令,具体步骤见下文linux端口映射命令介绍。
情形一:跨网络、跨主机的映射Full-Nat
我们想到达主机B的80端口,但是由于网络限制可能无法直接完成。但是我们可以到达主机A的8080端口,而主机A可以直接到达B的80端口。
这时候可以使用iptables,将主机B的80端口映射到主机A的8080端口,通过访问A的8080相当于访问B的80。实现如下:
在主机A上直接如下命令,实现端口映射的Full-Nat
01#!/bin/bash
02pro='tcp'
03NAT_Host='Host_A'
04NAT_Port=8080
05Dst_Host='Host_B'
06Dst_Port=80
07iptables -t nat -A PREROUTING -m -p --dport -j DNAT --to-destination :
08iptables -t nat -A POSTROUTING -m -p --dport -d -j SNAT --to-source
复制代码
!/bin/bash pro='tcp' NAT_Host='Host_A' NAT_Port=8080 Dst_Host='Host_B' Dst_Port=80 iptables -t nat -A PREROUTING -m -p --dport -j DNAT --to-destination : iptables -t nat -A POSTROUTING -m -p --dport -d -j SNAT --to-source
说明:
NAT_Pro表示NAT的协议,可以是tcp或udp
NAT_Host表示中间做端口映射的主机。这里也就是主机A
NAT_Port表示中间做端口映射的端口。这里也就是主机A的8080口
Dst_Host表示被NAT的主机。这里也就是主机B
Dst_Host表示被NAT的端口。这里也就是主机B的80口
情形二:主机内部的端口重定向
我们可能需要将访问主机的7979端口映射到8080端口。也可以iptables重定向完成。
01iptables -t nat -A PREROUTING -p tcp --dport 7979 -j REDIRECT --to-ports 8080
复制代码
iptables -t nat -A PREROUTING -p tcp --dport 7979 -j REDIRECT --to-ports 8080
注意问题:
需要打开ip_forward功能:
01echo '1' > /proc/sys/net/ipv4/ip_forward
复制代码
echo '1' > /proc/sys/net/ipv4/ip_forward
自从能实现端口映射的问题,如今五花八门的软件“群起而攻”,让市场看起来有“百花齐放”的意味。众多软件并不都能满足用户的使用需求,因此用户要慎重选择。这里为大家推荐花生壳端口映射软件。
在选择内网端口映射工具的时候要注意以下几点:
1、口碑、品牌双保障,可谓全球1800多万用户提供动态域名解析服务;
2、自带端口映射穿透功能,无需在设置路由器,并支持任意端口,包含80端口;
3、自动保留最后一次登陆IP,即使软件不在线也能正常进行域名解析;
4、实时查看软件在线状态,支持多账号同时监控,有问题可及时解决;
5、手机、平板随时远程管理,无需现场管理。
花生壳是国内较早一批拥有千万级用户量的内网穿透服务商。目前已自主研发花生壳软件以及花生棒、花生壳盒子等硬件。无需公网IP也能实现内网穿透服务。支持Windows、Linux、树莓派、iOS等操作系统,并可通过iPhone、安卓手机APP或微信进行远程管理。花生壳被广泛应用于微信公众号、小程序、HTTPS映射、淘宝客采集系统、视频监控 、遥感测绘、FTP 、企业OA等应用领域。