linux端口映射命令是什么?使用iptables做端口映射shell的方法
端口映射是屬于NAT的一種,其功能是將公用網(wǎng)絡(luò)的地址轉(zhuǎn)換為私有地址的形式,主要是采用了路由的ADSL寬帶路由器方式來擁有公網(wǎng)的IP,將ADSL直接接在HUB或交換機上,所有的電腦都可以共享上網(wǎng)。而我們在linux的環(huán)境下進(jìn)行端口映射時,就需要使用一些iptables的命令,而這種命令確實很少有人知道。還好小編“私藏”了一些,現(xiàn)在就將這些“私藏”的好東西分享給大家,希望對大家能有所幫助。

情形一:跨網(wǎng)絡(luò)、跨主機的映射Full-Nat
當(dāng)我們進(jìn)入到主機B的80端口時,有時會由于網(wǎng)絡(luò)的限制,可能導(dǎo)致無法直接完成。但是我們可以先行到達(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
#!/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的協(xié)議,可以是tcp或udp
NAT_Host表示中間做端口映射的主機。這里也就是主機A
NAT_Port表示中間做端口映射的端口。這里也就是主機A的8080口
Dst_Host表示被NAT的主機。這里也就是主機B
Dst_Host表示被NAT的端口。這里也就是主機B的80口
情形二:主機內(nèi)部的端口重定向
我們有時需要把訪問主機的7979端口映射到8080端口。同時我們也可以直接使用iptables重定向來進(jìn)行完成。
iptables -t nat -A PREROUTING -p tcp --dport 7979 -j REDIRECT --to-ports 8080
注意問題:
需要打開ip_forward功能:echo ’1’ > /proc/sys/net/ipv4/ip_forward
上述就是關(guān)于linux端口映射命令的一些案例方式,當(dāng)我們在面對不同的情形下時,都可以使用iptables的命令來完成一些操作。在使用iptables的時候就會減少很多頭疼操作。想獲取更多的電腦操作方法及軟件的使用方法,敬請關(guān)注好吧啦網(wǎng),我們將我們將竭盡為你解答。
相關(guān)文章:
