| 2020-07-16
在开发过程中,因为网络环境的原因,需要通过某一台服务器访问其他服务器的一些端口,这里就涉及到linux端口映射的问题。在linux服务器上,1024以下的linux端口映射是禁止非root用户使用的。所以如果想要使用80端口访问tomcat,则修改conf/server.xml的端口为80,那么只能使用root用户;但是linux端口映射为了安全起见,一般都是使用其他用户启动tomcat,可以采用端口映射的方式,比如映射80到8080端口。
本文小编从两种情形来解读linux端口映射的操作问题。
情形一:跨网络、跨主机的映射Full-Nat
我们想到达主机B的80端口,但是由于网络限制可能无法直接完成。但是我们可以到达主机A的8080端口,而主机A可以直接到达B的80端口。
这时候可以使用iptables,将主机B的80端口映射到主机A的8080端口,通过访问A的8080相当于访问B的80。实现如下:
在主机A上直接如下命令,实现端口映射的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的协议,可以是tcp或udp
NAT_Host表示中间做端口映射的主机。这里也就是主机A
NAT_Port表示中间做端口映射的端口。这里也就是主机A的8080口
Dst_Host表示被NAT的主机。这里也就是主机B
Dst_Host表示被NAT的端口。这里也就是主机B的80口
情形二:主机内部的端口重定向
我们可能需要将访问主机的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
以上便是关于linux端口映射命令的一些案例,在不同的情形下我们都可以使用iptables命令来完成这些操作。
一、安装花生壳5
下载花生壳5客户端后,双击安装程序,
①根据安装向导完成安装步骤;
②可修改安装目录。
二、登录花生壳5
安装成功后,扫描二维码或点击二维码下方的“账号登录”,输入已注册好的贝锐账号登录;未拥有花生壳账号的用户,可点击客户端左下方的“注册账号”。
三、使用花生壳5
1、花生壳账号登录成功后即可进入主界面。5客户端同时支持在客户端和网页端添加、修改和删除映射。点击客户端界面右下角“+”,进行添加映射;
2、填写映射的信息:
① 应用名称:自定义填写
② 应用图标:可以给对应的服务选择一个图标,方便区分
③ 应用类型:根据需要映射的服务选择
如:TCP通常用于软件类
UDP用于UDP服务(5.1以上客户端才支持)
http或https用于网站类型
Socks5用于代理(此功能暂时下架)
④ 外网域名:可选择账号下面已有的域名
外网端口:根据服务类型选择(固定端口:需购买、动态端口:免费系统随机分配)
⑤ 内网主机:服务器电脑IP地址
内网端口:内网服务端口
⑥ 密码访问限制:开启此功能之后,浏览器访问先输出密码才可以显示对应的网站信息,点击“保存”即可;
3、添加成功后,我们在客户端上可查看到新添加的映射,支持对映射进行编辑和诊断。
4、外网通过浏览器输入生成的访问地址,即可访问成功!
四、功能介绍
点击客户端左上角的“三”按钮,可进行相关的设置,如开机启动、是否以服务方式运行、自动锁定客户端、设置客户端联网网卡等。
花生壳推出的5客户端,具有全新、简洁的交互界面,使用更加简单。并且花生壳5开始全面免费提供内网穿透服务,还支持在客户端上设置映射和设置联网网卡。