說到端口映射,我們首先想到的是通過Windows系統(tǒng)對對象進(jìn)行內(nèi)網(wǎng)穿透,以讓W(xué)indows可以在本地磁盤中看到映射的目標(biāo),而在linux環(huán)境下進(jìn)行端口映射shell則需要使用iptables命令,具體步驟見下文linux端口映射命令介紹。
linux端口映射命令:
情形一:跨網(wǎng)絡(luò)、跨主機的映射Full-Nat
我們想到達(dá)主機B的80端口,但是由于網(wǎng)絡(luò)限制可能無法直接完成。但是我們可以到達(dá)主機A的8080端口,而主機A可以直接到達(dá)B的80端口。
這時候可以使用iptables,將主機B的80端口映射到主機A的8080端口,通過訪問A的8080相當(dāng)于訪問B的80。實現(xiàn)如下:
在主機A上直接如下命令,實現(xiàn)端口映射的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
說明:
NAT_Pro表示NAT的協(xié)議,可以是tcp或udp
NAT_Host表示中間做端口映射的主機。這里也就是主機A
NAT_Port表示中間做端口映射的端口。這里也就是主機A的8080口
Dst_Host表示被NAT的主機。這里也就是主機B
Dst_Host表示被NAT的端口。這里也就是主機B的80口
情形二:主機內(nèi)部的端口重定向
我們可能需要將訪問主機的7979端口映射到8080端口。也可以iptables重定向完成。
01iptables -t nat -A PREROUTING -p tcp --dport 7979 -j REDIRECT --to-ports 8080
注意問題:
需要打開ip_forward功能:
01echo '1' > /proc/sys/net/ipv4/ip_forward
以上便是關(guān)于linux端口映射命令的一些案例,在不同的情形下我們都可以使用iptables命令來完成這些操作。
全國職稱計算機考試速成過關(guān)系列套裝:W .. 定價:¥133 優(yōu)惠價:¥133.0 更多書籍 | |
全國職稱計算機考試速成過關(guān)系列套裝:W .. 定價:¥124 優(yōu)惠價:¥124.0 更多書籍 |