对于一些大厂或者出于公司安全要求,服务器管控比较严格,有外置机、DMZ区等,大多数安全策略要求服务器在内置区域(内网不可访问互联网),但是不可避免的用户需要通过外网访问我们的服务器,怎么办呢?没网就没法提供服务。。。这里可以使用端口转接,服务器的端口映射到其他安全组机器上,前提是这个安全组可以连外网,这样用户可以通过访问的其他安全组的机器转接到内网的服务器上。既保证内网服务器的安全,又可以保证用户访问的到。
端口转发的方法有很多,这里分享一个简单的方法,可以解决当前很多麻烦事。
Rinetd是一个 TCP 连接重定向工具,当我们需要进行流量的代理转发的时候,我们可以通过该工具完成。Rinetd 是一个使用异步 IO 的单进程的服务,它可以处理配置在 /etc/rinetd.conf 中的任意数量的连接,但是并不会过多的消耗服务器的资源。
首先下载安装包:
wget --no-check-certificate https://li.nux.ro/download/nux/misc/el7/x86_64/rinetd-0.62-9.el7.nux.x86_64.rpm
记得提前安装yum install -y wget //镜像包中也可安装
由于部分内网无法联网,可提前下载rpm包
链接:https://pan.baidu.com/s/1k8p5tOHnZljnkRPtJCCU3A
提取码:gi26
安装并修改配置
rpm -ivh rinetd-0.62-9.el7.nux.x86_64.rpm
vi /etc/rinetd.conf
基本可以分为三大块
设定转接的端口和IP地址
bindaddress bindport connectaddress connectport
源地址 源端口 目的地址 目的端口
控制访问的ip
allow 和 deny 进行访问权限的控制
日志存放位置
需要设置什么可以取消注释修改,也可以自行添加
# to forward connections to port 80 on all addresses to port 80 on 192.168.0.2
0.0.0.0 8080 192.168.10.200 8080
这里解释一下,我本机ip是192.168.10.146;这里0.0.0.0表示任意地址,意思是任意地址访问我146的8080端口,都自动跳转到192.168.10.200 的8080端口,因为我在10.200部署了服务。
最后修改完后重新读取配置
[root@localhost ~]# rinetd -c /etc/rinetd.conf