说到端口映射 , 我们首先想到的是通过Windows系统对对象进行内网穿透 , 以让Windows可以在本地磁盘中看到映射的目标 , 而在linux环境下进行端口映射shell则需要使用iptables命令 , 具体步骤见下文linux端口映射命令介绍 。
linux端口映射命令:
情形一:跨网络、跨主机的映射Full-Nat
我们想到达主机B的80端口 , 但是由于网络限制可能无法直接完成 。但是我们可以到达主机A的8080端口 , 而主机A可以直接到达B的80端口 。
【linux端口映射命令是什么?如何使用iptables做端口映射shell?】这时候可以使用iptables , 将主机B的80端口映射到主机A的8080端口 , 通过访问A的8080相当于访问B的80 。实现如下:
在主机A上直接如下命令 , 实现端口映射的Full-Nat
01#!/bin/bash02pro='tcp'03NAT_Host='Host_A'04NAT_Port=808005Dst_Host='Host_B'06Dst_Port=8007iptables -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/bashpro='tcp'NAT_Host='Host_A'NAT_Port=8080Dst_Host='Host_B'Dst_Port=80iptables -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以上便是关于linux端口映射命令的一些案例 , 在不同的情形下我们都可以使用iptables命令来完成这些操作 。
- ftp服务的默认端口是什么
- uplink端口与普通接口区别
- linux怎么保存vim编辑的文件 linux怎么保存
- 电脑可以直接装linux系统吗
- 亚洲龙手机互联映射教程 亚洲龙如何使用手机互联映射
- 如何往linux传文件 Linux下如何远程传送文件
- ac1200是千兆路由器吗 ac1200是不是千兆端口
- 手把手教你嵌入式Linux系统驱动 hp1020plus驱动安装教程
- linux系统中调度的基本单位是
- Linux系统如何安装配置Sendmail?
