
端口映射是属于NAT的一种,其功能是将公用网络的地址转换为私有地址的形式,主要是采用了路由的ADSL宽带路由器方式来拥有公网的IP,将ADSL直接接在HUB或交换机上,所有的电脑都可以共享上网。而我们在linux的环境下进行端口映射时,就需要使用一些iptables的命令,而这种命令确实很少有人知道。还好小编“私藏”了一些,现在就将这些“私藏”的好东西分享给大家,希望对大家能有所帮助。
linux端口映射命令情形一:跨网络、跨主机的映射Full-Nat
当我们进入到主机B的80端口时,有时会由于网络的限制,可能导致无法直接完成。但是我们可以先行到达主机A的8080端口,而主机A是可以直接到达B的80端口。而这个时候我们就可以使用iptables,将主机B的80端口直接映射到主机A的8080端口,然后通过访问A的8080端口就相当于访问B的80端口。实现如下:
在主机A上直接输入如下的命令,就可以实现端口映射的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的协议,可以是tcp或udp
NAT_Host表示中间做端口映射的主机。这里也就是主机A
NAT_Port表示中间做端口映射的端口。这里也就是主机A的8080口
Dst_Host表示被NAT的主机。这里也就是主机B
Dst_Host表示被NAT的端口。这里也就是主机B的80口
情形二:主机内部的端口重定向
我们有时需要把访问主机的7979端口映射到8080端口。同时我们也可以直接使用iptables重定向来进行完成。
iptables -t nat -A PREROUTING -p tcp --dport 7979 -j REDIRECT --to-ports 8080
注意问题:
需要打开ip_forward功能:echo ’1’ > /proc/sys/net/ipv4/ip_forward
上述就是关于linux端口映射命令的一些案例方式,当我们在面对不同的情形下时,都可以使用iptables的命令来完成一些操作。在使用iptables的时候就会减少很多头疼操作。想获取更多的电脑操作方法及软件的使用方法,敬请关注米葫芦,我们将我们将竭尽为你解答。
Greenfoot是一款简单易用的Java开发环境,该软件界面清爽简约,既可以作为一个开发框使用,也能够作为集成开发环境使用,操作起来十分简单。这款软件支持多种语言,但是默认的语言是英文,因此将该软件下载到电脑上的时候,会发现软件的界面语言是英文版本的,这对于英语基础较差的朋友来说,使用这款软件就会...
07-05
Egret UI Editor是一款开源的2D游戏开发代码编辑软件,其主要功能是针对Egret项目中的Exml皮肤文件进行可视化编辑,功能十分强大。我们在使用这款软件的过程中,可以将一些常用操作设置快捷键,这样就可以简化编程,从而提高代码编辑的工作效率。但是这款软件在日常生活中使用得不多,并且专业性...
07-05
KittenCode是一款十分专业的编程软件,该软件给用户提供了可视化的操作界面,支持Python语言的编程开发以及第三方库管理,并且提供了很多实用的工具,功能十分强大。我们在使用这款软件进行编程开发的过程中,最基本、最常做的操作就是新建项目,因此我们很有必要掌握新建项目的方法。但是这款软件的专业性...
07-05
Thonny是一款十分专业的Python编辑软件,该软件界面清爽简单,给用户提供了丰富的编程工具,具备代码补全、语法错误显示等功能,非常的适合新手使用。该软件还支持多种语言,所以在下载这款软件的时候,有时候下载到电脑中的软件是英文版本的,这对于英语基础较差的小伙伴来说,使用这款软件就会变得十分困难,...
07-05