系統(tǒng)之家 - 系統(tǒng)光盤下載網站!

當前位置:系統(tǒng)之家 > 系統(tǒng)教程 > linux端口映射命令是什么

linux端口映射命令是什么?如何使用iptables做端口映射shell?

時間:2017-04-13 09:23:26 作者:quers 來源:系統(tǒng)之家 1. 掃描二維碼隨時看資訊 2. 請使用手機瀏覽器訪問: https://m.xitongzhijia.net/xtjc/20170413/95560.html 手機查看 評論

  說到端口映射,我們首先想到的是通過Windows系統(tǒng)對對象進行內網穿透,以讓Windows可以在本地磁盤中看到映射的目標,而在linux環(huán)境下進行端口映射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

  1. 01#!/bin/bash
  2. 02pro='tcp'
  3. 03NAT_Host='Host_A'
  4. 04NAT_Port=8080
  5. 05Dst_Host='Host_B'
  6. 06Dst_Port=80
  7. 07iptables -t nat -A PREROUTING -m $pro -p $pro --dport $NAT_Port -j DNAT --to-destination $Dst_Host:$Dst_Port
  8. 08iptables -t nat -A POSTROUTING -m $pro -p $pro --dport $Dst_Port -d $Dst_Host -j SNAT --to-source $NAT_Host
復制代碼
#!/bin/bash pro='tcp' NAT_Host='Host_A' NAT_Port=8080 Dst_Host='Host_B' Dst_Port=80 iptables -t nat -A PREROUTING -m $pro -p $pro --dport $NAT_Port -j DNAT --to-destination $Dst_Host:$Dst_Port iptables -t nat -A POSTROUTING -m $pro -p $pro --dport $Dst_Port -d $Dst_Host -j SNAT --to-source $NAT_Host

  說明:

  NAT_Pro表示NAT的協(xié)議,可以是tcp或udp

  NAT_Host表示中間做端口映射的主機。這里也就是主機A

  NAT_Port表示中間做端口映射的端口。這里也就是主機A的8080口

  Dst_Host表示被NAT的主機。這里也就是主機B

  Dst_Host表示被NAT的端口。這里也就是主機B的80口

  情形二:主機內部的端口重定向

  我們可能需要將訪問主機的7979端口映射到8080端口。也可以iptables重定向完成。

  1. 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功能:

  1. 01echo '1' > /proc/sys/net/ipv4/ip_forward
復制代碼
echo '1' > /proc/sys/net/ipv4/ip_forward

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

發(fā)表評論

0

沒有更多評論了

評論就這些咯,讓大家也知道你的獨特見解

立即評論

以上留言僅代表用戶個人觀點,不代表系統(tǒng)之家立場

其他版本軟件

熱門教程

人氣教程排行

Linux系統(tǒng)推薦

官方交流群 軟件收錄