TCP端口转发(centos7)
===============================================
2019/2/14_第1次修改 ccb_warlock
===============================================
由于业务中个别TCP的服务需要做迁移,而该服务目前又是不是集群的方式对外提供服务,为了尽可能的缩短服务的中断,在部署完新服务后,原服务器的端口需要转发TCP的流量到新的服务器,经过一段时间后用户更新了配置,流量大体上直接向新服务器跑时,再将老服务器的端口撤掉。
在网上找了些资料,针对centos7的TCP端口转发找到2种途径:
1)firewalld
优:系统自带的防火墙,不需要配置其他软件就能实现TCP流量的转发;
缺:必须是firewalld运行的时候才能转发,但是有些服务的运行不适合开启firewalld,或者原先设计就是关闭服务器自身的防火墙而依靠外部的防火墙(比如云服务商的安全组);
2)rinetd
优:不管防火墙是否开启,都可以使用该服务实现端口转发(当然防火墙得开放这个端口);
缺:需要装服务,而且是一个最后更新时间是2003年的工具,面对十几年的系统网络发展会不会有风险需要大量试验后才能知道;
一、firewalld
# 允许防火墙伪装IP
firewall-cmd --add-masquerade
# 增加80、8080端口的映射到192.168.13.1的80、8080端口
firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.13.1:toport=80 --permanent
firewall-cmd --add-forward-port=port=8080:proto=tcp:toaddr=192.168.13.1:toport=8080 --permanent
二、rinetd
# 获取rinetd源码包到/opt目录下
cd /opt
wget http://www.boutell.com/rinetd/http/rinetd.tar.gz
tar -zxvf rinetd.tar.gz
# 进入rinetd目录
cd rinetd
# 设置转发端口的范围
sed -i 's/65536/65535/g' rinetd.c
# 创建目录
mkdir -p /usr/man
# 编译并安装
make && make install
# 编辑配置文件
vi /etc/rinetd.conf
# 表示将所有发往本机80、8080端口的请求转发到192.168.13.1的80、8080端口(0.0.0.0表示本机绑定所有可用地址)
# 将下面的内容添加到rinetd.conf文件内,wq保存。
0.0.0.0 80 192.168.13.1 80
0.0.0.0 8080 192.168.13.1 80
# 启动rinetd
rinetd -c /etc/rinetd.conf
TCP端口转发(centos7)的更多相关文章
- 使用 ssh -R 建立反向/远程TCP端口转发代理
转自:https://yq.aliyun.com/articles/8469 ssh是一个非常棒的工具, 不但能建立动态转发, 例如chrome的Switchy插件用到的就是这个技术.http://b ...
- windows操作系统自带的TCP端口转发
假定需要通过192.168.1.8的14941端口连接192.168.1.118的1494端口,则需要在192.168.1.8主机的命令行输入如下语句netsh interface ipv6 ins ...
- powerCat进行常规tcp端口转发
实战中,我们也会遇到需要我们进行端口转发的情况,比如已经拿下的目标机1是在dmz区,而目标1所在内网的其他目标只能通过目标1去访问,这时候我们就需要端口转发或者代理来进行后渗透.这次就要介绍一个加强版 ...
- rinetd基于内网TCP端口转发
在Linux系统中大多数情况选择用iptables来实现端口转发,iptables虽然强大,但配置不便,而且新手容易出错.在此分享另一个TCP/UDP端口转发工具rinetd,rinetd体积小巧,配 ...
- 免费内网映射外网绑定,tcp端口转发(windows)
在tcp socket开发过程中,想要外网客户端映射到本地启动的tcp服务端,总结本地tcp端口映射外网方法: 1.打开ngrok后注册用户,网址 ngrok:https://www.ngrok.cc ...
- 全平台正向tcp端口转发工具rinetd的使用
Linux下做地址NAT有很多种方法.比如haproxy.nginx的4层代理,linux自带的iptables等都能实现.其实,Linux下有一个叫rinetd的工具,安装简单,配置也不复杂. 下载 ...
- 基于常规DNS隧道进行的tcp端口转发dns2tcp的使用
0x01 安装Dns2TCP dns2tcp 是一个利用DNS隧道转发TCP连接的工具,使用C语言开发. sudo apt-get install dns2tcp 0x02配置dns2tcp 配置DN ...
- cdn贝四层协议配置端口映射TCP端口转发
端口映射就是将外网主机的IP地址的一个端口映射到内网中一台机器,提供相应的服务.当用户访问该IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上.端口映射有动态和静态之分 1.安装好节点后初 ...
- Linux socat轻松实现TCP/UDP端口转发
1.TCP端口转发 socat -d TCP4-LISTEN:,reuseaddr,fork TCP4: 2.UDP端口转发 socat -T UDP4-LISTEN:,reuseaddr,fork ...
随机推荐
- A1078. Hashing
The task of this problem is simple: insert a sequence of distinct positive integers into a hash tabl ...
- 【洛谷P1248】加工生产调度
题目大意:某工厂收到了n个产品的订单,这n个产品分别在A.B两个车间加工,并且必须先在A车间加工后才可以到B车间加工.某个产品i在A.B两车间加工的时间分别为Ai.Bi.怎样安排这n个产品的加工顺序, ...
- mysql 之各种 join 之间的关系
一.了解一下 mysql 中所拥有的各种 join left join(左联接):返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接):返回包括右表中的所有记录和左表中 ...
- H3C常用命令详解
H3C常用命令详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 1.关闭后台日志输出 <yinzhengjie>sys [yinzhengjie]undo info- ...
- ajax跨域原理和cors跨域资源共享
不需要设置前端太多,只需要在服务端是在请求头,使服务端的回复数据可以正常通过浏览器的限制,进入网站 首先说下简单请求和非简单请求: 简单请求:必须满足下列条件 1.请求方式:head,get,post ...
- Hive记录-Hive on Spark环境部署
1.hive执行引擎 Hive默认使用MapReduce作为执行引擎,即Hive on mr.实际上,Hive还可以使用Tez和Spark作为其执行引擎,分别为Hive on Tez和Hive on ...
- [译]Quartz.NET 框架 教程(中文版)2.2.x 之第七课 触发监听器和作业任务监听器
第七课:触发监听器和作业任务监听器 监听器是在调度器中基于事件机制执行操作的对象.你大概可以猜到,触发监听器接收响应跟触发器有关的事件,作业任务监听器接收响应跟作业任务有关的事件. 跟触发器有关的事件 ...
- axios - 基于 Promise 的 HTTP 异步请求库
axios 是基于 Promise 的 HTTP 请求客户端,可同时在浏览器和 node.js 中使用.Vue 更新到2.0之后,作者就宣告不再对 vue-resource 模块更新,而是推荐使用 a ...
- MyBatis联合查询和使用association 进行分步式查询
查询Emp的同时,查出emp对应的部门Department 方法1:联合查询,使用级联属性封装结果集 <!-- 联合查询,使用级联属性封装结果集 type:要自定义规则的javaBean类型 i ...
- C++函数返回局部变量
函数不能返回指向栈内存的指针 原因:返回值是拷贝值,局部变量的作用域为函数内部,函数执行结束,栈上的局部变量会销毁,内存释放. 可返回的局部变量: 1. 返回局部变量本身 int sum(int a, ...