| 2019-09-25
在开发过程中,因为网络环境的原因,需要通过某一台服务器访问其他服务器的一些端口,这里就涉及到linux端口映射的问题。在linux服务器上,1024以下的linux端口映射是禁止非root用户使用的。所以如果想要使用80端口访问tomcat,则修改conf/server.xml的端口为80,那么只能使用root用户;但是linux端口映射为了安全起见,一般都是使用其他用户启动tomcat,可以采用端口映射的方式,比如映射80到8080端口。
linux端口映射是将外部主机的IP地址的端口映射到Intranet中的一台计算机,以提供相应的服务。
端口映射可以通过使用动态或固定的公共网络IP路由ADSL宽带路由器来实现。ADSL直接连接到集线器或交换机,以允许计算机共享互联网。
若用户访问提供映射端口的linux主机的端口时,服务器会向LAN中提供此特定服务的主机发送请求。外部IP地址机的多个端口也可以映射到内部网络中不同计算机上的不同端口。端口映射还可以执行一些特定的代理功能。
端口映射分为动态和静态。动态端口映射:内网中的一台电脑要访问网站,会向NAT网关发送数据包,包头中包括对方网站IP、端口和本机IP、端口,NAT网关会把本机IP、端口替换成自己的公网IP、一个未使用的端口,并且会记下这个映射关系,为以后转发数据包使用。
linux端口映射请参考下面的设定:
【实现功能】
PC A是
eth0 172.18.10.212 内网
eth1 219.239.xx.xx 外网
PC B是 172.18.10.205 内网
A的8080端口映射到B的80端口
【步骤】
1、 首先应该做的是/etc/sysctl.conf配置文件的 net.ipv4.ip_forward = 1 默认是0
这样允许iptalbes FORWARD。
2、 在/etc/rc.d/init.d目录下有iptables 文件,使用格式如下
Usage: ./iptables {start|stop|restart|condrestart|status|panic|save}
相当与service iptables {....}
把iptables 服务停止,清除以前的规则,存盘
到/etc/rc.d/init.d目录下,运行
./iptables stop
iptalbes -F
iptalbes -X
iptalbes -Z
./iptables save
3、 重新配置规则
iptables -t nat -A PREROUTING -d 219.239.xx.xx -p tcp --dport 8080 -j DNAT --to-destination 172.18.10.205:80
iptables -t nat -A POSTROUTING -d 172.18.10.205 -p tcp --dport 80 -j SNAT --to 172.18.10.212
iptables -A FORWARD -o eth0 -d 172.18.10.205 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i eth0 -s 172.18.10.205 -p tcp --sport 80 -j ACCEPT
DNAT SNAT 的请参考帮助,这里不再陈述。
4、 新的规则存盘
./iptables save
规则存盘后在/etc/sysconfig/iptables这个文件里面,若你对这个文件很熟悉
直接修改这里的内容也等于命令行方式输入规则。
5、 启动iptables 服务
./iptables start
在/proc/net/ip_conntrack文件里有包的流向,如下面
tcp 6 53 TIME_WAIT src=../../221.122.59.2 dst=219.239.xx.xx sport=7958 dport=8080 packets=9 bytes=1753
src=../../172.18.10.205 dst=172.18.10.212 sport=80 dport=7958 packets=9 bytes=5777 [ASSURED] use=1
进入花生壳官网下载花生壳3全新改版客户端,没有护照的用户需要先注册花生壳护照。
在Windows7系统内安装花生壳,完成后登陆。
点击客户端内网映射,则跳转至花生壳管理的内网映射web页面,可以直接在网页中对域名进行添加映射,即使不在服务器现场,也可以远程管理。
下面介绍内网映射添加步骤:
①点击【内网映射】——【添加映射】。
在添加映射页面,填写好“应用名称”,“内网服务器IP”,“内网服务端口”以及选择“外网端口”形式,点击确定即可。
②添加成功后,会生成一个外网访问地址。
③在浏览器地址栏输入外网访问地址,即可成功访问内网主机搭建的服务和应用。
端口映射应用使用最广泛的就是花生壳。搞定端口映射之后,用户都能随心所欲使用强大的互联网服务了。除了搭建网站之外,完成linux端口映射的用户还可以轻松实现远程桌面的搭建和访问、远程监控摄像头、自己开服玩游戏、搭建各类办公系统等等。