新发经济

要闻

IT技术:linux端口映射命令是什么如何使用iptabl

时间:2021-08-08 11:10

  只要上网,每天你都会到各种各种的资讯,今日也是到网上收集了一些与linux端口映射命令是什么如何使用iptables做端口映射shell相关的信息,那么下面分享给大家一起了解下吧。

   说到端口映射,我们首先想到的是通过Windows系统对对象进行内网穿透,以让Windows可以在本地磁盘中看到映射的目标,而在linux环境下进行端口映射shell则需要使用iptables命令,具体步骤见下文linux端口映射命令介绍。

   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

   以上便是关于linux端口映射命令的一些案例,在不同的情形下我们都可以使用iptables命令来完成这些操作。

  通过上面的介绍,相信大家对于这个linux端口映射命令是什么如何使用iptables做端口映射shell也有了一定的了解了,希望精心整理的这篇内容能够解决你的困惑。