时间:2017-04-13 18:04作者:Blank来源:本站整理人气:524我要评论(0)
端口映射是属于NAT的一种,其功能是将公用网络的地址转换为私有地址的形式,主要是采用了路由的ADSL宽带路由器方式来拥有公网的IP,将ADSL直接接在HUB或交换机上,所有的电脑都可以共享上网。而我们在linux的环境下进行端口映射时,就需要使用一些iptables的命令,而这种命令确实很少有人知道。还好小编“私藏”了一些,现在就将这些“私藏”的好东西分享给大家,希望对大家能有所帮助。
情形一:跨网络、跨主机的映射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的时候就会减少很多头疼操作。想获取更多的电脑操作方法及软件的使用方法,敬请关注河东软件园,我们将我们将竭尽为你解答。
相关阅读 Ubuntu17.10在系统顶端显示日期、秒数的方法Ubuntu17.10通过dpi更改系统字体大小比例的方法Ubuntu17.10安装中文输入法的方法解决ubuntu16.04软件图标无法显示在控制栏的方法处理ubuntu 16.04提示解压失败或解压错误的方法修改Ubuntu 16.04启动器显示位置的方法Linux mint屏幕边缘设置功能的方法处理ubuntu运行软件不显示软件窗口的方法ubuntu17.10修改桌面图标大小的方法在linux系统中修改账户密码的方法
热门文章
解决linux虚拟机无法上网的教程
linux查看cpu使用率的方法
ubuntu16.04下安装配置genymotion安卓模拟器的方法
处理ubuntu 16.04提示解压失败或解压错误的方法
最新文章
Ubuntu17.10在系统顶端显示日期、秒数的方法
Ubuntu17.10通过dpi更改系统字体大小比例的方法
Ubuntu17.10安装中文输入法的方法解决ubuntu16.04软件图标无法显示在控制栏的方法处理ubuntu 16.04提示解压失败或解压错误的方法修改Ubuntu 16.04启动器显示位置的方法
人气排行 解决linux虚拟机无法上网的教程linux查看cpu使用率的方法ubuntu16.04下安装配置genymotion安卓模拟器的方法处理ubuntu 16.04提示解压失败或解压错误的方法解决ubuntu安装网易云音乐失败的方法处理ubuntu运行软件不显示软件窗口的方法解决ubuntu16.04软件图标无法显示在控制栏的方法
盖楼回复X
(您的评论需要经过审核才能显示)
查看所有0条评论>>